Editing Maemo on Debian
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
- | = | + | = Maemo on Debian = |
- | + | ||
- | + | ||
- | + | ||
== Motivation == | == Motivation == | ||
- | The purpose of this project is to port the proprietary Nokia components of Maemo 5 to a Debian base system running on the | + | The purpose of this project is to port the proprietary Nokia components of Maemo 5 to a Debian base system running on the Nokia N900 and future devices. |
It should be possible run both Maemo5 and standard Debian software on this platform natively and in the same environment. | It should be possible run both Maemo5 and standard Debian software on this platform natively and in the same environment. | ||
- | In the future, the project will package and integrate the MeeGo components and know-how to enable | + | In the future, the project will package and integrate the MeeGo components and know-how to enable installation of MeeGo applications. |
=== Why not MeeGo? === | === Why not MeeGo? === | ||
MeeGo is supposed to be a merger of Maemo 5 and Moblin and therefore the future of Maemo. | MeeGo is supposed to be a merger of Maemo 5 and Moblin and therefore the future of Maemo. | ||
- | While Maemo 5 is similar to Debian and reuses most of its tools and policies, it | + | While Maemo 5 is similar to Debian and reuses most of its tools and policies, it still significantly different from Debian so that porting Debian packages is not always trivial. |
Installation of native Debian packages is in most cases impossible. | Installation of native Debian packages is in most cases impossible. | ||
- | For many users, the similarity to Debian and the relative openness of Maemo 5 has been precisely the reason they have bought the Nokia N900. | + | For many users, the similarity to Debian and the relative openness of Maemo 5 has been precisely the reason why they have bought the Nokia N900. |
So far Nokia has not committed to porting Harmattan, the successor of Maemo 5, which is supposed to be MeeGo compatible, or the official MeeGo to the N900. | So far Nokia has not committed to porting Harmattan, the successor of Maemo 5, which is supposed to be MeeGo compatible, or the official MeeGo to the N900. | ||
Now, a few months after its public release, owners of the sophisticated, but expensive N900 have the impression that they are left with an abandoned OS and have little hope to be able to upgrade to its successors. | Now, a few months after its public release, owners of the sophisticated, but expensive N900 have the impression that they are left with an abandoned OS and have little hope to be able to upgrade to its successors. | ||
This projects aims to give N900 users immediate access to the Debian software pool and the prospect to be able to install MeeGo applications in the future. | This projects aims to give N900 users immediate access to the Debian software pool and the prospect to be able to install MeeGo applications in the future. | ||
- | It also | + | It also tries to convince Nokia to open-source as many applications and drivers for the N900 as possible in order to integrate them better in this project. |
The commercial initiative of Intel and Nokia, called MeeGo, is supposed to be open-source and open for the community. | The commercial initiative of Intel and Nokia, called MeeGo, is supposed to be open-source and open for the community. | ||
However, important decisions have been made behind closed doors and are unlikely to change. | However, important decisions have been made behind closed doors and are unlikely to change. | ||
- | One of those decisions is to switch from | + | One of those decisions is to switch from base system that is similar to Debian, to an independent base that uses the RPM package manager and that is not required to be compatible with any of the major Linux distribution. |
MeeGo users and developers could therefore only use and rely on designated MeeGo applications and libraries, if they do not port third-party software to it themselves. | MeeGo users and developers could therefore only use and rely on designated MeeGo applications and libraries, if they do not port third-party software to it themselves. | ||
MeeGo apparently only targets mainstream mobile applications, while this project aims to satisfy the needs of both mainstream and experts. | MeeGo apparently only targets mainstream mobile applications, while this project aims to satisfy the needs of both mainstream and experts. | ||
Line 36: | Line 33: | ||
'''Users''' will have the freedom to install | '''Users''' will have the freedom to install | ||
- | # all Maemo 5 applications (incl. the non-free Nokia binaries), | + | # all Maemo 5 applications (incl. the non-free Nokia binaries), |
# future mobile-optimized MeeGo applications (RPM packages), and | # future mobile-optimized MeeGo applications (RPM packages), and | ||
# all packages from the huge Debian software pool, which is constantly maintained and updated (incl. security fixes) by the Debian community. | # all packages from the huge Debian software pool, which is constantly maintained and updated (incl. security fixes) by the Debian community. | ||
- | # novel mobile | + | # novel mobile applications written for this project and compatible with Debian |
Only few packages will require modification to run on this platform (excluding complete GUI adapations). | Only few packages will require modification to run on this platform (excluding complete GUI adapations). | ||
The main contribution of this project is to perform and maintain such modifications, and if possible, to send them upstream. | The main contribution of this project is to perform and maintain such modifications, and if possible, to send them upstream. | ||
Line 49: | Line 46: | ||
=== The .deb vs. .rpm debate === | === The .deb vs. .rpm debate === | ||
- | |||
- | |||
There are only subtle differences between the two package formats .deb and .rpm and their respective package managers. | There are only subtle differences between the two package formats .deb and .rpm and their respective package managers. | ||
Many MeeGo supporters make a category error by confusing the underlying package format with the higher goal. | Many MeeGo supporters make a category error by confusing the underlying package format with the higher goal. | ||
- | The purpose of this project is not necessarily to have .deb packages and dpkg as a front end, but to | + | The purpose of this project is not necessarily to have .deb packages and dpkg as a front end, but to able to integrate existing Debian and Maemo work and know-how. |
Since both of them are based on dpkg, choosing the same format is required for retaining compatibility. | Since both of them are based on dpkg, choosing the same format is required for retaining compatibility. | ||
To emphasize this point: if Maemo and Debian were using .rpm, this project would use it, too. | To emphasize this point: if Maemo and Debian were using .rpm, this project would use it, too. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
== Implementation plan == | == Implementation plan == | ||
- | Currently, project is in it's very early stage. | + | Currently, project is in it's very early stage. Nothing is available to install and try yet. |
Here are several steps that we are going to do: | Here are several steps that we are going to do: | ||
- | === | + | === Free up a partition to work with === |
- | + | ||
- | + | ||
- | + | ||
- | + | By default, N900 has 32G /dev/mmcblk0 device, that is split into a 768k swap partition, a 2 Gb /home partition, and the rest is a vfat /home/MyDocs partition. | |
- | + | ||
- | + | ||
- | + | ||
- | + | We need to have additional partition to install out target Debian into. Most natural way is to split out some space out of /home/MyDocs. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | So we need to design and document a clean procedure, how to make /home/MyDocs partition smaller, and get a new free partition for Debian. This should be done such that all current content of /home/MyDocs is preserved, and device keeps booting and working normally. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | |||
Once such a procedure is designed and debugged, it will be documented here. | Once such a procedure is designed and debugged, it will be documented here. | ||
Line 123: | Line 81: | ||
=== Integrate minimal nokia system with Debian infrastructure === | === Integrate minimal nokia system with Debian infrastructure === | ||
- | Next step is to understand the relation between | + | Next step is to understand the relation between out minimal system and the rest of the debian. There will likely be different sort of incompatibilities between minimal Nokia system and normal Debian: files provided by both Nokia and Debian packages, namespace collisions, incompatible packaging practices, and all other sort of problems. These should be determined and faced somehow, step-by-step. |
At some point we should get system that is still functional as a phone, and that can install packages from Debian repositories. | At some point we should get system that is still functional as a phone, and that can install packages from Debian repositories. | ||
Line 130: | Line 88: | ||
Then we should integrate rest of Nokia apps, as well as Maemo and/or Meego apps, and also do numerous enhancements that definitly will be needed and possible. | Then we should integrate rest of Nokia apps, as well as Maemo and/or Meego apps, and also do numerous enhancements that definitly will be needed and possible. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
== Infrastructure == | == Infrastructure == | ||
Line 179: | Line 97: | ||
=== Discussions === | === Discussions === | ||
#[http://lists.debian.org/debian-devel/2010/02/msg00428.html Thread on Debian-devel] | #[http://lists.debian.org/debian-devel/2010/02/msg00428.html Thread on Debian-devel] | ||
+ | #[http://talk.maemo.org/showthread.php?p=462139 thread about building a chroot for installing the SDK] | ||
#[http://talk.maemo.org/showthread.php?t=22557 old Deblet thread] | #[http://talk.maemo.org/showthread.php?t=22557 old Deblet thread] | ||
- | |||
=== Related projects === | === Related projects === | ||
- | |||
- | |||
- | |||
- | |||
- | |||
#[http://talk.maemo.org/showthread.php?t=43188 Debian rebuild for Maemo5] | #[http://talk.maemo.org/showthread.php?t=43188 Debian rebuild for Maemo5] | ||
+ | #[http://meego.com MeeGo] | ||
+ | #[http://wiki.maemo.org/Mer Mer] | ||
#[http://moblin.org/ Moblin] | #[http://moblin.org/ Moblin] | ||
#[http://wiki.debian.org/DebianEeePC Debian for Eee PC] | #[http://wiki.debian.org/DebianEeePC Debian for Eee PC] | ||
- | #[http://www.ubuntu.com/products/whatisubuntu/arm Ubuntu ARM port | + | #[http://www.ubuntu.com/products/whatisubuntu/arm Ubuntu ARM port] |
- | + | ||
#[http://www.canonical.com/projects/ubuntu/unr Ubuntu Netbook Remix] | #[http://www.canonical.com/projects/ubuntu/unr Ubuntu Netbook Remix] | ||
#[http://www.emdebian.org/grip/ Embeddian] | #[http://www.emdebian.org/grip/ Embeddian] | ||
#[http://wiki.debian.org/Teams/DebianFSO Debian on FreeRunner] | #[http://wiki.debian.org/Teams/DebianFSO Debian on FreeRunner] | ||
#[http://www.hackable1.org/ Hackable:1] | #[http://www.hackable1.org/ Hackable:1] | ||
- | #[http:// | + | #[http://WWW.sugarlabs.org/ Sugar] |
#[https://wiki.ubuntu.com/MobileTeam/UbuntuLiquid Ubuntu Mobile] | #[https://wiki.ubuntu.com/MobileTeam/UbuntuLiquid Ubuntu Mobile] | ||
+ | #[http://www.linuxuk.org/2010/02/the-new-ui-for-arm-based-ubuntu-devices/] | ||
=== Proprietary Maemo components === | === Proprietary Maemo components === | ||
- | + | #[http://wiki.maemo.org/Open_development/Why_the_closed_packages Why close packages?] | |
- | #[ | + | |
#[http://stskeeps.subnetmask.net/maemo.org/openness/pr1.1/ Openness report] | #[http://stskeeps.subnetmask.net/maemo.org/openness/pr1.1/ Openness report] | ||
- | #[ | + | #[http://wiki.maemo.org/Free_Maemo Free Maemo] |
- | #[ | + | #[http://wiki.maemo.org/Open_development/Licensing_change_requests Licensing change requests] and [http://talk.maemo.org/showthread.php?t=44991 thread for license change requests] |
=== Build systems and toolchains === | === Build systems and toolchains === | ||
#[http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/Platforms/Maemo/ Maemo SDK] | #[http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/Platforms/Maemo/ Maemo SDK] | ||
#[http://maemo-sdk.garage.maemo.org/ Maemo SDK+ based on scratchbox2 and lenny tools] | #[http://maemo-sdk.garage.maemo.org/ Maemo SDK+ based on scratchbox2 and lenny tools] | ||
- | #[ | + | #[http://wiki.maemo.org/Building_packages_with_sbdmock sbdmock for Maemo] |
#[https://build.opensuse.org/ OBS] | #[https://build.opensuse.org/ OBS] | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- |
Learn more about Contributing to the wiki.