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.

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

Qi: supports gta01, gta02

u-boot: supports various devices, forks for: gta01/gta02

Kernel

Linux: supports some devices, forks for specific devices in various distributions.

Drivers

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

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

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