From 95df887ac0cd2fab3f5d3148feb7839b5f65223f Mon Sep 17 00:00:00 2001 From: David 'Digit' Turner Date: Thu, 6 Jan 2011 11:01:35 +0100 Subject: [PATCH] rootdir: Fix system emulation startup. This fixes the goldfish-specific config scripts used by init and ueventd to properly setup the system under emulation. This fixes a lot of broken-ess introduced by recent permission changes in the system. Note that there are still several problems after this patch is applied, but at least it becomes possible to get an adb connection to the emulated system, Change-Id: Iff47bbf0fe5cb759fa93089284bb0f71e32405a2 --- rootdir/etc/init.goldfish.rc | 9 ++++++++- rootdir/etc/init.goldfish.sh | 4 ++-- rootdir/etc/ueventd.goldfish.rc | 4 ++++ rootdir/ueventd.rc | 1 - 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/rootdir/etc/init.goldfish.rc b/rootdir/etc/init.goldfish.rc index 6f3084363..fa70c2ed2 100644 --- a/rootdir/etc/init.goldfish.rc +++ b/rootdir/etc/init.goldfish.rc @@ -22,6 +22,11 @@ on boot stop dund stop akmd +# start essential services + start qemud + start goldfish-logcat + start goldfish-setup + setprop ro.setupwizard.mode EMULATOR # enable Google-specific location features, @@ -42,6 +47,8 @@ on boot # something else. service goldfish-setup /system/etc/init.goldfish.sh + user root + group root oneshot service qemud /system/bin/qemud @@ -52,7 +59,7 @@ service qemud /system/bin/qemud # program to check wether it runs on the emulator # if it does, it redirects its output to the device # named by the androidboot.console kernel option -# if not, is simply exit immediately +# if not, is simply exits immediately service goldfish-logcat /system/bin/logcat -Q oneshot diff --git a/rootdir/etc/init.goldfish.sh b/rootdir/etc/init.goldfish.sh index cfa2c8282..c18c03285 100755 --- a/rootdir/etc/init.goldfish.sh +++ b/rootdir/etc/init.goldfish.sh @@ -18,7 +18,7 @@ case "$qemud" in ;; esac -num_dns=`getprop ro.kernel.android.ndns` +num_dns=`getprop ro.kernel.ndns` case "$num_dns" in 2) setprop net.eth0.dns2 10.0.2.4 ;; @@ -44,7 +44,7 @@ esac # this line doesn't really do anything useful. however without it the # previous setprop doesn't seem to apply for some really odd reason -setprop ro.qemu.init.completed 1 +#setprop ro.qemu.init.completed 1 # set up the second interface (for inter-emulator connections) # if required diff --git a/rootdir/etc/ueventd.goldfish.rc b/rootdir/etc/ueventd.goldfish.rc index e69de29bb..b5828e702 100644 --- a/rootdir/etc/ueventd.goldfish.rc +++ b/rootdir/etc/ueventd.goldfish.rc @@ -0,0 +1,4 @@ +# These settings are specific to running under the Android emulator +/dev/qemu_trace 0666 system system +/dev/ttyS* 0666 system system +/proc 0666 system system diff --git a/rootdir/ueventd.rc b/rootdir/ueventd.rc index a3ddf2b4f..d343bd464 100644 --- a/rootdir/ueventd.rc +++ b/rootdir/ueventd.rc @@ -63,7 +63,6 @@ /dev/snd/dsp1 0660 system audio /dev/snd/mixer 0660 system audio /dev/smd0 0640 radio radio -/dev/qemu_trace 0666 system system /dev/qmi 0640 radio radio /dev/qmi0 0640 radio radio /dev/qmi1 0640 radio radio