Differences between revisions 31 and 307 (spanning 276 versions)
Revision 31 as of 2012-02-21 08:05:58
Size: 21312
Editor: ?AlishamsHassam
Comment:
Revision 307 as of 2020-09-14 09:06:13
Size: 41826
Editor: ?Guido Günther
Comment: Update the etnaviv link
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Debian on Smartphones/Tablets =

Please add some valuable information to help this project move forward. :)
= Debian on mobile devices =
Line 7: Line 5:
<<TableOfContents(4)>>

== About ==

Debian is the universal operating system. Thus, it needs to run on smartphone/tablet hardware. This wiki page is a tool to help bring Debian to mobile platforms.

It would be great if Debian could run on many kinds of smartphone hardware: iPhones, Android capable HW, Windows Mobile HW, etc.

The software should allow dual booting, into both Debian and any software that came with the hardware.

Debian on smartphones should have GUI capabilities, appropriate to the hardware capabilities.
<<TableOfContents(1)>>

= About =

Debian is the universal operating system. Thus, it should run on mobile devices. This wiki page is a tool to help bring Debian to mobile platforms.

It would be great if Debian could run on many kinds of mobile devices: iPhones, Android capable HW, Windows Mobile HW, tablets, but this is very unlikely to happen anytime soon for the majority of devices.

Devices built to run FLOSS stacks are more promising alternatives, for example PinePhone and Librem 5.

Debian on mobile devices should have GUI capabilities, appropriate to the hardware capabilities.
Line 21: Line 19:
Debian might benefit from having its own User Interface, or UIs, based on progression from the desktop Debian UIs - ex, GNOME or KDE. It would be great if the GNOME, KDE and other GUI communities could come to agreement on a common UI for Debian, to save unnecessary duplication of development effort, both of the Debian UI, and application software for Debian.  Also to save the users from having to learn unnecessary extra UIs. Debian might benefit from having its own User Interface, or UIs, based on progression from the desktop Debian UIs - ex, GNOME or KDE. It would be great if the GNOME, KDE and other GUI communities could come to agreement on a common UI for Debian, to save unnecessary duplication of development effort, both of the Debian UI, and application software for Debian.
Line 27: Line 25:
=== Contributions === = Contributions =
Line 41: Line 39:
Thanks for reading. Thanks for thinking. Thanks for all contributions you make. Let's all work together to enable Debian to fulfil its promise as "The Universal Operating System". :)


== Contact ==

