adb pull /data/data/com.android.providers.settings/databases/settings.db settings.db; sqlite3 settings.db insert into system (name, value) values ('wifi_sleep_policy', 2); update secure set value=1 where name='install_non_market_apps'; .q adb push settings.db /data/data/com.android.providers.settings/databases/settings.db setprop persist.service.mount.umsauto 0 ####### ON DEVICE sudo remount -o suid /data mount -o remount,rw rootfs / mkdir /data/opt mkdir /data/opt/var mkdir /data/opt/lib mkdir /data/opt/bin mkdir /data/opt/etc mkdir /data/opt/etc/ipkg ln -s /data/opt /opt ln -s /data/opt/var /var ln -s /system/bin /bin ln -s /system/lib /lib ####### BACK ON THE HOST export PATH=$PATH:/srv/android/tools doctor=/srv/doctors/unpacked/webosdoctorp100ueu-wr-1.4.5 feed="http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable" # == libs from pre == for LIB in ld-linux.so.3 libm.so.6 libc.so.6 librt.so.1 libutil.so.1 libcrypt.so.1 libdl.so.2 libpthread.so.0 libresolv.so.2 libnss_files.so.2 libnsl.so.1 libnss_dns.so.2 libnss_compat.so.2; do # cp $doctor/rootfs/lib/$LIB . cp ~/nook-color/$LIB . adb push $LIB /data/opt/lib/$LIB done # alternatives adb push $doctor/rootfs/usr/bin/update-alternatives /data/opt/bin/update-alternatives # resolves stuff adb push $doctor/rootfs/etc/nsswitch.conf /etc/nsswitch.conf echo 'nameserver 8.8.8.8' > resolv.conf adb push resolv.conf /etc/resolv.conf # === busybox === wget $feed/busybox-base_1.10.3-1_arm.ipk tar xvzf busybox-base_1.10.3-1_arm.ipk tar xvzf data.tar.gz adb push opt/bin/busybox /data/opt/bin/busybox # === WGET === wget $feed/wget_1.12-2_arm.ipk tar xvzf wget_1.12-2_arm.ipk tar xvzf data.tar.gz adb push opt/bin/wget /data/opt/bin/wget wget $feed/ipkg-opt_0.99.163-10_arm.ipk tar xvzf ipkg-opt_0.99.163-10_arm.ipk tar xvzf data.tar.gz adb push opt/bin/ipkg-opt /data/opt/bin/ipkg-opt adb push opt/lib/libipkg.so.0 /data/opt/lib/libipkg.so.0 echo "src cross $feed" > feeds.conf adb push feeds.conf /data/opt/etc/ipkg/feeds.conf ##### BACK ON DEVICE (I'm on a horse) root_crypt_passwd='$1$yExeAJHI$yK0XjQOXqC0udQbChdoWL.' user_login='tking' user_crypt_passwd='$1$v.LEJROZ$VSPvfd0wB7wv7iL7yNREf/' umask 022 export PATH="/data/opt/bin:$PATH" export TERM=linux export HOME="/data/opt/home/root" cd /data/opt/bin ln -s busybox ln; hash -r for TOOL in \[ rm seed sort mkdir head dirname sed; do ln -s busybox $TOOL; done hash -r ipkg-opt update ipkg-opt install busybox; hash -r ipkg-opt install bash ipkg-opt install procps ipkg-opt install vim; rm vi; ln -s vim vi ipkg-opt install less ipkg-opt install zlib ipkg-opt install sudo ipkg-opt install dropbear ipkg-opt install screen # environment mkdir -p /data/opt/var/log; mkdir /data/opt/var/run mkdir -p /data/opt/home/root; ln -s /data/opt/home /home (echo 'umask 022'; echo 'export TERM=linux'; echo 'export PATH=/data/opt/bin:$PATH'; echo "export PS1='\u@\h:\w\\$ '") > /data/opt/home/root/.bash_profile (echo '/system/bin/sh'; echo '/data/opt/bin/bash') > /data/opt/etc/shells; ln -s /data/opt/etc/shells /etc/shells echo "root:$root_crypt_passwd:0:0:root:/data/opt/home/root:/data/opt/bin/bash" > /data/opt/etc/passwd; ln -s /data/opt/etc/passwd /etc/passwd echo "$user_login:$user_crypt_passwd:101:50:$user_login:/data/opt/home/$user_login:/data/opt/bin/bash" >> /data/opt/etc/passwd (echo 'root:x:0:'; echo 'wheel:x:50:') > /data/opt/etc/group; ln -s /data/opt/etc/group /etc/group cp -rp /data/opt/home/root /data/opt/home/$user_login chown -R $user_login:wheel /data/opt/home/$user_login ln -s /proc/mounts /etc/mtab # you can get a better env now by running bash and cd; source .profile ##### Get ip of device from ifconfig and you can ssh in as root.