Size: 900
Comment:
|
Size: 28421
Comment: link to android tools list
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
There is no reason that Smartphone do not support [[Debian]] also. This page is about to track every initiative to fully or partialy install the system on mobiles : Smartphone taks is handled by 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 Same as mer the community based fork : * http://wiki.maemo.org/Mer Upcoming distro MeeGo may be open to accept debian (re)built packages too : * http://wiki.meego.com/Proposal_for_a_Debian_Packaging_working_group Also there is an ugly alternative to install debian is to run it in a chroot dir : * http://wiki.maemo.org/Easy_Debian Misc : |
= Debian on mobile devices = This page is about tracking every initiative to fully or partially install the system on mobile platforms: <<TableOfContents(1)>> = About = Debian is the universal operating system. Thus, it needs to 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, etc. The software should allow dual booting, into both Debian and any software that came with the hardware. 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. Also to save the users from having to learn unnecessary extra UIs. === Origin and Purpose === To get this wiki page started, see the [[http://lists.debian.org/debian-user/2011/03/msg01554.html|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". :) = 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-handheld/|debian-handheld]] [[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]] = People = Here are some people interested in running Debian on mobile devices. || '''Name''' || '''IRC nick''' || '''Hardware owned''' || '''Willing to''' || '''Wishlist''' || || [[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 || || || Sicelo Mhlongo || Sicelo || Nokia N900 || Help with testing || Working Debian on N900 with UMTS/GPRS access || || 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 || wicket64 || Nokia N900, Nokia N950, HP !TouchPad and soon Neo900 (pre-ordered) || Continue to improve [[https://github.com/dderby/debian900|DebiaN900]] scripts || To be able to fully replace Maemo with Debian as my everyday mobile OS || = Groups = * The people who work on various [[#software-distros|distributions]] * [[http://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://forum.sdx-developers.com/|SDX Developers forum]]: reverse engineering and user support for Samsung devices * [[http://forum.xda-developers.com/|XDA Developers forum]]: reverse engineering and developer discussion for Android and Windows devices = 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. == 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 SFLC or gpl-violations.org involved. == Middleware == Pick some [[#software-middleware|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 [[#software-ui|existing FLOSS UXen]] for mobile devices. As the universal OS, Debian should aim to support several of these. == Applications == Package some touch-friendly [[#software-apps|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 == * [[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(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). <<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:android-tools-fastboot|Fastboot]]: flasher and memory booter for devices based on Android * [[DebianPackage:heimdall-flash|Heimdall]]: flasher for some Samsung phones <<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 <<Anchor(software-bootloader)>> == Bootloader == * [[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)>> == Kernel == * [[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) * [[http://freedreno.github.com/|freedreno]]: Qualcomm Adreno * [[http://powervr.gnu.org.ve/|PowerVR]]: Imagination PowerVR * [[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/laanwj/etna_viv|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. <<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]]. <<Anchor(software-ui)>> == User interface == * [[http://plasma-active.org/|KDE Plasma Active]] * [[http://www.enlightenment.org/|E17]]/Illume: [[DebianPackage:e17|packaged]] by the [[PkgE|pkg-e]] team * [[http://gpe.linuxtogo.org/|GPE]]: [[DebianPackage:gpe|packaged]], suitable for stylus-based devices * [[http://wiki.mozilla.org/Gaia|Gaia]]: interface for FirefoxOS * [[https://en.wikipedia.org/wiki/Hildon|Hildon]]: [[https://wiki.gnome.org/Attic/Hildon|Main website]], [[https://gitorious.org/community-ssu|Maemo CSSU repositories]], [[https://github.com/Cordia|Cordia]] (contains some stuff for GTK3), [[https://packages.debian.org/search?keywords=hildon|Packages in squeeze]] * Mer/Nemo Mobile: The open parts of [[Mobile/Jolla|Jolla]] * [[Mobile/Ubuntu|Ubuntu]]: many Qt/QML libraries, applications, the Unity 8 shell <<Anchor(software-apps)>> == Applications == * [[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 <<Anchor(software-distros)>> == Distributions == * [[http://www.debian.org/|Debian]] * [[http://www.emdebian.org/|Emdebian]]: cut down version of Debian for small and embedded devices * [[Mobile/Ubuntu#Devices|Ubuntu]]: Ubuntu for touchscreen based mobile devices * [[http://shr-project.org/|SHR]]: distribution for smartphones based on !OpenEmbedded and FSO software * [[http://qtmoko.org/|QtMoko]]: distribution based on Debian * [[http://pyneo.org/|PyNeo]]: distribution based on Debian * [[http://www.defora.org/|DeforaOS]]: releases Debian packages * [[http://www.qalee.org/|Qalee]] * [[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://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 * [[http://www.cyanogenmod.org/|CyanogenMod]]: a commercial Android derivative * [[http://developer.palm.com/|webOS]]: mobile distribution based on HTML/JS, !OpenEmbedded, backed by HP * [[http://www.mozilla.org/en-US/firefoxos/|FirefoxOS]]: Mozilla project to create an web-based OS * [[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 * [[http://wiki.merproject.org/wiki/Nemo#Nemo_Mobile|Nemo]]: mobile distribution based on Mer (RPM), !MeeGo Handset UX, Qt * [[http://cordiahd.org/|Cordia]]: 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 = Devices = General hardware support pages for various groups/distros: [[http://wiki.freesmartphone.org/index.php/HardwareComparison|FSO]] [[https://ofono.org/wiki/ofono-supported-modems|oFono]] [[http://shr-project.org/trac/wiki/Devices|SHR]] [[http://replicant.us/supported-phones/|Replicant]] ([[http://redmine.replicant.us/projects/replicant/wiki/GoodPotentialTargets|targets]]) [[http://omnirom.org/supported-devices/|OmniROM]] ([[http://docs.omnirom.org/Omni_Unofficial_Ports|unofficial ports]]) [[http://wiki.cyanogenmod.org/index.php?title=Devices|CyanogenMod]] ([[http://wiki.cyanogenmod.org/index.php?title=Unofficial_Ports|unofficial ports]]) [[https://wiki.merproject.org/wiki/Adaptations|Mer]] [[http://webos-ports.org|webOS]] [[https://wiki.ubuntu.com/Touch/Devices|Ubuntu Touch]] [[https://developer.mozilla.org/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Have_a_compatible_device.2Femulator|Firefox OS]] [[https://wiki.gentoo.org/wiki/Android/Devices|Gentoo]] [[http://htc-linux.org/wiki/index.php?title=Devices|HTC-Linux]] 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]] [[http://wiki.cyanogenmod.org/index.php?title=Doc:_porting_intro|CyanogenMod]] [[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]]). || '''Name''' || '''Codename''' || '''Bootloaders''' || '''Linux''' || '''Operating systems''' || '''Other''' || || [[http://en.wikipedia.org/wiki/Neo_1973|Openmoko Neo1973]] || gta01 || || || [[DebianOnNeo1973|Debian]] [[http://wiki.openmoko.org/wiki/Distributions|more]] || || [[http://wiki.openmoko.org/wiki/Neo_FreeRunner|Openmoko 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. || || [[http://projects.goldelico.com/p/openphoenux/|OpenPhoenux GTA04]] || 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]] || || || [[http://en.wikipedia.org/wiki/Samsung_Galaxy_S|Samsung Galaxy S]] || galaxysmtd || [[http://redmine.replicant.us/projects/replicant/wiki/S5PC110Bootloader|proprietary, locked]] || [[http://gitorious.org/replicant/kernel_samsung_aries|Replicant]] || [[http://bonedaddy.net/pabs3/log/2012/12/03/debian-mobile/|Debian]] [[http://redmine.replicant.us/projects/replicant/wiki/GalaxyS|Replicant]] [[http://www.cyanogenmod.org/devices/samsung-galaxy-s|CyanogenMod]] || blobs sent to !WiFi, BT. [[http://redmine.replicant.us/projects/replicant/wiki/SamsungModemIssues|modem not isolated]]. [[http://forum.xda-developers.com/wiki/Samsung_Galaxy_S_Series|XDA info]] || || [[http://en.wikipedia.org/wiki/Nexus_S|Nexus S]] || crespo || [[http://redmine.replicant.us/projects/replicant/wiki/S5PC110Bootloader|proprietary, locked]] || Android || [[http://redmine.replicant.us/projects/replicant/wiki/NexusS|Replicant]] [[Mobile/Ubuntu#Devices|Ubuntu]] || blobs sent to !WiFi, BT. [[http://redmine.replicant.us/projects/replicant/wiki/SamsungModemIssues|modem not isolated]]. || || [[http://en.wikipedia.org/wiki/Nokia_770_Internet_Tablet|Nokia 770]] || || || || [[ArmPort/Nokia770DebianSid|Debian]] || || || Nokia [[http://en.wikipedia.org/wiki/Nokia_N800|N800]]/[[http://en.wikipedia.org/wiki/Nokia_N810|N810]] || || || || [[http://wiki.maemo.org/Easy_Debian|Debian]] [[https://wiki.merproject.org/wiki/Adaptation/N8x0|Mer]] || || || [[https://en.wikipedia.org/wiki/Nokia_N900|Nokia N900]] || RX-51/Rover || [[http://elinux.org/N900#U-Boot|u-boot upstream]] || [[http://elinux.org/N900|Being upstreamed]] || [[pkg-n900|Debian]] [[https://en.wikipedia.org/wiki/Maemo|Maemo]] [[http://shr-project.org/trac/wiki/Devices/NokiaN900|SHR]] [[http://www.nitdroid.com/|NITDroid]] [[https://wiki.merproject.org/wiki/Nemo/Installing#Nokia_N900|Mer]] || || || Nokia [[https://en.wikipedia.org/wiki/Nokia_N9|N9]]/[[https://en.wikipedia.org/wiki/Nokia_N950|N950]] || RM-696/Lankku / RM680/Dali || [[http://wiki.maemo.org/Ubiboot|Ubiboot]] || [[https://wiki.merproject.org/wiki/N9_Kernel_update_project|N9 Kernel update project]] || [[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://en.wikipedia.org/wiki/Nexus_One|Nexus One]] || || || || [[https://wayback.archive.org/web/20100308050902/http://www.android-devs.com/?p=152&cpage=1#comment-25|Debian]] || || || [[http://en.wikipedia.org/wiki/Motorola_Droid|Motorola Droid]] || || || || [[http://forum.xda-developers.com/showthread.php?t=1086302|Debian]] || || || 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]] [[http://redmine.replicant.us/projects/replicant/wiki/GoodPotentialTargets#Potential-targets-Good-and-Bad|Replicant]] || || || [[https://en.wikipedia.org/wiki/Samsung_Galaxy_Note_10.1|Samsung Galaxy Note 10.1]] || n8000 || || [[https://code.google.com/p/opensgn/|OpenSGN]] || [[http://liliputing.com/2013/03/debian-linux-on-the-samsung-galaxy-note-10-1-with-pen-support-video.html|Debian]] [[http://wiki.cyanogenmod.org/w/N8000_Info|CyanogenMod]] || || || [[http://en.wikipedia.org/wiki/Nexus_4|Nexus 4]] || mako || || || [[http://www.jollausers.com/2014/03/sailfish-os-early-adopters-have-got-their-email-to-go-crazy/|Sailfish OS]] [[http://wiki.cyanogenmod.org/w/Mako_Info|CyanogenMod]] [[Mobile/Ubuntu#Devices|Ubuntu]] || || || [[WikiPedia:GeeksPhone_Peak|Geeksphone 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 || || = Events = * [[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]] = See Also = * 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! :) ===== 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 http://en.wikipedia.org/wiki/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/ http://en.wikipedia.org/wiki/CyanogenMod http://en.wikipedia.org/wiki/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 === |
Line 36: | Line 393: |
* http://htc-linux.org/models.php * https://garage.maemo.org/projects/moebian * http://rzr.online.fr/q/mobile * http://talk.maemo.org/showthread.php?p=961128#post961128 |
Debian on mobile devices
This page is about tracking every initiative to fully or partially install the system on mobile platforms:
Contents
About
Debian is the universal operating system. Thus, it needs to 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, etc.
The software should allow dual booting, into both Debian and any software that came with the hardware.
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. Also to save the users from having to learn unnecessary extra UIs.
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".
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-handheld debian-embedded debian-arm debian-kernel debian-cd debian-devel android-tools-devel
People
Here are some people interested in running Debian on mobile devices.
Name |
IRC nick |
Hardware owned |
Willing to |
Wishlist |
pabs |
probably-dead Openmoko FreeRunner |
Offer advice |
Linux mainline support for the Neo900 |
|
OdyX |
Openmoko FreeRunner |
Get paid to work towards Debian on Mobile devices :-p |
|
|
Sicelo Mhlongo |
Sicelo |
Nokia N900 |
Help with testing |
Working Debian on N900 with UMTS/GPRS access |
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 |
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 |
|
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 |
- |
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 |
wicket64 |
Nokia N900, Nokia N950, HP TouchPad and soon Neo900 (pre-ordered) |
Continue to improve DebiaN900 scripts |
To be able to fully replace Maemo with Debian as my everyday mobile OS |
Groups
The people who work on various distributions
FSO: umbrella project for free software on smartphones, grew out of the OpenMoko community
Linaro: pushes upstream development on ARM, they work on Linux, GCC and related low-level stuff.
SDX Developers forum: reverse engineering and user support for Samsung devices
XDA Developers forum: reverse engineering and developer discussion for Android and Windows devices
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.
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
- Version control:
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 SFLC 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
More links in the devices and installers sections.
Software
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).
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
Firmware
OsmocomBB: free software for GSM baseband devices, currently only for the baseband on the Openmoko FreeRunner and related 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
- GPU drivers:
OpenFIMG: FIMG 3DSE core from Samsung SoCs (inc S3C6410, S5P6442 and S5PC100)
Lima: ARM Mali (inc Mali-200 and Mali-400)
freedreno: Qualcomm Adreno
PowerVR: Imagination PowerVR
cedarus: GPU from Allwinner A10 SoCs
videocoreiv: Broadcom VideoCore GPUs
Etnaviv: Vivante GCxxx GPUs
grate-driver: official nvidia Tegra open driver
tegra-re: nvidia Tegra reverse engineering project
DRI for the Freerunner: SMedia Glamo3362 from the OpenMoko FreeRunner
- 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.
Middleware
Ubuntu: some pieces like ofono, Qt libraries, could be synced relatively directly from Ubuntu
- others in Android/MeeGo/Maemo/Tizen/FirefoxOS
CRAS: Chromium OS Audio Server. Looks like a good option for mobile devices. Further information. Source code.
User interface
Gaia: interface for FirefoxOS
Hildon: Main website, Maemo CSSU repositories, Cordia (contains some stuff for GTK3), Packages in squeeze
Mer/Nemo Mobile: The open parts of Jolla
Ubuntu: many Qt/QML libraries, applications, the Unity 8 shell
Applications
F-Droid: repository of FOSS Android-based applications
OpenMoko: applications from the OpenMoko development community
Ubuntu: core applications from Ubuntu Touch
Distributions
Emdebian: cut down version of Debian for small and embedded devices
Ubuntu: Ubuntu for touchscreen based mobile devices
SHR: distribution for smartphones based on OpenEmbedded and FSO software
QtMoko: distribution based on Debian
PyNeo: distribution based on Debian
DeforaOS: releases Debian packages
Maemo: mobile distribution based on Debian
Tizen: mobile distribution based on EFL, Debian/Ubuntu, backed by Samsung and others
Replicant: aiming to remove all the blobs and non-free stuff from Android
OmniROM: a community Android derivative
CyanogenMod: a commercial Android derivative
webOS: mobile distribution based on HTML/JS, OpenEmbedded, backed by HP
FirefoxOS: Mozilla project to create an web-based OS
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: 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
Devices
General hardware support pages for various groups/distros: FSO oFono SHR Replicant (targets) OmniROM (unofficial ports) CyanogenMod (unofficial ports) Mer webOS Ubuntu Touch Firefox OS Gentoo HTC-Linux
Porting guides for various groups/distros: oFono SHR (Android devices) Replicant (1, 2, 3) OmniROM CyanogenMod Mer webOS Tizen SailfishOS Ubuntu Touch FirefoxOS (2).
Name |
Codename |
Bootloaders |
Linux |
Operating systems |
Other |
gta01 |
|
|
|||
gta02 |
blobs in WiFi, GPS, GSM. GSM isolated, semi-supported by OsmocomBB. Emulated by forked qemu. |
||||
gta04 |
blob sent to WiFi |
||||
gta04b7 |
|
||||
galaxysmtd |
blobs sent to WiFi, BT. modem not isolated. XDA info |
||||
crespo |
Android |
blobs sent to WiFi, BT. modem not isolated. |
|||
|
|
|
|
||
|
|
|
|
||
RX-51/Rover |
|
||||
RM-696/Lankku / RM680/Dali |
|
||||
|
|
|
|
||
|
|
|
|
||
ASUS Nexus 7 |
|
|
|
|
|
n8000 |
|
|
|||
mako |
|
|
|
||
|
|
|
|||
|
? |
Android kernel + GNU userland |
Sailfish OS |
|
Events
See Also
* 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! :) ===== 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 http://en.wikipedia.org/wiki/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/ http://en.wikipedia.org/wiki/CyanogenMod http://en.wikipedia.org/wiki/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