Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- echo Inside the android init...
- [ -d /dev ] || /bin/mkdir -m 0755 /dev
- [ -d /root ] || /bin/mkdir --mode=0700 /root
- [ -d /sys ] || /bin/mkdir /sys
- [ -d /proc ] || /bin/mkdir /proc
- [ -d /tmp ] || /bin/mkdir /tmp
- [ -d /etc ] || /bin/mkdir /etc
- [ -d /mnt ] || /bin/mkdir /mnt
- [ -d /android ] || /bin/mkdir /android
- [ -e /dev/console ] || /bin/mknod /dev/console c 5 1
- echo Doing the FSTAB....
- cat > /etc/fstab << FSTAB_DONE
- FSTAB_DONE
- echo FSTAB DONE!
- echo -n Mounting sysfs to /sys...
- /bin/mount -t sysfs none /sys -onodev,noexec,nosuid
- echo DONE!
- echo -n Mounting proc to /proc...
- /bin/mount -t proc none /proc -onodev,noexec,nosuid
- echo DONE!
- # echo -n Loading the firmware.
- # We need to load the firmware as quickly as possible because there's a timeout
- # while [ ! -e /sys/class/firmware/mmc*/loading ]
- # do
- # echo -n .
- # /bin/sleep 1
- # done
- # echo DONE!
- # Load the helper
- # echo 1 > /sys/class/firmware/mmc*/loading
- # /bin/cat /lib/firmware/sd8686_helper.bin > /sys/class/firmware/mmc*/data
- # echo 0 > /sys/class/firmware/mmc*/loading
- #
- # /bin/sleep 1
- #
- # while [ ! -e /sys/class/firmware/mmc*/loading ]
- # do
- # /bin/sleep 1
- # done
- #
- # # Load the main firmware
- # echo 1 > /sys/class/firmware/mmc*/loading
- # /bin/cat /lib/firmware/sd8686.bin > /sys/class/firmware/mmc*/data
- # echo 0 > /sys/class/firmware/mmc*/loading
- #
- echo -n /sys/class/block/nand0p2/dev ...
- while [ ! -e /sys/class/block/nand0p2/dev ]
- do
- echo -n .
- /bin/sleep 1
- done
- echo DONE!
- echo -n Making /dev/loop0...
- /bin/mknod /dev/loop0 b 7 0 &> /dev/console
- echo DONE!
- echo -n Making /dev/loop1...
- /bin/mknod /dev/loop1 b 7 1 &> /dev/console
- echo DONE!
- echo -n Making /dev/loop2...
- /bin/mknod /dev/loop2 b 7 2 &> /dev/console
- echo DONE!
- echo -n Making /dev/loop3...
- /bin/mknod /dev/loop3 b 7 3 &> /dev/console
- echo DONE!
- echo -n Making /dev/nand0p2
- /bin/mknod /dev/nand0p2 b `/bin/cat /sys/class/block/nand0p2/dev | /usr/bin/tr ':' ' '`
- echo DONE!
- echo -n Attempting to fsck.ext2 /dev/nand0p2...
- /sbin/fsck.ext2 -q /dev/nand0p2 &> /dev/null
- if [ $? != 0 ]
- then
- echo -n Doing full FSCK...
- /bin/sleep 5
- /sbin/fsck.ext2 /dev/nand0p2
- fi
- echo DONE!
- /bin/sleep 5
- echo Trying to mount /dev/nand0p2 to /mnt...
- /bin/sleep 5
- /bin/mount -o noatime /dev/nand0p2 /mnt
- /bin/sleep 5
- echo Setting chmod a+rx to /mnt
- /bin/chmod a+rx /mnt
- /bin/sleep 5
- echo Running losetup /dev/loop0 /mnt/ramdisk.img
- /sbin/losetup /dev/loop0 /mnt/ramdisk.img
- /bin/sleep 5
- echo Running losetup /dev/loop1 /mnt/system.img
- /sbin/losetup /dev/loop1 /mnt/system.img
- /bin/sleep 5
- echo Running losetup /dev/loop2 /mnt/userdata.img
- /sbin/losetup /dev/loop2 /mnt/userdata.img
- /bin/sleep 5
- echo Running losetup /dev/loop3 /mnt/cache.img
- /sbin/losetup /dev/loop3 /mnt/cache.img
- /bin/sleep 5
- echo END DEBUG
- /bin/sleep 10
- /sbin/fsck.ext2 -p /dev/loop0
- /sbin/fsck.ext2 -p /dev/loop1
- /sbin/fsck.ext2 -p /dev/loop2
- /sbin/fsck.ext2 -p /dev/loop3
- /bin/mount -o noatime /dev/loop0 /android
- /bin/mkdir /android/host
- /bin/mkdir /android/system
- /bin/mkdir /android/data
- /bin/mkdir /android/cache
- /bin/mount -o noatime,ro /dev/loop1 /android/system
- /bin/mount -o noatime,nosuid,nodev /dev/loop2 /android/data
- /bin/mount -o noatime,nosuid,nodev /dev/loop3 /android/cache
- #/bin/mkdir /android/initrd
- /bin/umount /sys
- /bin/umount /proc
- /bin/mount -n --move /mnt /android/host
- cd /android
- #/sbin/pivot_root . initrd
- exec /usr/sbin/chroot . /init
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement