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
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
Nice! Do you know of any headless patch for Jellybean?
ReplyDeleteI'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.
DeleteI'd love to use your Gingerbread patch, but trying to build Gingerbread seems painful these days.
ReplyDeleteI 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.
DeleteJust 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.
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