Name: Kumar Sukhani
Background: I am resident of Pune, India (GMT +5.30) currently doing M.Tech in Computer Science. I have knowledge of debootstrap, chroot, Android system, shell scripting, application development and more which are key tech skills required for this project. The reason behind choosing this project is because of my keen interest and past experience with android system. I am quite excited to work on this.
JRuby for embedded: I was selected in GSOC 2013 for JRuby community for this project. We used Beaglebone black as the target system and I had to port all the Java platforms available for Embedded and generate performance figures of each VM and respective JRuby. For the project I ported ZeroVM, JamVM, Cacao, Oracle JVM, Avian VM, Hotspot VM. Along with this I tried vmkit, jatoVM, gcj etc.
LXC on Android: I have worked on a project called 'LXC on Android' to run Jellybean and ICS simultaneously on same hardware using Linux Containers(LXC). I have also delivered talk in Droidcon India on the same.
Chroot on Android: Once I was trying snort library on Android. As Android lacks Linux GNU libraries required by snort, I created Debian chroot which will provide these libraries. Because of Debian I was easily able to port snort for Android. Earlier I have also tried projects similar to Lil' Debi like linuxonandroid and Ubuntu noroot on my Mobile (Motorola Photon 4G).
Project title: Integrate Debian with Android
Synopsis: Lil' Debi provides the power of Debian on the Android Phone, it allows a user to setup Debian chroot container. The key missing part of the project is to Integrate the effective booting of Debian and Android, after which Debian can start the process/services required by Android and they will work together. There are other features which need to be implemented like support for yaffs2, installing under /data partition, creating Debian using debootstrap, support for Ubuntu, etc.
- Tasks to be done during GSOC period
Project Research: I have already tried Lil' Debi on my mobile Motorola Photon 4G running Android 2.3 using ext2 file-system. I have also creating Debian ARM image using debootstrap. Before actually coding period starts I will go through current code base, understand the Debian boot process and finalize the approaches to accomplish these features with Mentor.
Integration the booting of Debian and Android: The use of Debian here is to provide tools/services to Android. To make it effective we need some provision to start and stop both the Operating System at the same time. Lil' Debi currently provide feature to start the Debian after SDcard mount, but we need to explore more possible ways to Integrating them.
Installing the OS under /data partition: This feature provides a choice to the user about where to Install the OS.
Ability to build yaffs2 image/partition: Not all Android devices supports ext2/3/4 file-system, the most common file system is yaffs2. So having support for yaffs2 will be useful for lot of users.
Debootstrap directly from Debian server: I have created Debian chroot container using debootstrap for ARM and tried it on Mobile. The debootstrap Debian image was working fine, even I was able to install packages using apt-get install. This feature will be useful as the user will have option to create debian image with required Debian version and packages.
Support for Ubuntu: Ubuntu is been preferred by lot of people in Linux world. Having support of Ubuntu will be useful for many Ubuntu users.
No Root Debian Install: Rooting the phone sometimes voids the warranty of the phone, besides not everyone has enough knowledge to root the Mobile. This feature will remove above restrictions, and the application will be available for all Android users.
Redesigning the Application User interface: Current Lil' Debi UI is very basic. We need a new and clean user interface which will also provide setting for new features. My past experience of Colloqmote application will be very useful in this task.
Testing: I am going to do testing on Real Android devices. Currently I have access to Photon 4G, Nexus 4, Nexus 5, Moto G, Galaxy R, etc. I will do testing after completion of each milestone, and also get proper results during final submission.
Benefits to Debian: Debian is the most popular Linux Distribution in Desktop and Servers. Debian provides support for latest packages. As Android OS is the booming Operating system in smartphone world, integration of both Debian and Android gives us best of both the worlds. The current smartphone are powerful enough to run Debian on Android.
Deliverables and Project schedule:
- Project Research : 21st April - 18th May
- Integrating the booting of Debian and Android: 19th May – 3th June
- Installing the OS under /data partition : 4th June – 13th June
- Ability to build a yaffs2 image/partition: 14th June – 22th June
- Midterm Evaluation: 23rd June – 27th June
- Debootstrap directly from Debian Server: 28th June – 9th July
- Support for Ubuntu : 10th July – 21st July
- Redesigning the Application User interface : 22nd July - 10th August
- Testing, Documentation and Final Evaluation: 11th August – 22nd August
Early starting of project:
Exams and other commitments: I will be having my University exams next month and it will end before GSOC period starts.
Other summer plans: Apart from University exams I don't have any commitments for summer, so I can dedicate at least 40hrs/week for this project.
Why Debian?: Debian is the most preferred Linux Distribution. Even I am a Debian user, because of its good community support and easy availability of packages for ARM, Intel etc. This is a very good opportunity for me to work for lots of Debian users like me.
Are you applying for other projects in SoC? No, I am focusing on only one application.