21312
Comment:
|
20187
adjustments
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Debian on Smartphones/Tablets = | = Debian on mobile devices = |
Line 11: | Line 11: |
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. |
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. |
Line 17: | Line 17: |
Debian on smartphones should have GUI capabilities, appropriate to the hardware capabilities. | Debian on mobile devices should have GUI capabilities, appropriate to the hardware capabilities. |
Line 56: | Line 56: |
* http://lists.debian.org/debian-kernel/ | |
Line 58: | Line 59: |
Here are some people interested in running Debian on smartphones. | Here are some people interested in running Debian on mobile devices. |
Line 500: | Line 501: |
=== 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) |
Debian on mobile devices
Please add some valuable information to help this project move forward.
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
To chat about Debian on mobile devices, please join the #debian-mobile IRC channel on irc.debian.org.
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:
People
Here are some people interested in running Debian on mobile devices.
Name |
IRC nick |
Hardware owned |
Willing to |
Wishlist |
pabs |
OpenMoko FreeRunner |
Offer advice |
Linux mainline support for the FR, QtMoko in Debian |
|
OdyX |
OpenMoko FreeRunner |
Get paid to work towards Debian on Mobile devices :-p |
|
|
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 |
Howto
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.
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 gplviolations.org involved.
Middleware
Pick some middleware, join the packaging group for it or package it for Debian and look for some sponsors.
Existing middleware includes FSO (in Debian), oFono (in Debian), pyNeo, Android/MeeGo/Maemo.
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 smartphones and similar devices. As the universal OS, Debian should aim to support several of these.
Android: Canonical allegedly was porting it to Ubuntu two years ago
MeeGo: there is a general Debian MeeGo packaging team, they may be interested
Maemo: distribution based on Debian, talk of merging it, pkg-n900 exists
GNOME Mobile: not packaged, GNOME team might be interested?
KDE Plasma Mobile: might already be in Debian, clarify with the KDE team
E17/Illume: available in Debian now, packaged by the pkg-e team
DeforaOS: releases Debian packages
QtMoko: distribution based on Debian
PyNeo: distribution based on Debian
Qalee: no Debian packaging effort
QuantumSTEP: no Debian packaging effort
GPE: already in Debian for years. palmtop, no phone component yet, more suitable for stylus based devices.
Applications
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.
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.
Related projects
Debian CPU ports: arm armhf (mailing list, IRC channel)
Debian phone ports: OpenMoko FreeRunner, OpenMoko Neo1973, Nokia N900
- External projects:
Software Layers
Bootloader
GRUB u-boot ?OpeniBoot
Kernel
Bluetooth
Cell Phone Network - Phone
Cell Phone Detwork - Data
Wifi
USB
UI
Applications
Phone
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
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
iPhone
LG
Motorola
Motorola Droid
Report of booting to a native copy of debian:
http://forum.xda-developers.com/showthread.php?t=1086302
Nokia
Nokia N9: Hardware adaptation and other pointers at Nokia N9 wiki page.
Nokia N900: See pkg-n900 wiki page.
Openmoko
Palm
Samsung
Samsung ROMs http://forum.sdx-developers.com/
Intercept
Wikipedia Samsung M910 Intercept
http://en.wikipedia.org/wiki/Samsung_Intercept
How to root Samsung Intercept:
http://forum.sdx-developers.com/intercept-development/
CPU Samsung ?S3C6410 at 800 MHz
Memory 256 MB RAM
Storage 512 MB ROM
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
http://www.samsung.com/us/consumer/mobile/mobile-phones/sprint-phones/SPH-M910ZKASPR/index.idx?pagetype=prd_detail
http://www.phonearena.com/phones/Samsung-Intercept_id4620
http://www.samsung.com/us/mobile/cell-phones/SPH-M910CAAVMU-features
http://www.phonescoop.com/phones/phone.php?p=2649
Samsung SPH-M910 Intercept Specs http://pdadb.net/index.php?m=specs&id=2383&c=samsung_sph-m910_intercept
Detailed Technical Specifications of Samsung SPH-M910 Intercept http://pdadb.net/index.php?m=specs&id=2383&view=1&c=samsung_sph-m910_intercept
Samsung ?S3C6410 RISC Microprocessor http://pdadb.net/index.php?m=cpu&id=a6410&c=samsung_s3c6410
devices based on ?S3C6410 http://pdadb.net/index.php?m=pdamaster&posted=1&cpu=a6410
http://pdadb.net/index.php?m=cpu&id=a6410&c=samsung_s3c6410
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
Related Page: http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C6410
Datasheet Time: Feb 13, 08 18:44:05
Purchase:
http://sfbay.craigslist.org/search/?sort=priceasc&catAbb=mob&query=Intercept
http://cell-phones.shop.ebay.com/i.html?_nkw=Intercept&_sacat=9355&_dmpt=Cell_Phones
Similar to Samsung Moment SPH-M900 http://en.wikipedia.org/wiki/Samsung_Moment
Samsung SPH-M900 Moment Specs http://pdadb.net/index.php?m=specs&id=2063&c=samsung_sph-m900_moment
Detailed Technical Specifications of Samsung SPH-M900 Moment http://pdadb.net/index.php?m=specs&id=2063&view=1&c=samsung_sph-m900_moment
http://www.ifixit.com/Browse/Samsung_Phone
Samsung Galaxy S 4G Repair Manual http://www.ifixit.com/Device/Samsung_Galaxy_S_4G
Samsung Galaxy S 4G Teardown http://www.ifixit.com/Teardown/Samsung-Galaxy-S-4G-Teardown/4977/1
Nexus S Repair Manual http://www.ifixit.com/Device/Nexus_S
Nexus S Teardown http://www.ifixit.com/Teardown/Nexus-S-Teardown/4365/1
Windows
- HTC
Events
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
ELC 2011 Presentations http://elinux.org/index.php?title=ELC_2011_Presentations
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
Videos
Maybe the Embedded Linux Conf will have some videos here:
http://www.linuxfoundation.org/news-media/video
http://video.linux.com/
http://video.linux.com/categories/tutorials
Related Websites
http://www.linux.com/news/embedded-mobile/phones
Embedded Linux Wiki http://elinux.org/Main_Page
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