To chat about Debian on mobile devices, please join the [[irc://irc.debian.org/debian-mobile|#debian-mobile]] IRC channel on irc.debian.org.
 * [[http://lists.debian.org/debian-mobile/|debian-mobile mailing list]] is intended to be about the various mobile User Interfaces.

other discussions will be appropriate to have on the following lists instead:

 * http://lists.debian.org/debian-handheld/
 * http://lists.debian.org/debian-embedded/
 * http://lists.debian.org/debian-arm/
 * http://lists.debian.org/debian-cd/
 * http://lists.debian.org/debian-devel/
== People ==

Here are some people interested in running Debian on smartphones.
Thanks for reading. Thanks for thinking. Thanks for all contributions you make. Let's all work together to enable Debian to fulfil its promise as "The Universal Operating System".

== Use of the Debian bug tracking system ==

Bugs related to Debian on mobile devices may have usertags with the user `debian-mobile@lists.debian.org`. These usertags are currently defined:
 * [[https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=user-interface;users=debian-mobile@lists.debian.org|user-interface]]: mobile user interface related bugs, e.g. intents to package UI software or necessary changes of existing UI to improve user experience on small screens or styles input etc.

= Contact =

If you want to chat about Debian mobile user interfaces, please join the [[irc://irc.debian.org/debian-mobile|#debian-mobile]] IRC channel on irc.debian.org or subscribe to the [[http://lists.debian.org/debian-mobile/|debian-mobile mailing list]]. If you are interested in kernel, bootloader or middleware related issues you might want to join the [[irc://irc.debian.org/debian-mobile|#debian-arm]] IRC channel instead. Other discussions will be appropriate to have on these lists instead: [[http://lists.debian.org/debian-embedded/|debian-embedded]] [[http://lists.debian.org/debian-arm/|debian-arm]] [[http://lists.debian.org/debian-kernel/|debian-kernel]] [[http://lists.debian.org/debian-cd/|debian-cd]] [[http://lists.debian.org/debian-devel/|debian-devel]] [[https://lists.alioth.debian.org/cgi-bin/mailman/listinfo/android-tools-devel|android-tools-devel]]

= Meetings =

 * [[https://debconf18.debconf.org/talks/2-debian-on-mobile-devices/|DebConf18 BoF]]: [[/BoF201807#Agenda|agenda]], [[/BoF201807#Notes|notes]]
 * [[https://debconf17.debconf.org/talks/78/|DebConf17 BoF]]: [[/BoF201708#Agenda|agenda]], [[/BoF201708#Notes|notes]]
 * [[http://penta.debconf.org/dc12_schedule/events/947.en.html|DebConf12 BoF]]: [[https://lists.debian.org/1345373756.2710.84.camel@chianamo|notes]], [[http://meetings-archive.debian.net/pub/debian-meetings/2012/debconf12/high/947_Debian_mobile_BoF.ogv|video]]

= People =

Here are some people interested in running Debian on mobile devices.
Line 61: Line 61:
|| [[PaulWise|Paul Wise]] || pabs || !OpenMoko !FreeRunner || Offer advice || Linux mainline support for the FR, !QtMoko in Debian ||
|| [[DidierRaboud|Didier Raboud]] || OdyX || !OpenMoko !FreeRunner || Get paid to work towards Debian on Mobile devices :-p || ||
|| [[SiceloMhlongo|Sicelo Mhlongo]] || Sicelo || Nokia N900 || Help with testing || Working Debian on N900 with UMTS/GPRS access ||
|| [[AlishamsHassam|Alishams Hassam]] || Zeroedout || !OpenMoko !FreeRunner, Google Nexus One || Help maintain wiki, file bugs, test new things || Mainline FR support, !QtMoko in Debian, Debian on the Nexus One, SHR on a Debian base||
|| [[PaulWise|Paul Wise]] || pabs || probably-dead [[http://wiki.openmoko.org/wiki/User:PaulWise|Openmoko FreeRunner]] || Offer advice || Linux mainline support for the Neo900 ||
|| [[DidierRaboud|Didier Raboud]] || OdyX || Openmoko !FreeRunner || Get paid to work towards Debian on Mobile devices :-p || ||
|| [[SiceloMhlongo|Sicelo Mhlongo]] || Sicelo || Nokia N900, Motorola Droid 4 || Help with testing and documentation || Working Debian on N900 and Droid 4 with UMTS/GPRS access and voice calls ||
|| Alishams Hassam || Zeroedout || Openmoko !FreeRunner, Google Nexus One || Help maintain wiki, file bugs, test new things || Mainline FR support, !QtMoko in Debian, Debian on the Nexus One, SHR on a Debian base||
|| [[Timo Jyrinki]] || Mirv || GTA04, Nokia N9, Nokia N950, LG Nexus 4, Jolla || Maintain some of the FR stuff, maybe do something to put Debian on [[http://wiki.debian.org/Mobile/Nokia_N9|N9]], etc. || More productized stuff via FSO, oFono etc. packaging to support more phones ||
|| [[JonasSmedegaard]] || jo0nas || Openmoko !FreeRunner * 2, Nokia N900, !GeeksPhone One, Samsung Galaxy S3 || Improve ways to bootstrap, test || more stuff packaged in mainline Debian - with sensible defaults ||
|| Jonathan Michalon || johndescs || Samsung Galaxy Note 1 || test, learn stuff, help || Have Debian in dualboot with Android and be able to do all basic tasks from it. ||
|| Philipp Hug || hug || Nokia N900, N9, various Android devices || Maintain mobile-related packages, test|| Debian on Android ||
|| MichaelDorrington || - || N900, GTA04 || Test || Debian being Pocket Computer (aka Smart Phone) friendly ||
|| Lukas Maerdian || slyon || GTA04, GTA02, Palm Pre || Develop FSO, bootstrap Debian for new devices || Nice UI based on FSO and Debian for GTA04. ||
|| Tomas Caram || Tomich || Moto A1200r, Samsung Galaxy S (I9000b) || test, learn stuff, help, compile, make scripts || ... ||
|| Eva Ramon || eramon || Nokia N9, Nokia N900, Galaxy Note 10.1 || Package mobile software, test, help with the installer || chroot Debian on Android, dual boot ||
|| David Derby || dderby (freenode) || N900, N950, Droid 4, Nexus 5, PinePhone prototype shipping soon || --(Continue to improve [[https://github.com/dderby/debian900|DebiaN900]] scripts)-- Contribute to Maemo Leste || Mainline Linux running well on a variety of phones ||
|| W. Martin Borgert || no IRC, but xmpp:debacle@debian.org || [[InstallingDebianOn/GPD/Pocket|GPD Pocket]], Librem 5 dev board, hopefully soon: Pyra || work on Debian for that devices || run unchanged Debian on that devices ||
|| [[Karl Goetz|kgoetz]] || Kamping_Kaiser (rarely on irc.debian, usually free node) || N900, 2x Openmoko !FreeRunner, various android devices || Test things || An N900 experience on newer devices and newer Debian ||
|| Ida Boustead (HezuKame) || No IRC, but hezukame@gmail.com || Samsung Galaxy S8+ (SM-G955F) Exynos8895 || Port Debian to my phone and maintain it. || To be able to fully replace Android with Debian as my main OS on my phone. ||
|| Danny Colin || sdk || Pinephone CE || Bug hunting || Use the pinephone w/ Debian as my daily driver ||
|| Guido Günther || agx_ || Librem5 / N900 / WeTab || Work towards using Debian daily on my mobile devices || ||

= Groups =

  * The people who work on various [[#software-distros|distributions]]
  * [[http://www.freesmartphone.org/|FSO]]: umbrella project for free software on smartphones, grew out of the !OpenMoko community
  * [[http://www.linaro.org/|Linaro]]: pushes upstream development on ARM, they work on Linux, GCC and related low-level stuff.
  * [[http://www.tinkerphones.org/|TinkerPhones (formerly OpenPhoenux)]]: development of tinker-friendly phones that can run mainline linux and thus Debian.
  * [[http://forum.xda-developers.com/|XDA Developers forum]]: reverse engineering and developer discussion for Android and Windows devices
  * [[http://elinux.org/CE_Workgroup|CE Workgroup]]: workgroup in the LF working on [[http://elinux.org/CE_Workgroup_Device_Mainlining_Project|Linux mainlining]]
  * [[AndroidTools|Debian Android tools team]]: working on packaging Android development tools (such as the SDK) for Debian
  * [[Teams/DebianOnMobile|DebianOnMobile team]]: Package software for Linux based mobile phones (currently focused around GNOME/Phosh based stack)
Line 68: Line 93:
== General ==

Learn software development.

Port low-level stuff to a device.

Package some middleware.

Package a user experience.

Package applications that can deal with small screens and touch input.

Build images for users to flash onto the device.

Get hardware to developers.
Learn software development. Port low-level stuff to a device. Package some middleware. Package a user experience. Package applications that can deal with small screens and touch input. Build images for users to flash onto the device. Get hardware to developers.

== Articles ==

 * [[https://cascardo.eti.br/blog/GNU_on_Smartphones_part_II/|GNU on Smartphones]]
 * [[http://bonedaddy.net/pabs3/log/2012/12/03/debian-mobile/|Debian on mobile devices]]
 * [[https://www.thanassis.space/android.html|Freeing my tablet]]
 * [[http://whiteboard.ping.se/Android/Debian|How to run Debian or Ubuntu GNU/Linux on your Android]]
 * [[https://www.xda-developers.com/guide-installing-and-running-a-gnulinux-environment-on-any-android-device/|Installing and Running a GNU/Linux Environment on Any Android Device]]
 * [[HowtoDebianInAndroid|Simple HowTo Debian in Android HTC G1 without chroot (Native)]]
 * [[http://julianwi.square7.ch/debian-on-smartphone/|Install debian on a smartphone and get the text console working]]
Line 110: Line 131:
This is most of the work. It is important to get your changes into Linux/u-boot mainline otherwise Debian will not be able to support your device since the Linux kernel team for Debian will not add non-mainline drivers/patches to Debian kernels and therefore you won't be able to support Debian on the phone you care about. It will be made easier since the Android drivers probably already exist and can be ported to mainline Linux. Some hardware vendors will be violating the GPL and not releasing drivers/patches. You might be able to get the code by contacting them or getting the SFLC or gplviolations.org involved. This is most of the work. It is important to get your changes into Linux/u-boot mainline otherwise Debian will not be able to support your device since the Linux kernel team for Debian will not add non-mainline drivers/patches to Debian kernels and therefore you won't be able to support Debian on the phone you care about. It will be made easier since the Android drivers probably already exist and can be ported to mainline Linux. Some hardware vendors will be violating the GPL and not releasing drivers/patches. You might be able to get the code by contacting them or getting the [[https://sfconservancy.org/linux-compliance/|Software Freedom Conservancy]] or [[http://gpl-violations.org/|gpl-violations.org]] involved.
Line 114: Line 135:
Pick some middleware, join the packaging group for it or package it for Debian and look for some sponsors.

Existing middleware includes [[http://freesmartphone.org/|FSO]] (in Debian), [[DebianPackage:ofono|oFono]] (in Debian), [[http://pyneo.org|pyNeo]], Android/MeeGo/Maemo.
Pick some [[#software-middleware|middleware]], join the packaging group for it or package it for Debian and look for some sponsors.
Line 122: Line 141:
There are numerous existing FLOSS UXen for smartphones and similar devices. As the universal OS, Debian should aim to support several of these.

 * [[http://source.android.com/|Android]]: Canonical [[http://arstechnica.com/open-source/news/2009/05/canonical-developers-aim-to-make-android-apps-run-on-ubuntu.ars|allegedly]] was porting it to Ubuntu two years ago
 * [[http://meego.com/devices/handset|MeeGo]]: there is a general [[Teams/PkgMeeGo|Debian MeeGo packaging team]], they may be interested
 * [[http://maemo.org/|Maemo]]: distribution based on Debian, talk of merging it, [[pkg-n900]] exists
 * [[http://www.gnome.org/mobile/|GNOME Mobile]]: not packaged, [[Teams/DebianGnome|GNOME team]] might be interested?
 * [[http://community.kde.org/Plasma/Plasma-Mobile|KDE Plasma Mobile]]: might already be in Debian, clarify with the KDE team
 * [[http://www.enlightenment.org/|E17]]/Illume: available in Debian now, packaged by the [[PkgE|pkg-e]] team
 * [[http://www.defora.org/|DeforaOS]]: releases Debian packages
 * [[http://qtmoko.org/|QtMoko]]: distribution based on Debian
 * [[http://pyneo.org/|PyNeo]]: distribution based on Debian
 * [[http://www.qalee.org/|Qalee]]: no Debian packaging effort
 * [[http://www.quantum-step.com/|QuantumSTEP]]: no Debian packaging effort
 * [[http://gpe.linuxtogo.org/|GPE]]: already in Debian for years. palmtop, no phone component yet, more suitable for stylus based devices.
There are numerous [[#software-ui|existing FLOSS UXen]] for mobile devices. As the universal OS, Debian should aim to support several of these.
Line 139: Line 145:
Start an index of touch-screen friendly apps and package some of them.
Most of them will be OpenMoko ones since that was the first free
software friendly phone. So read their wiki and related sites a lot.
Package some touch-friendly [[#software-apps|applications]].
Line 153: Line 157:
== Related projects ==

 * Debian CPU ports: [[http://www.debian.org/ports/arm/|arm]] [[ArmHardFloatPort|armhf]] ([[http://lists.debian.org/debian-arm/|mailing list]], [[irc://irc.debian.org/debian-arm|IRC channel]])
 * Debian phone ports: [[DebianOnFreeRunner|OpenMoko FreeRunner]], [[DebianOnNeo1973|OpenMoko Neo1973]], [[pkg-n900|Nokia N900]]
 * External projects:
  * [[http://www.emdebian.org/|Emdebian]]: cut down version of Debian for small and embedded devices
  * [[http://www.freesmartphone.org/|FSO]]: umbrella project for free software on smartphones
  * [[http://shr-project.org/|SHR]]: distribution for smartphones based on OpenEmbedded and FSO softare
  * [[http://www.linaro.org/|Linaro]]: pushes upstream development on ARM, they work on Linux, GCC and related low-level stuff.

= Software Layers =
== Install howtos ==

  * [[ChrootOnAndroid|Chroot on Android]]
  * [[MaemoAndSqueeze|Debian Squeeze dual-booting with Maemo 5]]
  * More links in the [[#Devices|devices]] and [[#software-installers|installers]] sections.

= Software =

<<Anchor(jailbreak)>>
<<Anchor(root)>>
<<Anchor(unlock)>>
<<Anchor(exploit)>>
== Jailbreaking, Rooting, Unlocking, Exploits ==

 * [[https://github.com/OpenJailbreak/|OpenJailbreak]], [[https://github.com/axi0mX/ipwndfu|ipwndfu]]: jailbreaking iOS devices
 * [[https://github.com/android-rooting-tools|android-rooting-tools]]: rooting Android devices
 * [[http://theroot.ninja/|SunShine]]: (proprietary) bootloader unlock for HTC/Motorola devices ([[http://theroot.ninja/disclosures/|disclosures]])
 * [[http://www.wpinternals.net/|WP Internals]]: (proprietary) rooting Windows devices
 * Other: [[https://redmine.replicant.us/projects/replicant/wiki/RootingDevices|Replicant guide to rooting Android devices]]
 * See also the [[#devices|devices]] section and the [[Exploits|exploits]].

<<Anchor(software-installers)>>
== Installers ==

 * [[https://play.google.com/store/apps/details?id=info.guardianproject.lildebi|Lil Debi]]: Debian chroot manager for Android
 * [[http://sven-ola.dyndns.org/repo/debian-kit-en.html|Debian Kit]] by Sven-Ola, an easy chroot kit (uses Android kernel to run a Debian from a loop sdcard disc image).
 * More on the ChrootOnAndroid page.

<<Anchor(software-flashers)>>
== Flashers and USB booting ==

 * [[DebianPackage:0xffff|0xFFFF]]: flasher for Nokia Internet Tablets based on the NOLO bootloader
 * [[DebianPackage:dfu-util]]: flasher for devices supporting the DFU 1.0 protocol. In practice this means the OpenMoko gta01 and gta02 and maybe other devices like the [[http://theiphonewiki.com/wiki/DFU_Mode|iPhone]].
 * [[DebianPackage:fastboot|Fastboot]]: flasher and memory booter for devices based on Android
 * [[DebianPackage:heimdall-flash|Heimdall]]: flasher for some Samsung phones
 * [[https://github.com/linux-rockchip/rkflashtool|rkflashtool]]: flasher for Rockchip based devices
 * [[https://github.com/boundarydevices/imx_usb_loader|imx_usb_loader]]: flash devices using Freescale i.MX5/i.MX6 and Vybrid SoCs via the Serial Download Protocol (SDP)

<<Anchor(software-firmware)>>
== Firmware ==

 * [[http://bb.osmocom.org/|OsmocomBB]]: free software for GSM baseband devices, currently only for the baseband on the Openmoko FreeRunner and related devices
 * [[https://blog.fossencdi.org/nonfree-firmware-android.html|firmwares_nonfree]]: script to download and install proprietary firmware for Android devices

<<Anchor(software-bootloader)>>
Line 166: Line 204:
GRUB u-boot OpeniBoot
 * [[DebianPackage:qi|Qi]]: supports gta01, gta02
 * [[DebianPackage:u-boot|u-boot]]: supports various devices, forks for: [[http://wiki.openmoko.org/wiki/U-Boot|gta01/gta02]]

<<Anchor(software-kernel)>>
Line 169: Line 209:
  Bluetooth <<BR>>
  Cell Phone Network - Phone <<BR>>
  Cell Phone Detwork - Data <<BR>>
  Wifi <<BR>>
  USB <<BR>>

== UI ==

 * [[DebianPackage:src:linux|Linux]]: supports some devices, forks for specific devices in various [[#software-distros|distributions]].

<<Anchor(software-drivers)>>
== Drivers ==

 * GPU drivers:
  * [[https://github.com/tom3q/openfimg/wiki|OpenFIMG]]: FIMG 3DSE core from Samsung !SoCs (inc !S3C6410, !S5P6442 and S5PC100)
  * [[http://limadriver.org/|Lima]]: ARM Mali (inc Mali-200 and Mali-400)
    * experimental [[https://github.com/yuq/mesa-lima|mesa]]/[[https://github.com/yuq/linux-lima|Linux]] drivers in progress
    * [[https://notabug.org/cafe/chai|Chai]]: Mali T-series
  * [[http://freedreno.github.com/|freedreno]]: Qualcomm Adreno
  * [[http://powervr.gnu.org.ve/|PowerVR]]: Imagination PowerVR
    * [[https://github.com/openpvrsgx-devgroup|OpenPVRSGX Linux Driver Group]]: An effort to lay common foundation to make PVR/SGX work without hacks on OMAP34xx, OMAP36xx, AM335x and potentially OMAP4, OMAP5. ([[https://www.pyra-handheld.com/pipermail/kernel/2019-February/003094.html|Related ML thread]])
  * [[https://linux-sunxi.org/CedarX/Reverse_Engineering|cedarus]]: GPU from Allwinner A10 !SoCs
  * [[https://github.com/hermanhermitage/videocoreiv|videocoreiv]]: Broadcom !VideoCore GPUs
  * [[https://github.com/etnaviv]]: Vivante GCxxx GPUs
  * [[https://github.com/grate-driver|grate-driver]]: official nvidia Tegra open driver
  * [[https://github.com/kusma/tegra-re/|tegra-re]]: nvidia Tegra reverse engineering project
  * [[http://www.bitwiz.org.uk/s/dri-for-the-freerunner.html|DRI for the Freerunner]]: SMedia Glamo3362 from the !OpenMoko !FreeRunner
 * Other:
  * [[https://github.com/lunixbochs/glshim|glshim]]: video acceleration for OpenGL 1.x software on mobile devices that use OpenGL ES. /!\ note that this isn't needed for GPUs with Free Software drivers because mesa supports both OpenGL 1.x and OpenGL ES on the same hardware.
  * [[https://github.com/lunixbochs/tinygles|TinyGLES]]: a software OpenGL ES driver, intended for use with glshim
  * [[https://swiftshader.googlesource.com/SwiftShader|SwiftShader]]: a high-performance CPU-based implementation of the OpenGL ES and Direct3D 9 graphics APIs12. Its goal is to provide hardware independence for advanced 3D graphics. ([[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=909156|RFP]])


<<Anchor(software-middleware)>>
== Middleware ==

 * [[http://www.freesmartphone.org/|FSO]]: [[DebianPackage:src:fso|packaged]] by the [[https://wiki.debian.org/Teams/DebianFSO|pkg-fso]] team
 * [[DebianPackage:ofono|oFono]]
 * [[http://pyneo.org|pyNeo]]
 * [[Mobile/Ubuntu#Libraries_.2F_middleware|Ubuntu]]: some pieces like ofono, Qt libraries, could be synced relatively directly from Ubuntu
 * others in Android/MeeGo/Maemo/Tizen/FirefoxOS
 * [[http://www.chromium.org/chromium-os/chromiumos-design-docs/cras-chromeos-audio-server|CRAS: Chromium OS Audio Server]]. Looks like a good option for mobile devices. [[https://events.linuxfoundation.org/sites/events/files/slides/CRAS%20ELC%202014%20%281%29.pdf|Further information]]. [[https://chromium.googlesource.com/chromiumos/third_party/adhd/|Source code]].
 * [[http://www.shashlik.io/|Shashlik]]: a way to run Android apps on GNU/Linux distros.
 * [[https://anbox.io/|Anbox]]: a way to run Android apps on GNU/Linux distros.
 * [[http://forums.webosnation.com/android-webos/327344-pre3-androidchroot-run-android-inside-webos.html|AndroidChroot]]: a way to run Android apps on webOS.
 * [[https://talk.maemo.org/showthread.php?t=95631|sfdroid]]: a way to run Android apps on Sailfish OS.
 * [[https://developer.chrome.com/apps/getstarted_arc|ARC]]: a way to run Android apps on Chrome OS. [[https://sites.google.com/a/chromium.org/dev/chromium-os/chrome-os-systems-supporting-android-apps|Further information]]. [[https://chromium.googlesource.com/arc/arc/ |Source code]].
 * [[https://archon-runtime.github.io/|ARChon]]: a way to run Android apps under the Chrome web browswer. Source code: [[https://github.com/vladikoff/chromeos-apk|1]], [[https://bitbucket.org/vladikoff/archon|2]]. [[https://packages.debian.org/unstable/chromium|Chromium for Debian]].
 * [[http://pakesson.se/2011/05/16/paralleldroid/|ParallelDroid]]: a way to run Android apps on desktop Linux in an X11 window.
 * [[https://microg.org/|microG]]: libre replacements for Google’s proprietary Android user space apps and libraries.
 * [[https://github.com/libhybris/libhybris|Hybris/libhybris]]: allows the use of non-free binary blobs (for example [[https://sailfishos.org/develop/hadk/|Sailfish OS Hardware Adaptation Development Kit]]) that were compiled against the bionic Android libc on glibc based systems. Useful to avoid having to develop open source drivers and possibly for reverse engineering binary blobs.

<<Anchor(software-ui)>>
== User interface ==

 * [[http://plasma-mobile.org/|KDE Plasma Mobile]]
 * [[https://dot.kde.org/2016/03/30/kde-proudly-presents-kirigami-ui|KDE Kirigami UI]]: A framework oriented towards building mobile or convergent mobile/desktop applications using Qt.
 * [[http://www.enlightenment.org/|Enlightenment]]: Provides "Illume", which optimises the interface for mobile devices. [[DebianPackage:enlightenment|Packaged]] by the [[PkgE|pkg-e]] team. Previously packaged as [[DebianPackage:e17|E17]] (stretch and earlier).
 * [[http://www.bodhilinux.com/moksha-desktop/|Moksha]]: E17 fork
 * [[http://wiki.mozilla.org/Gaia|Gaia]]: interface for FirefoxOS
 * Mer/Nemo Mobile: The open parts of [[Mobile/Jolla|Jolla]]
 * [[WikiPedia:Hildon]]: [[https://wiki.gnome.org/Attic/Hildon|Main website]], [[https://github.com/community-ssu|Maemo CSSU repositories]], [[https://github.com/Cordia|Cordia]] (contains some stuff for GTK3) [[https://talk.maemo.org/showthread.php?t=96800|Latest GTK3 work]] ([[https://anonscm.debian.org/gitweb/?p=pkg-maemo/hildon-desktop.git|old Debian packages]])
 * [[Mobile/Ubuntu|Ubuntu]]: many Qt/QML libraries, applications, the Unity 8 shell
 * [[https://developer.tizen.org/development/guides/native-application/user-interface|Tizen UI]]: Based on Enlightenment and EFL, supports native and web applications. Source code: [[https://review.tizen.org/git/?a=project_list;pf=platform/core/uifw|1]] [[https://review.tizen.org/git/?a=project_list;pf=framework/uifw|2]]
 * [[https://wiki.merproject.org/wiki/Nemo/Glacier|Glacier]]: Replacement UI for Nemo. [[https://github.com/nemomobile-ux|Source code]].
 * [[https://github.com/julianwi/fbkeyboard|fbkeyboard]]: Screen keyboard for linux text console. Useful on devices without hardware keyboard.
 * [[https://github.com/postmarketOS/osk-sdl|osk-sdl]]: On-Screen-Keyboard based on SDL2

Discontinued:

 * [[http://gpe.linuxtogo.org/|GPE]]: [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727163|removed from Debian]], suitable for stylus-based devices
 * [[https://github.com/robotanarchy/penguinphone|penguinphone]]

<<Anchor(software-apps)>>
Line 178: Line 278:
  Phone <<BR>>
  Internet tethering


= Running original OSs: =
  Android
  Blackberry
  iPhone
  Nokia
  Palm
  Windows

= Other Native Linux non-Android Ports to Android Phones: =

== Native Ubuntu on Nexus S ==

Apparently, Ubuntu can run natively on a Nexus S. Maybe we can learn from this effort and port debian natively to multiple devices:

http://forum.xda-developers.com/showthread.php?p=10486278

== HTC Linux ==

http://htc-linux.org/wiki/index.php?title=Main_Page

=== HTC Dream ( The T-Mobile G1 Phone ) ===

http://htc-linux.org/wiki/index.php?title=Dream

=== HTC Linux Device List ===

http://htc-linux.org/wiki/index.php?title=Devices

= Processor Technologies =

== ARM ==
http://arm.com/

=== Samsung ===

= Cell Phone Companies =
  ATT
== Sprint/VirginMobil ==
http://www.virgin.com/gateways/mobile/

  TMobile
  Verizon

= Hardware & Smartphone Manufacturers product models/names =

== Android ==
http://www.cyanogenmod.com/
http://en.wikipedia.org/wiki/CyanogenMod

Android ROM developers
http://forum.xda-developers.com

http://en.wikipedia.org/wiki/Android_operating_system

== Blackberry ==

== Huawei ==
== HTC ==
  * [[http://www.android-devs.com/?p=152&cpage=1#comment-25|HTC Nexus1]]

== iPhone ==
== LG ==
== Motorola ==

=== Motorola Droid ===

Report of booting to a native copy of debian:

http://forum.xda-developers.com/showthread.php?t=1086302

== Nokia ==


 [[Mobile/Nokia_N9|Nokia N9/N950]]
'''Nokia N9''': Hardware adaptation and other pointers at [[Mobile/Nokia_N9|Nokia N9]] wiki page.

'''Nokia N900''': See [[pkg-n900]] wiki page.

[[http://wiki.maemo.org/Easy_Debian|Nokia N800/N810]]

== Openmoko ==

  * [[DebianOnNeo1973|Openmoko Neo1973 (GTA01)]]
  * [[DebianOnFreeRunner|Openmoko FreeRunner (GTA02)]]
  * [[DebianOnGTA04|"Openmoko" GTA04]] is running on Debian rootfs as well [[http://projects.goldelico.com/p/gta04-main/|[1]]]

== Palm ==

== Samsung ==

Samsung ROMs
http://forum.sdx-developers.com/

=== Intercept ===
Wikipedia Samsung M910 Intercept <<BR>>
 http://en.wikipedia.org/wiki/Samsung_Intercept <<BR>>
 How to root Samsung Intercept: <<BR>>
 http://forum.sdx-developers.com/intercept-development/ <<BR>>
CPU Samsung S3C6410 at 800 MHz <<BR>>
Memory 256 MB RAM <<BR>>
Storage 512 MB ROM <<BR>>

Qualcom radio, learned from discussion with Qualcom tech person.

Carriers Sprint, Virgin Mobile (US)
Compatible networks CDMA EVDO Rev. 0 (Sprint), CDMA EVDO Rev. A (Virgin Mobile)[1]

http://www.samsung.com/us/mobile/cell-phones/SPH-M910CAAVMU-features <<BR>>
http://www.samsung.com/us/consumer/mobile/mobile-phones/sprint-phones/SPH-M910ZKASPR/index.idx?pagetype=prd_detail <<BR>>
http://www.phonearena.com/phones/Samsung-Intercept_id4620 <<BR>>
http://www.samsung.com/us/mobile/cell-phones/SPH-M910CAAVMU-features <<BR>>
http://www.phonescoop.com/phones/phone.php?p=2649 <<BR>>

Samsung SPH-M910 Intercept Specs
http://pdadb.net/index.php?m=specs&id=2383&c=samsung_sph-m910_intercept <<BR>>
Detailed Technical Specifications of Samsung SPH-M910 Intercept
http://pdadb.net/index.php?m=specs&id=2383&view=1&c=samsung_sph-m910_intercept <<BR>>

Samsung S3C6410 RISC Microprocessor
http://pdadb.net/index.php?m=cpu&id=a6410&c=samsung_s3c6410 <<BR>>
devices based on S3C6410
http://pdadb.net/index.php?m=pdamaster&posted=1&cpu=a6410 <<BR>>




http://pdadb.net/index.php?m=cpu&id=a6410&c=samsung_s3c6410 <<BR>>
Samsung S3C6410 RISC Microprocessor
Simplified Technical Specifications

Type: S3C6410
Manufacturer: Samsung
Year Released: 2008
Predecessor: 32bit Samsung S3C6400
Characteristics
CPU Structure (complexity): RISC
Width of Machine Word: 32 bit
Primary (RAM) Data bus: 32 bit
Instruction Set
Supported Instruction Set(s): ARMv6
CPU Core: ARM1176JZF-S
Clock Frequencies
Recommanded Minimum Clock Frequency: 533 MHz
Recommanded Maximum Clock Frequency: 800 MHz
Caches
Level 1 cache: 16KiB data cache / 16 KiB instruction cache
Technology
Semiconductor Technology: CMOS
Minimum Feature Size: 65 nm
Contacts: 424 pins
Supply Voltage: 1.1 V
Additional Details
Special Features: 16/16KB I/D TCM, 2D/3D Graphics Acceleration (OpenGL ES 1.1/2.0), ARM TrustZone, AHB/AXI bus, 32 channel DMA controller, Instruction and Data Memory Management Units, 32KB secure boot ROM <<BR>>
Related Page: http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C6410 <<BR>>
Datasheet Time: Feb 13, 08 18:44:05 <<BR>>


Purchase: <<BR>>
http://sfbay.craigslist.org/search/?sort=priceasc&catAbb=mob&query=Intercept <<BR>>
http://cell-phones.shop.ebay.com/i.html?_nkw=Intercept&_sacat=9355&_dmpt=Cell_Phones <<BR>>



Similar to Samsung Moment SPH-M900
http://en.wikipedia.org/wiki/Samsung_Moment <<BR>>

Samsung SPH-M900 Moment Specs
http://pdadb.net/index.php?m=specs&id=2063&c=samsung_sph-m900_moment <<BR>>

Detailed Technical Specifications of Samsung SPH-M900 Moment
http://pdadb.net/index.php?m=specs&id=2063&view=1&c=samsung_sph-m900_moment <<BR>>


http://www.ifixit.com/Browse/Samsung_Phone <<BR>>
Samsung Galaxy S 4G Repair Manual
http://www.ifixit.com/Device/Samsung_Galaxy_S_4G <<BR>>
Samsung Galaxy S 4G Teardown
http://www.ifixit.com/Teardown/Samsung-Galaxy-S-4G-Teardown/4977/1 <<BR>>
Nexus S Repair Manual
http://www.ifixit.com/Device/Nexus_S <<BR>>
Nexus S Teardown
http://www.ifixit.com/Teardown/Nexus-S-Teardown/4365/1 <<BR>>




== Windows ==
 HTC

 * [[http://f-droid.org/|F-Droid]]: repository of FOSS Android-based applications
 * [[http://wiki.openmoko.org/wiki/Applications|OpenMoko]]: applications from the !OpenMoko development community
 * [[Mobile/Ubuntu#Applications|Ubuntu]]: core applications from Ubuntu Touch
 * [[DebianPackage:Empathy]] supports voice calls and short messages via [[DebianPackage:telepathy-ring]]

<<Anchor(software-distros)>>
== Distributions ==

 * [[http://www.debian.org/|Debian]]
 * [[http://www.emdebian.org/|Emdebian]]: discontinued cut down version of Debian for small and embedded devices
 * [[Mobile/Ubuntu#Devices|Ubuntu]]: Ubuntu for touchscreen based mobile devices
 * [[https://ubports.com/|UBports]]: community continuation of Ubuntu for mobile devices

 * [[http://qtmoko.org/|QtMoko]]: distribution based on Debian
 * [[http://pyneo.org/|PyNeo]]: distribution based on Debian
 * [[http://www.quantum-step.com/|QuantumSTEP]]

 * [[http://maemo.org/|Maemo]]: mobile distribution based on Debian
 * [[http://tizen.org/|Tizen]]: mobile distribution based on EFL, Debian/Ubuntu, backed by Samsung and others

 * [[http://developer.palm.com/|webOS]]: mobile distribution based on HTML/JS, !OpenEmbedded, backed by HP
 * [[http://www.webos-ports.org/|LuneOS]]: open source successor for webOS
 * [[http://webosose.org/|webOS OSE]]: open source successor for webOS from LG
 * [[http://www.mozilla.org/en-US/firefoxos/|FirefoxOS]]: Mozilla project to create an web-based OS
 * [[https://gerda.tech/|GerdaOS]]: aims to liberate !KaiOS, the proprietary !FirefoxOS derivative
 * [[https://wiki.gentoo.org/wiki/Project:Android|Gentoo on Android]]: Gentoo project to run Gentoo in a prefix on Android

 * [[http://merproject.org/|Mer]]: distribution aimed at re-use by device manufacturers
 * [[https://nemomobile.net/|Nemo]]: mobile distribution based on Mer (RPM), !MeeGo Handset UX, Qt
 * [[https://wiki.maemo.org/Cordia|Cordia]]: discontinued mobile distribution based on Mer (RPM), Maemo Hildon stack ported to newer GTK+/etc
 * [[http://seadot.org/|Seadot]]: mobile distribution based on Mer, successor for the !WeTab OS
 * [[http://sailfishos.org/|SailfishOS]]: commercial distro based on Mer
 * [[https://www.postmarketos.org/|postmarketOS]]: [[https://alpinelinux.org/|Alpine Linux]] derivative aimed at 10 year life-cycle for smartphones
 * [[https://maemo-leste.github.io/|Maemo Leste]]: aims to provide a free Maemo experience on mobile phones and tablets, built on top of Devuan Ascii (Debian Stretch)
 * [[https://www.pureos.net/|PureOS]]: is a derivative of Debian that will work on Librem5 the new device of [[https://puri.sm|Purism]] will be released at 2019
 * [[https://devuan.org/|Devuan]]: a fork of Debian, optimised for use without systemd. Provides images for a variety of [[https://files.devuan.org/devuan_ascii/embedded/|mobile and embedded devices]] built with the [[https://github.com/dyne/arm-sdk|arm-sdk]].
 * [[https://mobian-project.org/|Mobian]]: working on getting Debian on PinePhone and similar devices, with tweaks and configuration in an external repo

 * [[https://www.nixos.org/|NixOS]]: OS built on the Nix declarative package manager, has a [[https://mobile.nixos.org/|mobile effort]].

=== Android-based ===

 * [[http://source.android.com/|Android]]
 * [[http://replicant.us/|Replicant]]: aiming to remove all the blobs and non-free stuff from Android
 * [[http://omnirom.org/|OmniROM]]: a community Android derivative
 * CyanogenMod: a commercial Android derivative
 * [[http://lineageos.org/|LineageOS]]: renamed version of CyanogenMod community
 * [[http://asteroidos.org/|AsteroidOS]]: open-source operating system for smartwatches
 * [[https://maruos.com/|MaruOS]]: containers on Android
 * [[https://halium.org/|Halium]]: group maintenance of Android parts that cannot be added to normal GNU/Linux distributions, as well as compatibility shims. This includes proprietary blobs as well as Android forks of the Linux kernel.
 * [[https://grapheneos.org/|GrapheneOS]]: successor of CopperheadOS, a hardened fork of AOSP


= Devices =

General hardware support pages for various groups/distros:
[[https://github.com/freesmartphone/freesmartphone.github.io/blob/devel/fso-mediawiki-export/HardwareComparisonSimplified.md|FSO]]
[[https://git.kernel.org/cgit/network/ofono/ofono.git/tree/doc/hardware-support.txt|oFono]]
[[http://shr-project.org/trac/wiki/Devices|SHR]]
[[https://www.replicant.us/supported-devices.php|Replicant]]
([[https://redmine.replicant.us/projects/replicant/wiki/TargetsEvaluation|targets]])
[[https://omnirom.org/supported-devices/|OmniROM]] ([[http://docs.omnirom.org/Omni_Unofficial_Ports|unofficial ports]])
[[https://wiki.lineageos.org/devices/|LineageOS]]
[[https://wiki.merproject.org/wiki/Adaptations|Mer]]
[[http://webos-ports.org/wiki/Devices|webOS]]
[[https://devices.ubuntu-touch.io/|Ubuntu Touch]]
[[https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices|Firefox OS]]
[[https://wiki.gentoo.org/wiki/Android/Devices|Gentoo]]
[[https://wiki.postmarketos.org/wiki/Devices|postmarketOS]]
([[https://wiki.postmarketos.org/wiki/Device-Wishlist|wishlist]])
[[https://asteroidos.org/wiki/porting-status/|AsteroidOS]]
[[https://mobile.nixos.org/devices/|NixOS]]

Porting guides for various groups/distros:
[[https://ofono.org/wiki/how-enable-modem-ofono|oFono]]
[[http://shr-project.org/trac/wiki/Device%20Porting%20Guide|SHR]]
([[http://shr-project.org/trac/wiki/Android%20Porting%20Guide|Android devices]])
Replicant
([[http://trac.osuosl.org/trac/replicant/wiki/How_to_port_Replicant|1]],
[[http://redmine.replicant.us/projects/replicant/wiki#Developing-on-Replicant|2]],
[[http://redmine.replicant.us/projects/replicant/wiki/DeveloperGuide|3]])
[[http://docs.omnirom.org/Porting_Omni_To_Your_Device|OmniROM]]
[[https://wiki.lineageos.org/submitting_device.html|LineageOS]]
[[https://wiki.merproject.org/wiki/Adaptation_Guide|Mer]]
[[http://www.openwebosproject.org/docs/porting_guide/|webOS]]
[[https://wiki.tizen.org/wiki/Porting_Guide|Tizen]]
[[http://www.jollausers.com/2014/07/sailfish-os-hardware-adaptation-dev-kit-release-1-0/|SailfishOS]]
[[https://wiki.ubuntu.com/Touch/Porting|Ubuntu Touch]]
[[https://wiki.mozilla.org/B2G/Porting|FirefoxOS]] ([[https://developer.mozilla.org/en-US/Firefox_OS/Porting|2]]).
[[https://wiki.postmarketos.org/wiki/Porting_to_a_new_device|postmarketOS]]
[[https://asteroidos.org/wiki/porting-guide/|AsteroidOS]]
[[https://mobile.nixos.org/porting-guide.html|NixOS]]

|| '''Name''' || '''Codename''' || '''Bootloaders''' || '''Linux''' || '''Operating systems''' || '''Other''' ||
||Gemini || Gemini || [[https://github.com/dguidipc/gemini-lk|LK]] || [[https://github.com/gemian/gemini-linux-kernel-3.18|fork]] || Android, [[https://support.planetcom.co.uk/index.php/Linux_Flashing_Guide|Debian]] || blobs in GSM,WiFi,BT, GPS; only BT not working; Android specific [[https://github.com/dguidipc|repo]] ||
||Cosmo Communicator || Cosmo_communicator || [[https://github.com/dguidipc/cosmo-lk|LK]] || [[https://github.com/gemian/cosmo-linux-kernel-4.4/|fork]] || Android, [[https://support.planetcom.co.uk/index.php/Linux_for_Cosmo|Debian]], UBPorts || blobs in GSM,WiFi,BT, GPS; only BT not working; UBPorts lacks physical keyboard drivers; CoDI (front display) not supported under Linux; Android specific [[https://github.com/dguidipc|repo]] ||
||Openmoko [[WikiPedia:Neo 1973]] || gta01 || || || [[DebianOnNeo1973|Debian]] [[http://wiki.openmoko.org/wiki/Distributions|more]] ||
||Openmoko [[WikiPedia:Neo FreeRunner]] || gta02 || [[DebianPackage:qi|qi]] or [[http://wiki.openmoko.org/wiki/U-Boot|forked]] u-boot || [[http://wiki.openmoko.org/wiki/Kernel/Upstreaming|Needs upstreaming]] || [[DebianOnFreeRunner|Debian]] [[http://qtmoko.sourceforge.net/|QtMoko]] [[http://shr-project.org/trac/wiki/Devices/OpenmokoFreerunner|SHR]] [[http://code.google.com/p/android-on-freerunner/|Android-on-FreeRunner]] [[http://wiki.openmoko.org/wiki/Distributions|more]] || blobs in !WiFi, GPS, GSM. [[http://redmine.replicant.us/projects/replicant/wiki/GoodPotentialTargets#Other-devices|GSM isolated]], [[http://bb.osmocom.org/trac/wiki/OpenMoko|semi-supported by OsmocomBB]]. Emulated by [[http://wiki.openmoko.org/wiki/Openmoko_under_QEMU|forked]] qemu. ||
|| Golden Delicious [[http://projects.goldelico.com/p/gta04-main/|Letux 2804]] || gta04 || [[http://projects.goldelico.com/p/gta04-uboot/|u-boot branch]] || [[http://projects.goldelico.com/p/gta04-kernel/|being upstreamed]] || [[http://projects.goldelico.com/p/gta04-rootfs/|Debian]] [[http://shr-project.org/trac/wiki/Devices/GTA04|SHR]] [[http://redmine.replicant.us/projects/replicant/wiki/GTA04|Replicant]] || blob sent to !WiFi ||
|| [[http://neo900.org/|Neo900]] || gta04b7 || [[http://projects.goldelico.com/p/gta04-uboot/|u-boot branch]] || Being upstreamed [[http://projects.goldelico.com/p/gta04-kernel/|1]] [[http://elinux.org/N900|2]] || [[http://projects.goldelico.com/p/gta04-rootfs/|Debian]] [[http://shr-project.org/trac/wiki/Devices/GTA04|SHR]] [[http://redmine.replicant.us/projects/replicant/wiki/GTA04|Replicant]] [[http://talk.maemo.org/showthread.php?t=91308|Maemo]] || ||
|| Samsung [[WikiPedia:Samsung_Galaxy_S|Galaxy S]] || galaxysmtd || [[https://redmine.replicant.us/projects/replicant/wiki/SamsungSerial|proprietary, locked]] || [[https://git.replicant.us/replicant/kernel_samsung_aries|Replicant]] || [[http://bonedaddy.net/pabs3/log/2012/12/03/debian-mobile/|Debian]] [[https://redmine.replicant.us/projects/replicant/wiki/GalaxySI9000|Replicant]] || blobs sent to !WiFi, BT. [[https://redmine.replicant.us/projects/replicant/wiki/NexusSI902xPrivacySecurityEvaluation#Modem-related|modem not isolated]]. [[http://forum.xda-developers.com/wiki/Samsung_Galaxy_S_Series|XDA info]] ||
|| Samsung [[WikiPedia:Nexus S]] || crespo || [[http://redmine.replicant.us/projects/replicant/wiki/S5PC110Bootloader|proprietary, locked]] || Android || [[https://redmine.replicant.us/projects/replicant/wiki/NexusSI902x|Replicant]] [[Mobile/Ubuntu#Devices|Ubuntu]] || blobs sent to !WiFi, BT. [[https://redmine.replicant.us/projects/replicant/wiki/NexusSI902xPrivacySecurityEvaluation#Modem-related|modem not isolated]]. ||
|| Samsung [[WikiPedia:Samsung_Galaxy_Note_10.1|Galaxy Note 10.1]] || n8000 || || [[https://github.com/plumpudding/opensgn|OpenSGN]] || [[http://liliputing.com/2013/03/debian-linux-on-the-samsung-galaxy-note-10-1-with-pen-support-video.html|Debian]] [[https://wiki.ubuntu.com/Touch/Devices/n8000|Ubuntu]] || ||
|| Samsung Galaxy S3 / Note II || midas ( SHV-E210K/L/S / GT-I9300 / GT-I9305 / GT-N7100 / GT-N7105 ) || [[https://github.com/fourkbomb/u-boot|u-boot branch]] || [[https://blog.forkwhiletrue.me/pages/midas-mainline/|Being mainlined]] || || ||
|| Samsung Galaxy S5 || || aboot ([[https://github.com/beaups/SamsungCID|Samsung eMMC unlock]] || || || ||
|| Samsung Galaxy S8+ || SM-G955F (Exynos8895) || TBC || TBC || Debian || Work in progress ||
|| Nokia [[WikiPedia:Nokia_770_Internet_Tablet|770]] || SU-18<<BR>>Sputnik || || [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mach-omap1/board-nokia770.c|Mainline board file]] || [[ArmPort/Nokia770DebianSid|Debian]] [[https://web.archive.org/web/20160114184659/https://code.google.com/p/inferno-bin/downloads/detail?name=emu-Linux-arm-fg-20080127&can=2&q=|Inferno]] || ||
|| Nokia [[WikiPedia:Nokia_N800|N800]]/[[WikiPedia:Nokia_N810|N810]] || gagarin/selene || || [[http://elinux.org/N800|Being upstreamed]] || [[http://wiki.maemo.org/Easy_Debian|Debian]] [[https://wiki.merproject.org/wiki/Adaptation/N8x0|Mer]] || ||
|| Nokia [[WikiPedia:Nokia_N900|N900]] || RX-51<<BR>>Rover || [[http://elinux.org/N900#U-Boot|u-boot upstream]] || [[http://elinux.org/N900|Being upstreamed]] || [[pkg-n900|Debian]] [[WikiPedia:Maemo|Maemo 5 (Fremantle)]] [[https://leste.maemo.org/Nokia_N900|Maemo Leste]] [[http://shr-project.org/trac/wiki/Devices/NokiaN900|SHR]] [[http://www.nitdroid.com/|NITDroid]] [[https://wiki.merproject.org/wiki/Nemo/Installing#Nokia_N900|Mer]] [[http://www.defora.org/|DeforaOS]] (NetBSD) [[https://files.devuan.org/devuan_ascii/embedded/|Devuan]] [[https://wiki.postmarketos.org/wiki/Nokia_N900|postmarketOS]] || ||
|| Nokia [[WikiPedia:Nokia_N9|N9]] || RM-696<<BR>>Lankku || [[http://wiki.maemo.org/Ubiboot|Ubiboot]] [[https://talk.maemo.org/showthread.php?t=94042|N9 Easy Boot]] || [[https://wiki.merproject.org/wiki/N9_Kernel_update_project|N9 Kernel update project]] [[http://elinux.org/N9|Being upstreamed]]|| [[Mobile/Nokia_N9|Debian]] [[https://en.wikipedia.org/wiki/MeeGo#MeeGo.2FHarmattan|MeeGo 1.2 Harmattan]] [[https://wiki.merproject.org/wiki/Adaptation/N9-N950|Mer]] [[http://www.jollausers.com/2013/12/sailfish-ported-to-n9-mini-tutorial/|Sailfish OS]] [[https://files.devuan.org/devuan_ascii/embedded/|Devuan]] [[https://leste.maemo.org/Nokia_N9|Maemo Leste]] [[https://wiki.postmarketos.org/wiki/Nokia_N9|postmarketOS]] || ||
|| Nokia [[WikiPedia:Nokia_N950|N950]] || RM-680<<BR>>Dali || [[http://wiki.maemo.org/Ubiboot|Ubiboot]] [[https://talk.maemo.org/showthread.php?t=94042|N9 Easy Boot]] || [[http://elinux.org/N950|Being upstreamed]] || [[Mobile/Nokia_N9|Debian]] [[https://en.wikipedia.org/wiki/MeeGo#MeeGo.2FHarmattan|MeeGo 1.2 Harmattan]] [[https://wiki.merproject.org/wiki/Adaptation/N9-N950|Mer]] [[http://www.jollausers.com/2013/12/sailfish-ported-to-n9-mini-tutorial/|Sailfish OS]] [[https://files.devuan.org/devuan_ascii/embedded/|Devuan]] [[https://leste.maemo.org/Nokia_N950|Maemo Leste]] || ||
|| HTC [[WikiPedia:Nexus One]] || || || || [[https://wayback.archive.org/web/20100308050902/http://www.android-devs.com/?p=152&cpage=1#comment-25|Debian]] || ||
|| Motorola [[WikiPedia:Motorola_Droid|Droid]] || || || || [[http://forum.xda-developers.com/showthread.php?t=1086302|Debian]] || ||
|| Motorola [[WikiPedia:Droid_4|Droid 4 XT894]] || maserati || [[https://github.com/stargo/android_packages_apps_Safestrap/releases/tag/v3.75|Safestrap]] [[https://github.com/tmlind/utagboot|utagboot]] [[https://github.com/tmlind/droid4-kexecboot|kexecboot]]|| [[http://elektranox.org/droid4/|Being upstreamed]] || Android, [[http://muru.com/linux/d4/|Linux]], [[http://elektranox.org/2017/02/0010-droid-4-debian/|Debian]] [[https://files.devuan.org/devuan_ascii/embedded/|Devuan]] [[https://leste.maemo.org/Motorola_Droid_4|Maemo Leste]] [[https://wiki.postmarketos.org/wiki/Motorola_Droid_4_(motorola-maserati)|postmarketOS]] || ||
|| Motorola [[WikiPedia:Moto X (2nd generation)]] || || aboot ([[http://bits-please.blogspot.com/2016/02/unlocking-motorola-bootloader.html|unlock]] || Android kernel + GNU userland || Android || ||
|| ASUS Nexus 7 || || || || [[Mobile/Ubuntu#Devices|Ubuntu]] [[http://ruedigergad.com/2012/12/21/plasma-active-for-nexus-7-running-the-touch-optimized-plasma-active-linux-distribution-on-nexus-7/|Mer]] [[https://redmine.replicant.us/projects/replicant/wiki/TargetsEvaluation|Replicant]] || ||
|| LG [[WikiPedia:Nexus 4]] || mako || || || [[http://www.jollausers.com/2014/03/sailfish-os-early-adopters-have-got-their-email-to-go-crazy/|Sailfish OS]] [[https://wiki.lineageos.org/devices/mako|LineageOS]] [[Mobile/Ubuntu#Devices|Ubuntu]] || ||
|| Geeksphone [[WikiPedia:GeeksPhone_Peak|Peak]] || || || [[https://github.com/gp-b2g/gp-peak-kernel|fork]] || [[http://www.hadess.net/2014/08/notes-on-fedora-on-android-device.html|Fedora]] || ||
|| [[Mobile/Jolla|Jolla]] || || ? || Android kernel + GNU userland || Sailfish OS || ||
|| [[WikiPedia:Aakash (tablet)|Aakash]] || || || [[https://linux-sunxi.org/Linux_mainlining_effort|being upstreamed]] || [[DebianAakash|Debian]] ||
|| Dragonbox [[https://pyra-handheld.com/boards/pages/pyra/|Pyra]] || || || || || will run a custom Debian by default || ||
|| [[https://crimier.github.io/ZeroPhone/|Zero Phone]] || || || || || runs Raspbian by default || ||
|| [[https://puri.sm/shop/librem-5|Librem5]] || || || || Debian and derivatives like PureOS || Will be released at 2019 ||
|| [[https://necunos.com/news/necunos-nc_1-and_ne_1-press-release/|Necunos NC_1]] || || || Being upstreamed || [[https://necunos.com/community/|Maemo Leste, LuneOS, Replicant, Plasma Mobile, postmarketOS, Nemo Mobile]] || Scheduled for release in 2019. ||
|| [[http://wiki.pine64.org/index.php/PinePhone|PinePhone]] || || || [[https://sunxi.org/Pine64#Linux_Kernel|Being upstreamed]] || [[http://wiki.pine64.org/index.php/Project_Anakin#Software_and_OS_Image_Downloads|Arch Linux, AOSC]], [[https://forum.pine64.org/showthread.php?tid=7093&pid=43850|UBPorts, Maemo Leste, postmarketOS, Plasma Mobile]], [[https://mobian-project.org/|Mobian]] || ||
|| Golden Delicious [[http://lists.goldelico.com/pipermail/community/2019-January/001935.html|Pyra Phone]] || GTA15 || || [[http://projects.goldelico.com/p/gta04-kernel/|Being upstreamed]] || Debian-based || ||
Line 373: Line 409:
== Current Events ==

??? ADD PLEASE

== Past Events ==
http://elinux.org/eLinux.org:Current_events

Embedded Linux Conference Europe (ELCE)
2011 October 26 - 28 - Prague, Czech Republic
http://events.linuxfoundation.org/events/embedded-linux-conference-europe

1st Annual Android Builders Summit
2011 April 13 - 14 - San Francisco, CA
http://events.linuxfoundation.org/events/android-builders-summit

LF315 Android Internals
2011 April 15 - Saturday, April 16, 2011
Cost: $1,150.00
http://training.linuxfoundation.org/courses/android-training-for-developers/android-internals

Linux Embedded Conference, Linux Foundation
2011 April 11 - 13 - San Francisco, CA
http://events.linuxfoundation.org/events/embedded-linux-conference/schedule <<BR>>
ELC 2011 Presentations
http://elinux.org/index.php?title=ELC_2011_Presentations <<BR>>
Hot Multi-OS Switch: How to run Ubuntu, ChromiumOS, Android at the Same Time on an Embedded Device - Grégoire Gentil (Always Innovating) - No pdf yet <<BR>>


= Videos =
Maybe the Embedded Linux Conf will have some videos here: <<BR>>
http://www.linuxfoundation.org/news-media/video <<BR>>
http://video.linux.com/ <<BR>>
http://video.linux.com/categories/tutorials <<BR>>


= Related Websites =

http://www.linux.com/news/embedded-mobile/phones

Embedded Linux Wiki
http://elinux.org/Main_Page


= See Also =


* http://www.talkandroid.com/android-forums/android-development-answers-tutorials-code-snippets/1091-install-debian-android.html

* http://lists.debian.org/debian-user/2011/03/msg01554.html - "Lets start Debian for Android hw phones"

{{{
Let's start the "Debian distro for Android capable hardware phones".

What are the first steps we can easily take, to get started on this?

1) Talk about how to do it on this email list.
2) Put something on www.debian.org web page about beginning to work on
this project.
3) Create a mailing list for "Debian for Android Hw".
4) Send some thoughts in reply to this email, & to the new mailing list.
5) Make a wiki page for "Debian distro for Android capable hardware
phones".
    - http://wiki.debian.org/DebianOnHandhelds

=
My motivation:
I got an Android capable smartphone/computer a few months ago. - Samsung
Intercept, Virgin Mobil, $200, $25/month includes unlimited internet.

Of course, I'd like to get a GNU(Linux) distro on it. So, rather than
have to piece together something using CyanogenMod & piece a bunch of
aps together, I'd just like to have a KUbuntu version to put on there.
- Download the ISO, start, 15 minutes later it's all there with all my
familiar desktop aps in smartphone version.

So, I figure, first step (before getting my KUbuntu), is there needs to
be the Debian for Android Hw smartphones distro, for KUbuntu to build on
top of.


=
Ok, well, there you are, folks. I've done my initial part for the
project - suggest it get started. So, can some interested Debian
individuals please now step it another step forward?

Thanks for all the great Debian stuff! :)
 * [[http://debconf.org/|DebConf]]
 * [[http://elinux.org/eLinux.org:Current_events|embedded Linux events]]
 * [[http://events.linuxfoundation.org/events/embedded-linux-conference-europe|Embedded Linux Conference Europe (ELCE)]]
 * [[http://events.linuxfoundation.org/events/embedded-linux-conference|Linux Embedded Conference]]
 * [[http://events.linuxfoundation.org/events/android-builders-summit|Android Builders Summit]]
Line 474: Line 428:
http://en.wikipedia.org/wiki/List_of_open_source_Android_applications WikiPedia:List_of_open_source_Android_applications
Line 482: Line 436:
http://en.wikipedia.org/wiki/CyanogenMod


http://en.wikipedia.org/wiki/Android_%28operating_system%29
WikiPedia:CyanogenMod


WikiPedia:Android_%28operating_system%29
Line 500: Line 454:
=== OLD_Hardware_OLD ===

  * [[DebianOnNeo1973|Openmoko Neo1973 (GTA01)]]
  * [[DebianOnFreeRunner|Openmoko FreeRunner (GTA02)]]
  * [[DebianOnGTA04|"Openmoko" GTA04]] is running on Debian rootfs as well [[http://projects.goldelico.com/p/gta04-main/|[1]]]
  * [[http://wiki.maemo.org/Easy_Debian|Nokia N800/N810]]
  * [[pkg-n900|Nokia N900]]
  * [[Mobile/Nokia_N9|Nokia N9/N950]]
  * [[http://www.android-devs.com/?p=152&cpage=1#comment-25|HTC Nexus1]]
  * Motorola: ?

=== OLD_Projects_OLD ===

Many of the smartphone tasks are handled by the Free``Smartphone.Org (FSO) team:

  * http://wiki.debian.org/Teams/DebianFSO

Openmoko's FreeRunner is so far the device best supported:

  * http://wiki.debian.org/DebianOnFreeRunner

Nokia's Maemo is based on Debian:

  * http://wiki.maemo.org/Maemo_on_Debian

Also there is an ugly alternative to install Debian is to run it in a chroot dir:

  * (instructions there are probably for Nokia n900, where as for Nokia n800 under OS2008, one may prefer : http://maemo.org/downloads/product/OS2008/easy-deb-chroot/)
  * http://ubuntuforums.org/showthread.php?t=1413313 (on HTC Nexus)

Line 534: Line 457:
  * http://www.emdebian.org/grip/
Line 536: Line 458:
  * http://htc-linux.org/models.php

Debian on mobile devices

This page is about tracking every initiative to fully or partially install the system on mobile platforms:

About

Debian is the universal operating system. Thus, it should run on mobile devices. This wiki page is a tool to help bring Debian to mobile platforms.

It would be great if Debian could run on many kinds of mobile devices: iPhones, Android capable HW, Windows Mobile HW, tablets, but this is very unlikely to happen anytime soon for the majority of devices.

Devices built to run FLOSS stacks are more promising alternatives, for example PinePhone and Librem 5.

Debian on mobile devices should have GUI capabilities, appropriate to the hardware capabilities.

It would also be great if Debian could run applications written to be native to the original OS for the hardware. This will enable Debian to serve the many people in society who want to easily use those applications.

Debian might benefit from having its own User Interface, or UIs, based on progression from the desktop Debian UIs - ex, GNOME or KDE. It would be great if the GNOME, KDE and other GUI communities could come to agreement on a common UI for Debian, to save unnecessary duplication of development effort, both of the Debian UI, and application software for Debian.

Origin and Purpose

To get this wiki page started, see the original message I sent suggesting this project. It includes some reference URLs, to help seed thinking on Debian on smartphones development.

Contributions

Many people made useful replies to that email, and it would be great if they would add their suggestions of software components, foundations, and URLs thereof to this page. If we all take a few minutes to make contributions to this page when we have something valuable to add, this page will grow to be a great resource for us all. So, please take a moment to add something valuable to this page right now, or when you have the opportunity. :)

This page could use contributions like: Links to component software (embeded debian, GRUB, UIs, etc).

Software developers can write software for the many parts of this system and put links on this page to those components.

Writers can produce articles about Debian on smartphones in emails to the relevant Debian mailing lists, blogs, web pages and for the general media.

Artists can create the graphics and multimedia for Debian on smartphones.

Packagers can put it all together so people can download and install it on their smartphones.

Thanks for reading. Thanks for thinking. Thanks for all contributions you make. Let's all work together to enable Debian to fulfil its promise as "The Universal Operating System".

Use of the Debian bug tracking system

Bugs related to Debian on mobile devices may have usertags with the user debian-mobile@lists.debian.org. These usertags are currently defined:

  • user-interface: mobile user interface related bugs, e.g. intents to package UI software or necessary changes of existing UI to improve user experience on small screens or styles input etc.

Contact

If you want to chat about Debian mobile user interfaces, please join the #debian-mobile IRC channel on irc.debian.org or subscribe to the debian-mobile mailing list. If you are interested in kernel, bootloader or middleware related issues you might want to join the #debian-arm IRC channel instead. Other discussions will be appropriate to have on these lists instead: debian-embedded debian-arm debian-kernel debian-cd debian-devel android-tools-devel

Meetings

People

Here are some people interested in running Debian on mobile devices.

Name

IRC nick

Hardware owned

Willing to

Wishlist

Paul Wise

pabs

probably-dead Openmoko FreeRunner

Offer advice

Linux mainline support for the Neo900

Didier Raboud

OdyX

Openmoko FreeRunner

Get paid to work towards Debian on Mobile devices :-p

Sicelo Mhlongo

Sicelo

Nokia N900, Motorola Droid 4

Help with testing and documentation

Working Debian on N900 and Droid 4 with UMTS/GPRS access and voice calls

Alishams Hassam

Zeroedout

Openmoko FreeRunner, Google Nexus One

Help maintain wiki, file bugs, test new things

Mainline FR support, QtMoko in Debian, Debian on the Nexus One, SHR on a Debian base

Timo Jyrinki

Mirv

GTA04, Nokia N9, Nokia N950, LG Nexus 4, Jolla

Maintain some of the FR stuff, maybe do something to put Debian on N9, etc.

More productized stuff via FSO, oFono etc. packaging to support more phones

JonasSmedegaard

jo0nas

Openmoko FreeRunner * 2, Nokia N900, GeeksPhone One, Samsung Galaxy S3

Improve ways to bootstrap, test

more stuff packaged in mainline Debian - with sensible defaults

Jonathan Michalon

johndescs

Samsung Galaxy Note 1

test, learn stuff, help

Have Debian in dualboot with Android and be able to do all basic tasks from it.

Philipp Hug

hug

Nokia N900, N9, various Android devices

Maintain mobile-related packages, test

Debian on Android

MichaelDorrington

-

N900, GTA04

Test

Debian being Pocket Computer (aka Smart Phone) friendly

Lukas Maerdian

slyon

GTA04, GTA02, Palm Pre

Develop FSO, bootstrap Debian for new devices

Nice UI based on FSO and Debian for GTA04.

Tomas Caram

Tomich

Moto A1200r, Samsung Galaxy S (I9000b)

test, learn stuff, help, compile, make scripts

...

Eva Ramon

eramon

Nokia N9, Nokia N900, Galaxy Note 10.1

Package mobile software, test, help with the installer

chroot Debian on Android, dual boot

David Derby

dderby (freenode)

N900, N950, Droid 4, Nexus 5, PinePhone prototype shipping soon

Continue to improve DebiaN900 scripts Contribute to Maemo Leste

Mainline Linux running well on a variety of phones

W. Martin Borgert

no IRC, but xmpp:debacle@debian.org

GPD Pocket, Librem 5 dev board, hopefully soon: Pyra

work on Debian for that devices

run unchanged Debian on that devices

?kgoetz

Kamping_Kaiser (rarely on irc.debian, usually free node)

N900, 2x Openmoko FreeRunner, various android devices

Test things

An N900 experience on newer devices and newer Debian

Ida Boustead (?HezuKame)

No IRC, but hezukame@gmail.com

Samsung Galaxy S8+ (SM-G955F) Exynos8895

Port Debian to my phone and maintain it.

To be able to fully replace Android with Debian as my main OS on my phone.

Danny Colin

sdk

Pinephone CE

Bug hunting

Use the pinephone w/ Debian as my daily driver

Guido Günther

agx_

Librem5 / N900 / ?WeTab

Work towards using Debian daily on my mobile devices

Groups

Howto

Learn software development. Port low-level stuff to a device. Package some middleware. Package a user experience. Package applications that can deal with small screens and touch input. Build images for users to flash onto the device. Get hardware to developers.

Articles

Learning

At various stages you will need to learn some of the following. This can be done at the same time as working on Debian for smartphones.

  • Languages:
    • ARM assembly: Linux, bootloaders
    • C: Linux, bootloaders, UIs
    • make: build systems
    • Python: middleware, applications
    • Vala: middleware, applications
  • Tools:
    • Version control:
      • git: Linux, middleware, applications
      • svn: UI, applications
      • bzr: applications
    • Compilers: GCC, LLVM, GCC cross-compilers
    • Build systems:
      • make: almost everything
      • autotools: middleware, UI, applications
      • cmake: some things
      • other: Linux and bootloaders might have custom build systems based on make

Porting

Pick a specific device. Get support for it into a bootloader (u-boot/etc), mainline Linux. Ask relevant teams to build linux/bootloader packages that work on your device. Port the debian installer to the device.

This is most of the work. It is important to get your changes into Linux/u-boot mainline otherwise Debian will not be able to support your device since the Linux kernel team for Debian will not add non-mainline drivers/patches to Debian kernels and therefore you won't be able to support Debian on the phone you care about. It will be made easier since the Android drivers probably already exist and can be ported to mainline Linux. Some hardware vendors will be violating the GPL and not releasing drivers/patches. You might be able to get the code by contacting them or getting the Software Freedom Conservancy or gpl-violations.org involved.

Middleware

Pick some middleware, join the packaging group for it or package it for Debian and look for some sponsors.

UI

Pick a UI or create a new one, create a team, start packaging it for Debian and look for sponsors.

There are numerous existing FLOSS UXen for mobile devices. As the universal OS, Debian should aim to support several of these.

Applications

Package some touch-friendly applications.

Images

Talk to the Debian installer, live and CDs teams about building daily, weekly and release images that people can flash onto their phones. This could significantly change the way Debian images are built so it will require a fair bit of discussion first.

Other tips

If you can get hardware into the hands of kernel developers that would help a lot. You might find some hardware manufacturers who are willing to give out some free samples to developers.

Install howtos

Software

Jailbreaking, Rooting, Unlocking, Exploits

Installers

  • Lil Debi: Debian chroot manager for Android

  • Debian Kit by Sven-Ola, an easy chroot kit (uses Android kernel to run a Debian from a loop sdcard disc image).

  • More on the ChrootOnAndroid page.

Flashers and USB booting

  • 0xFFFF: flasher for Nokia Internet Tablets based on the NOLO bootloader

  • dfu-util: flasher for devices supporting the DFU 1.0 protocol. In practice this means the ?OpenMoko gta01 and gta02 and maybe other devices like the iPhone.

  • Fastboot: flasher and memory booter for devices based on Android

  • Heimdall: flasher for some Samsung phones

  • rkflashtool: flasher for Rockchip based devices

  • imx_usb_loader: flash devices using Freescale i.MX5/i.MX6 and Vybrid ?SoCs via the Serial Download Protocol (SDP)

Firmware

  • OsmocomBB: free software for GSM baseband devices, currently only for the baseband on the Openmoko FreeRunner and related devices

  • firmwares_nonfree: script to download and install proprietary firmware for Android devices

Bootloader

Kernel

Drivers

  • GPU drivers:
  • Other:
    • glshim: video acceleration for OpenGL 1.x software on mobile devices that use OpenGL ES. /!\ note that this isn't needed for GPUs with Free Software drivers because mesa supports both OpenGL 1.x and OpenGL ES on the same hardware.

    • TinyGLES: a software OpenGL ES driver, intended for use with glshim

    • SwiftShader: a high-performance CPU-based implementation of the OpenGL ES and Direct3D 9 graphics APIs12. Its goal is to provide hardware independence for advanced 3D graphics. (RFP)

Middleware

User interface

Discontinued:

Applications

  • F-Droid: repository of FOSS Android-based applications

  • OpenMoko: applications from the OpenMoko development community

  • Ubuntu: core applications from Ubuntu Touch

  • Empathy supports voice calls and short messages via telepathy-ring

Distributions

  • Debian

  • Emdebian: discontinued cut down version of Debian for small and embedded devices

  • Ubuntu: Ubuntu for touchscreen based mobile devices

  • UBports: community continuation of Ubuntu for mobile devices

  • QtMoko: distribution based on Debian

  • PyNeo: distribution based on Debian

  • QuantumSTEP

  • Maemo: mobile distribution based on Debian

  • Tizen: mobile distribution based on EFL, Debian/Ubuntu, backed by Samsung and others

  • webOS: mobile distribution based on HTML/JS, OpenEmbedded, backed by HP

  • LuneOS: open source successor for webOS

  • webOS OSE: open source successor for webOS from LG

  • FirefoxOS: Mozilla project to create an web-based OS

  • GerdaOS: aims to liberate !KaiOS, the proprietary !FirefoxOS derivative

  • Gentoo on Android: Gentoo project to run Gentoo in a prefix on Android

  • Mer: distribution aimed at re-use by device manufacturers

  • Nemo: mobile distribution based on Mer (RPM), MeeGo Handset UX, Qt

  • Cordia: discontinued mobile distribution based on Mer (RPM), Maemo Hildon stack ported to newer GTK+/etc

  • Seadot: mobile distribution based on Mer, successor for the WeTab OS

  • SailfishOS: commercial distro based on Mer

  • postmarketOS: Alpine Linux derivative aimed at 10 year life-cycle for smartphones

  • Maemo Leste: aims to provide a free Maemo experience on mobile phones and tablets, built on top of Devuan Ascii (Debian Stretch)

  • PureOS: is a derivative of Debian that will work on Librem5 the new device of Purism will be released at 2019

  • Devuan: a fork of Debian, optimised for use without systemd. Provides images for a variety of mobile and embedded devices built with the arm-sdk.

  • Mobian: working on getting Debian on PinePhone and similar devices, with tweaks and configuration in an external repo

  • NixOS: OS built on the Nix declarative package manager, has a mobile effort.

Android-based

  • Android

  • Replicant: aiming to remove all the blobs and non-free stuff from Android

  • OmniROM: a community Android derivative

  • ?CyanogenMod: a commercial Android derivative

  • LineageOS: renamed version of ?CyanogenMod community

  • AsteroidOS: open-source operating system for smartwatches

  • MaruOS: containers on Android

  • Halium: group maintenance of Android parts that cannot be added to normal GNU/Linux distributions, as well as compatibility shims. This includes proprietary blobs as well as Android forks of the Linux kernel.

  • GrapheneOS: successor of CopperheadOS, a hardened fork of AOSP

Devices

General hardware support pages for various groups/distros: FSO oFono SHR Replicant (targets) OmniROM (unofficial ports) LineageOS Mer webOS Ubuntu Touch Firefox OS Gentoo postmarketOS (wishlist) AsteroidOS NixOS

Porting guides for various groups/distros: oFono SHR (Android devices) Replicant (1, 2, 3) OmniROM LineageOS Mer webOS Tizen SailfishOS Ubuntu Touch FirefoxOS (2). postmarketOS AsteroidOS NixOS

Name

Codename

Bootloaders

Linux

Operating systems

Other

Gemini

Gemini

LK

fork

Android, Debian

blobs in GSM,WiFi,BT, GPS; only BT not working; Android specific repo

Cosmo Communicator

Cosmo_communicator

LK

fork

Android, Debian, UBPorts

blobs in GSM,WiFi,BT, GPS; only BT not working; UBPorts lacks physical keyboard drivers; CoDI (front display) not supported under Linux; Android specific repo

Openmoko Neo 1973

gta01

Debian more

Openmoko Neo FreeRunner

gta02

qi or forked u-boot

Needs upstreaming

Debian QtMoko SHR Android-on-FreeRunner more

blobs in WiFi, GPS, GSM. GSM isolated, semi-supported by OsmocomBB. Emulated by forked qemu.

Golden Delicious Letux 2804

gta04

u-boot branch

being upstreamed

Debian SHR Replicant

blob sent to WiFi

Neo900

gta04b7

u-boot branch

Being upstreamed 1 2

Debian SHR Replicant Maemo

Samsung Galaxy S

galaxysmtd

proprietary, locked

Replicant

Debian Replicant

blobs sent to WiFi, BT. modem not isolated. XDA info

Samsung Nexus S

crespo

proprietary, locked

Android

Replicant Ubuntu

blobs sent to WiFi, BT. modem not isolated.

Samsung Galaxy Note 10.1

n8000

OpenSGN

Debian Ubuntu

Samsung Galaxy S3 / Note II

midas ( SHV-E210K/L/S / GT-I9300 / GT-I9305 / GT-N7100 / GT-N7105 )

u-boot branch

Being mainlined

Samsung Galaxy S5

aboot (Samsung eMMC unlock

Samsung Galaxy S8+

SM-G955F (Exynos8895)

TBC

TBC

Debian

Work in progress

Nokia 770

SU-18
Sputnik

Mainline board file

Debian Inferno

Nokia N800/N810

gagarin/selene

Being upstreamed

Debian Mer

Nokia N900

RX-51
Rover

u-boot upstream

Being upstreamed

Debian Maemo 5 (Fremantle) Maemo Leste SHR NITDroid Mer DeforaOS (NetBSD) Devuan postmarketOS

Nokia N9

RM-696
Lankku

Ubiboot N9 Easy Boot

N9 Kernel update project Being upstreamed

Debian MeeGo 1.2 Harmattan Mer Sailfish OS Devuan Maemo Leste postmarketOS

Nokia N950

RM-680
Dali

Ubiboot N9 Easy Boot

Being upstreamed

Debian MeeGo 1.2 Harmattan Mer Sailfish OS Devuan Maemo Leste

HTC Nexus One

Debian

Motorola Droid

Debian

Motorola Droid 4 XT894

maserati

Safestrap utagboot kexecboot

Being upstreamed

Android, Linux, Debian Devuan Maemo Leste postmarketOS

Motorola Moto X (2nd generation)

aboot (unlock

Android kernel + GNU userland

Android

ASUS Nexus 7

Ubuntu Mer Replicant

LG Nexus 4

mako

Sailfish OS LineageOS Ubuntu

Geeksphone Peak

fork

Fedora

Jolla

?

Android kernel + GNU userland

Sailfish OS

Aakash

being upstreamed

Debian

Dragonbox Pyra

will run a custom Debian by default

Zero Phone

runs Raspbian by default

Librem5

Debian and derivatives like PureOS

Will be released at 2019

Necunos NC_1

Being upstreamed

Maemo Leste, LuneOS, Replicant, Plasma Mobile, postmarketOS, Nemo Mobile

Scheduled for release in 2019.

PinePhone

Being upstreamed

Arch Linux, AOSC, UBPorts, Maemo Leste, postmarketOS, Plasma Mobile, Mobian

Golden Delicious Pyra Phone

GTA15

Being upstreamed

Debian-based

Events

===== References: http://wiki.debian.org/DebianOnHandhelds http://wiki.debian.org/Handheld http://wiki.debian.org/Hardware http://wiki.debian.org/

- How can open source survive in a post-PC World? http://www.h-online.com/open/features/How-can-open-source-survive-in-a-post-PC-world-1210071.html How can open source survive in a post-PC World? (h-online.com) http://news.ycombinator.com/item?id=2348907

List_of_open_source_Android_applications http://maniacdev.com/2010/06/35-open-source-iphone-app-store-apps-updated-with-10-new-apps/

Open Source iPhone Apps List – Real App Store Code Examples! http://maniacdev.com/2010/06/35-open-source-iphone-app-store-apps-updated-with-10-new-apps/

- http://www.cyanogenmod.com/ CyanogenMod

Android_%28operating_system%29

- Permanent root for the Samsung Intercept http://forum.sdx-developers.com/intercept-development-2-2/sprint-intercept-wfroyo-permanent-root-using-epic-expoit/

[HOWTO] Rooting your Samsung Intercept the Easy Way http://forum.xda-developers.com/showthread.php?t=890460 Samsung Intercept > Intercept Android Development http://forum.xda-developers.com/forumdisplay.php?s=b6120fd362a554792ba666425dc5e102&f=901

  • }}}

OLD_Misc_OLD