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
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\
# 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
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