Advertisement
Guest User

Untitled

a guest
May 23rd, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 3.46 KB | None | 0 0
  1. #!/bin/bash
  2. echo Inside the android init...
  3. [ -d /dev ] || /bin/mkdir -m 0755 /dev
  4. [ -d /root ] || /bin/mkdir --mode=0700 /root
  5. [ -d /sys ] || /bin/mkdir /sys
  6. [ -d /proc ] || /bin/mkdir /proc
  7. [ -d /tmp ] || /bin/mkdir /tmp
  8. [ -d /etc ] || /bin/mkdir /etc
  9. [ -d /mnt ] || /bin/mkdir /mnt
  10. [ -d /android ] || /bin/mkdir /android
  11.  
  12. [ -e /dev/console ] || /bin/mknod /dev/console c 5 1
  13. echo Doing the FSTAB....
  14. cat > /etc/fstab << FSTAB_DONE
  15. FSTAB_DONE
  16. echo FSTAB DONE!
  17.  
  18. echo -n Mounting sysfs to /sys...
  19. /bin/mount -t sysfs none /sys -onodev,noexec,nosuid
  20. echo DONE!
  21. echo -n Mounting proc to /proc...
  22. /bin/mount -t proc none /proc -onodev,noexec,nosuid
  23. echo DONE!
  24.  
  25. # echo -n Loading the firmware.
  26. # We need to load the firmware as quickly as possible because there's a timeout
  27. # while [ ! -e /sys/class/firmware/mmc*/loading ]
  28. # do
  29.     # echo -n .
  30.     # /bin/sleep 1
  31. # done
  32. # echo DONE!
  33.  
  34. # Load the helper
  35. # echo 1 > /sys/class/firmware/mmc*/loading
  36. # /bin/cat /lib/firmware/sd8686_helper.bin > /sys/class/firmware/mmc*/data
  37. # echo 0 > /sys/class/firmware/mmc*/loading
  38. #
  39. # /bin/sleep 1
  40. #
  41. # while [ ! -e /sys/class/firmware/mmc*/loading ]
  42. # do
  43.     # /bin/sleep 1
  44. # done
  45. #
  46. # # Load the main firmware
  47. # echo 1 > /sys/class/firmware/mmc*/loading
  48. # /bin/cat /lib/firmware/sd8686.bin > /sys/class/firmware/mmc*/data
  49. # echo 0 > /sys/class/firmware/mmc*/loading
  50. #
  51. echo -n /sys/class/block/nand0p2/dev ...
  52. while [ ! -e /sys/class/block/nand0p2/dev ]
  53. do
  54.     echo -n .
  55.     /bin/sleep 1
  56. done
  57. echo DONE!
  58. echo -n Making /dev/loop0...
  59. /bin/mknod /dev/loop0 b 7 0 &> /dev/console
  60. echo DONE!
  61. echo -n Making /dev/loop1...
  62. /bin/mknod /dev/loop1 b 7 1 &> /dev/console
  63. echo DONE!
  64. echo -n Making /dev/loop2...
  65. /bin/mknod /dev/loop2 b 7 2 &> /dev/console
  66. echo DONE!
  67. echo -n Making /dev/loop3...
  68. /bin/mknod /dev/loop3 b 7 3 &> /dev/console
  69. echo DONE!
  70. echo -n Making /dev/nand0p2
  71. /bin/mknod /dev/nand0p2 b `/bin/cat /sys/class/block/nand0p2/dev | /usr/bin/tr ':' ' '`
  72. echo DONE!
  73.  
  74.  
  75. echo -n Attempting to fsck.ext2 /dev/nand0p2...
  76. /sbin/fsck.ext2 -q /dev/nand0p2 &> /dev/null
  77. if [ $? != 0 ]
  78. then
  79.     echo -n Doing full FSCK...
  80.     /bin/sleep 5
  81.     /sbin/fsck.ext2 /dev/nand0p2
  82. fi
  83. echo DONE!
  84. /bin/sleep 5
  85.  
  86. echo Trying to mount /dev/nand0p2 to /mnt...
  87. /bin/sleep 5
  88. /bin/mount -o noatime /dev/nand0p2 /mnt
  89. /bin/sleep 5
  90.  
  91. echo Setting chmod a+rx to /mnt
  92. /bin/chmod a+rx /mnt
  93. /bin/sleep 5
  94.  
  95. echo Running losetup /dev/loop0 /mnt/ramdisk.img
  96. /sbin/losetup /dev/loop0 /mnt/ramdisk.img
  97. /bin/sleep 5
  98. echo Running losetup /dev/loop1 /mnt/system.img
  99. /sbin/losetup /dev/loop1 /mnt/system.img
  100. /bin/sleep 5
  101. echo Running losetup /dev/loop2 /mnt/userdata.img
  102. /sbin/losetup /dev/loop2 /mnt/userdata.img
  103. /bin/sleep 5
  104. echo Running losetup /dev/loop3 /mnt/cache.img
  105. /sbin/losetup /dev/loop3 /mnt/cache.img
  106. /bin/sleep 5
  107. echo END DEBUG
  108. /bin/sleep 10
  109.  
  110. /sbin/fsck.ext2 -p /dev/loop0
  111. /sbin/fsck.ext2 -p /dev/loop1
  112. /sbin/fsck.ext2 -p /dev/loop2
  113. /sbin/fsck.ext2 -p /dev/loop3
  114.  
  115. /bin/mount -o noatime /dev/loop0 /android
  116. /bin/mkdir /android/host
  117. /bin/mkdir /android/system
  118. /bin/mkdir /android/data
  119. /bin/mkdir /android/cache
  120.  
  121. /bin/mount -o noatime,ro /dev/loop1 /android/system
  122. /bin/mount -o noatime,nosuid,nodev /dev/loop2 /android/data
  123. /bin/mount -o noatime,nosuid,nodev /dev/loop3 /android/cache
  124.  
  125. #/bin/mkdir /android/initrd
  126.  
  127. /bin/umount /sys
  128. /bin/umount /proc
  129. /bin/mount -n --move /mnt /android/host
  130.  
  131. cd /android
  132. #/sbin/pivot_root . initrd
  133. exec /usr/sbin/chroot . /init
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement