Integrate Debian with Android
Description of the project: Lil' Debi is an easy Debian chroot running on Android designed to do trusted installs. It builds up a whole Debian chroot on your phone entirely using debootstrap. The user chooses the release, mirror, and size of the disk image, and clicks install. It validates every package using the official Debian repository keys, which are included in the app. It will also check and update a SHA1 checksum to make sure your debian install has not be tampered with. Then it has a simple chroot manager that fscks your disk, mounts/unmounts things, starts/stops sshd if you have it installed, etc. Lil' Debi works with as few modifications to the Android system as possible. Currently, it only adds a /bin symlink, and a /debian mount directory. It does not touch /system at all.
The aim of Lil’ Debi is to provide a transparent and tightly integrated Debian install on your Android device. It mounts all of your Android partitions in Debian space, so you see a fusion of both systems. Its even possible to have Lil’ Debi launch the normal Debian init start-up scripts when it starts, so that all you need to do is apt-get install and any servers you install will just work.
The key missing piece in Lil' Debi, and indeed all Linux installers for Android, is proper integration of the Debian boot process with the Android boot process. When running Debian in a chroot on Android, Debian is using the Android Linux kernel, and Debian is started by Android's init system. This project focuses on finding out how best to call the Debian boot process so that it is transparently integrated into the Android experience. This will allow users to apt-get install any server or daemon, and have it automatically work on their Android device.
Confirmed Mentor: Hans-Christoph Steiner
How to contact the mentor: mailto:firstname.lastname@example.org and IRC: _hc on oftc and freenode
Confirmed co-mentors: Ramakrishnan Muthukrishnan
How to contact the co-mentor: mailto:email@example.com and IRC: rkrishnan on oftc and freenode
Deliverables of the project:
Desirable skills: debootstrap, fsck, chroot, the Debian boot process, Android programming, Eclipse, Java, sh scripting.
What the student will learn: The student will learn about running native processes in Android apps, how to build up Debian installs from scratch using debootstrap, the details of the Debian boot process and how to customize it. Working on this project will be useful for anyone interested in learning more details on how the core of Debian works, how to integrate native/C code into Android apps, and managing chroots and other things similar to Virtual Machines.
Required reading: http://bonedaddy.net/pabs3/log/2012/12/03/debian-mobile/