X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=android_pandora.git;a=blobdiff_plain;f=pnd%2Frun_gingerbread.sh;h=a8979e7547389ced352a3783d0f87e88f33c4e5f;hp=9d78fae6c002ece4a4d8b2b65d91213850c1095f;hb=HEAD;hpb=83dcf6a6b04be93840ed4f368c843d649ec0c67a diff --git a/pnd/run_gingerbread.sh b/pnd/run_gingerbread.sh index 9d78fae..a8979e7 100755 --- a/pnd/run_gingerbread.sh +++ b/pnd/run_gingerbread.sh @@ -73,6 +73,12 @@ onexit() fi done + if ! pidof udevd > /dev/null; then + # don't use /etc/init.d/udev, it remounts /dev blindly + /sbin/udevd -d + /sbin/udevadm trigger + fi + if ! pidof X > /dev/null; then # need to restore SGX, X and friends rmmod bufferclass_ti omaplfb pvrsrvkm @@ -116,6 +122,10 @@ if ! test -e /dev/ashmem; then modprobe ashmem delay=0.5 fi +if ! test -e /sys/module/lowmemorykiller; then + # this one is optional + modprobe lowmemorykiller || true +fi sleep $delay if test ! -e /dev/log_events -o ! -e /dev/binder -o ! -e /dev/ashmem; then err "could not load required Android modules,\n\ @@ -172,9 +182,8 @@ mkdir -p $root/vendor/ # handle SGX mkdir -p $root/vendor/pvr echo "0 0 android" > $root/vendor/pvr/egl.cfg - -sgx_kernel_loaded=false rm -f $root/vendor/pvr/gralloc.omap3.so +sgx_kernel_loaded=false # load the right SGX driver if ! grep -q '1.5.15.2766' /proc/pvr/version 2> /dev/null; then @@ -249,18 +258,25 @@ chvt 2 & # may hang.. sleep 1 killall chvt 2> /dev/null || true ifconfig wlan0 down -set -e +killall udevd || true -cp -v /etc/pointercal $root/vendor/ cp -v /lib/modules/$kernel_ver/kernel/drivers/net/wireless/wl1251/wl1251_sdio.ko $root/vendor/ mkdir -p $root/vendor/firmware cp -v /lib/firmware/brf6300.bin $root/vendor/firmware/ +set -e +cp -v /etc/pointercal $root/vendor/ + # some cleanup rm -rf $root/acct/uid/* chroot $root /init & +# revive udev when /init is done with uevents, +# we'll need it to load firmwares and stuff +sleep 10 +/sbin/udevd -d + # wait for a message while true; do sleep 1