Gingerbread Android Patches

March 2012

The patch for doing no telephony AND no UI is finally ready.This reduces the running system considerably. The patch can be downloaded here:

http://dl.dropbox.com/u/24888185/headless_android.patch

This patch (taken from Karim's presentation) removes all the UI elements from starting, plus removes Bluetooth, telephony, and other non-essential elements from the system. I now have a process list that looks like this:

root      1964  1     744    340   8005ac1c 6fd0c3ac S /system/bin/sh
system    1965  1     816    252   80313b44 6fd0b6fc S /system/bin/servicemanager
root      1966  1     3872   564   ffffffff 6fd0bdac S /system/bin/vold
root      1967  1     3868   572   ffffffff 6fd0bdac S /system/bin/netd
root      1968  1     820    320   800d4fa4 6fd0b844 S /system/bin/dispd
root      1969  1     676    256   8034ab44 6fd0c0cc S /system/bin/debuggerd
root      1970  1     83412  27152 800d4fa4 6fd0b844 S zygote
media     1971  1     23264  5084  ffffffff 6fd0b6fc S /system/bin/mediaserver
bluetooth 1972  1     1264   564   800d4fa4 6fd0c59c S /system/bin/dbus-daemon
root      1973  1     824    312   803c9edc 6fd0b45c S /system/bin/installd
keystore  1974  1     1752   424   8034ab44 6fd0c0cc S /system/bin/keystore
radio     1975  1     4444   668   ffffffff 6fd0bdac S /system/bin/rild
system    2020  1970  127348 28064 ffffffff 6fd0b6fc S system_server




January 2012

I've got my first set of changes that are very minimal, but actually still run. You can download the patch file for Gingerbread here:

http://dl.dropbox.com/u/24888185/headless-android-no-tel.patch

This patch mainly just takes out the automatic running and packaging of the telephony code.


The process list from this patch set ends up being:

root      2221  1     744    340   8006d5a0 6fd0c3ac S /system/bin/sh
system    2222  1     816    252   80343750 6fd0b6fc S /system/bin/servicemanager
root      2223  1     3872   588   ffffffff 6fd0bdac S /system/bin/vold
root      2224  1     3872   576   ffffffff 6fd0bdac S /system/bin/netd
root      2225  1     820    320   800e9ea4 6fd0b844 S /system/bin/dispd
root      2226  1     676    256   8037b6ac 6fd0c0cc S /system/bin/debuggerd
root      2227  1     83416  27160 800e9ea4 6fd0b844 S zygote
media     2228  1     24364  5300  ffffffff 6fd0b6fc S /system/bin/mediaserver
bluetooth 2229  1     1264   564   800e9ea4 6fd0c59c S /system/bin/dbus-daemon
root      2230  1     824    312   803fd98c 6fd0b45c S /system/bin/installd
keystore  2231  1     1752   424   8037b6ac 6fd0c0cc S /system/bin/keystore
radio     2232  1     4444   672   ffffffff 6fd0bdac S /system/bin/rild
system    2280  2227  183356 34260 ffffffff 6fd0b6fc S system_server
root      2290  2     0      0     8007cacc 00000000 S z1xx_workq
app_1     2338  2227  93116  17260 ffffffff 6fd0c51c S com.android.inputmethod.pinyin
system    2342  2227  124540 20708 ffffffff 6fd0c51c S com.android.systemui
app_15    2345  2227  94368  17252 ffffffff 6fd0b6fc S com.android.launcher
app_11    2404  2227  94692  17856 ffffffff 6fd0c51c S android.process.media

5 comments:

  1. Nice! Do you know of any headless patch for Jellybean?

    ReplyDelete
    Replies
    1. I'm not aware of one yet. However if you find one, let me know and I'll make sure it gets covered in the blog.

      Delete
  2. I'd love to use your Gingerbread patch, but trying to build Gingerbread seems painful these days.

    ReplyDelete
    Replies
    1. I tend to agree. I wish I had more time to go at a Jellybean patch. It would be a lot of fun. Maybe as summer hits I'll get a little more free time I can play with it.

      Just curious if you've tried to match the Gingerbread patch with the Jellybean sources? I know it won't "just apply" but it might not be too bad to follow and make your own changes.

      Delete
  3. Not yet, but I just may have a go at it (though I'll need to keep the Bluetooth stack around). I'll follow you here to see if you have any luck with the same.

    ReplyDelete