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.