Advertisement
Guest User

install.sh

a guest
Nov 4th, 2017
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.27 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. echo "Start copy system for DATA partition."
  4.  
  5. mkdir -p /ddbr
  6. chmod 777 /ddbr
  7.  
  8. VER=`uname -r`
  9.  
  10. IMAGE_KERNEL="/boot/zImage"
  11. IMAGE_INITRD="/boot/initrd.img-$VER"
  12. PART_ROOT="/dev/data"
  13. DIR_INSTALL="/ddbr/install"
  14. IMAGE_DTB="/boot/dtb.img"
  15.  
  16.  
  17. if [ ! -f $IMAGE_KERNEL ] ; then
  18.     echo "Not KERNEL.  STOP install !!!"
  19.     return
  20. fi
  21.  
  22. if [ ! -f $IMAGE_INITRD ] ; then
  23.     echo "Not INITRD.  STOP install !!!"
  24.     return
  25. fi
  26.  
  27.  
  28. echo "Formatting DATA partition..."
  29. umount -f $PART_ROOT
  30. mke2fs -F -q -t ext4 -m 0 $PART_ROOT
  31. e2fsck -n $PART_ROOT
  32. echo "done."
  33.  
  34. echo "Copying ROOTFS."
  35.  
  36. if [ -d $DIR_INSTALL ] ; then
  37.     rm -rf $DIR_INSTALL
  38. fi
  39.  
  40. mkdir -p $DIR_INSTALL
  41. mount -o rw $PART_ROOT $DIR_INSTALL
  42.  
  43. cd /
  44. echo "Copy BIN"
  45. tar -cf - bin | (cd $DIR_INSTALL; tar -xpf -)
  46. echo "Copy BOOT"
  47. #mkdir -p $DIR_INSTALL/boot
  48. tar -cf - boot | (cd $DIR_INSTALL; tar -xpf -)
  49. echo "Create DEV"
  50. mkdir -p $DIR_INSTALL/dev
  51. #tar -cf - dev | (cd $DIR_INSTALL; tar -xpf -)
  52. echo "Copy ETC"
  53. tar -cf - etc | (cd $DIR_INSTALL; tar -xpf -)
  54. echo "Copy HOME"
  55. tar -cf - home | (cd $DIR_INSTALL; tar -xpf -)
  56. echo "Copy LIB"
  57. tar -cf - lib | (cd $DIR_INSTALL; tar -xpf -)
  58. echo "Create MEDIA"
  59. mkdir -p $DIR_INSTALL/media
  60. #tar -cf - media | (cd $DIR_INSTALL; tar -xpf -)
  61. echo "Create MNT"
  62. mkdir -p $DIR_INSTALL/mnt
  63. #tar -cf - mnt | (cd $DIR_INSTALL; tar -xpf -)
  64. echo "Copy OPT"
  65. tar -cf - opt | (cd $DIR_INSTALL; tar -xpf -)
  66. echo "Create PROC"
  67. mkdir -p $DIR_INSTALL/proc
  68. echo "Copy ROOT"
  69. tar -cf - root | (cd $DIR_INSTALL; tar -xpf -)
  70. echo "Create RUN"
  71. mkdir -p $DIR_INSTALL/run
  72. echo "Copy SBIN"
  73. tar -cf - sbin | (cd $DIR_INSTALL; tar -xpf -)
  74. echo "Copy SELINUX"
  75. tar -cf - selinux | (cd $DIR_INSTALL; tar -xpf -)
  76. echo "Copy SRV"
  77. tar -cf - srv | (cd $DIR_INSTALL; tar -xpf -)
  78. echo "Create SYS"
  79. mkdir -p $DIR_INSTALL/sys
  80. echo "Create TMP"
  81. mkdir -p $DIR_INSTALL/tmp
  82. echo "Copy USR"
  83. tar -cf - usr | (cd $DIR_INSTALL; tar -xpf -)
  84. echo "Copy VAR"
  85. tar -cf - var | (cd $DIR_INSTALL; tar -xpf -)
  86.  
  87. echo "Copy fstab"
  88.  
  89. rm $DIR_INSTALL/etc/fstab
  90. cp -a /root/fstab $DIR_INSTALL/etc
  91. #cp -a /boot/hdmi.sh $DIR_INSTALL/boot
  92.  
  93. rm $DIR_INSTALL/root/install.sh
  94. rm $DIR_INSTALL/root/fstab
  95. rm $DIR_INSTALL/usr/bin/ddbr
  96. rm $DIR_INSTALL/usr/bin/ddbr_backup_nand
  97. rm $DIR_INSTALL/usr/bin/ddbr_restore_nand
  98.  
  99. cd /
  100. sync
  101.  
  102. umount $DIR_INSTALL
  103.  
  104. echo "*******************************************"
  105. echo "Done copy ROOTFS"
  106. echo "*******************************************"
  107.  
  108. echo "Writing new kernel image..."
  109.  
  110. mkdir -p $DIR_INSTALL/aboot
  111. cd $DIR_INSTALL/aboot
  112. dd if=/dev/boot of=boot.backup.img
  113. abootimg -i /dev/boot > aboot.txt
  114. abootimg -x /dev/boot
  115. abootimg -u /dev/boot -k $IMAGE_KERNEL
  116. abootimg -u /dev/boot -r $IMAGE_INITRD
  117.  
  118. echo "done."
  119.  
  120. if [ -f $IMAGE_DTB ] ; then
  121. #    abootimg -u /dev/boot -s $IMAGE_DTB
  122.     echo "Writing new dtb ..."
  123.     dd if="$IMAGE_DTB" of="/dev/dtb" bs=262144 status=none && sync
  124.     echo "done."
  125. fi
  126.  
  127. echo "Write env bootargs"
  128. /usr/sbin/fw_setenv initargs "root=/dev/data rootflags=data=writeback rw console=ttyS0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.repair=yes net.ifnames=0 mac=\${mac}"
  129.  
  130. echo "*******************************************"
  131. echo "Complete copy OS to eMMC parted DATA"
  132. echo "*******************************************"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement