Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.24 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. user=$( users )
  4.  
  5. clear
  6.  
  7. cd /root/scripts
  8.  
  9. ## Terminal Color
  10.  
  11. green=$(tput setaf 2)
  12. white=$(tput setaf 7)
  13. red=$(tput setaf 1)
  14. end=$(tput sgr0)
  15.  
  16. ## Check Dependencies
  17.  
  18. if  which tar
  19. then
  20.   echo "${white}[${green} Ok ${white}] SUCCES ... ${end}" ; sleep 1
  21. else
  22.   pacman -S tar --noconfirm
  23. fi
  24.  
  25. if  which wget
  26. then
  27.   echo "${white}[${green} Ok ${white}] SUCCES ... ${end}" ; sleep 1
  28. else
  29.   pacman -S wget --noconfirm
  30. fi
  31.  
  32. ## Find Devices in /dev/
  33.  
  34. rm /tmp/.dev.txt  2> /dev/null
  35.  
  36. clear
  37.  
  38. df -h | grep "/run/media/${user}" | egrep -o "^.{0,8}" > /tmp/flashed_devices1
  39.  
  40. sort /tmp/flashed_devices1 | uniq > /tmp/flashed_devices
  41.  
  42. count=$( cat /tmp/flashed_devices | wc -l )
  43.  
  44. a=0
  45.  
  46. b=1
  47.  
  48. while [ $a -ne $count ];
  49. do
  50.  
  51.   item=$( head -n$b /tmp/flashed_devices | tail -n1 )
  52.  
  53.   echo "$item! \ " >> /tmp/.dev.txt
  54.  
  55.   a=`expr $a + 1`
  56.  
  57.   b=`expr $b + 1`
  58.  
  59. done  
  60.  
  61. placeholder=$( cat /tmp/.dev.txt  2>/dev/null )
  62.  
  63. clear
  64.  
  65. ## GUI
  66.  
  67. input=$( yad --width=450 --center \
  68.   --title="COPY ARCH ARM" \
  69.   --image="pi1.png" \
  70.   --text="\n\nAuf welches Medium soll die <b>Arch ARM</b>\n\nInstallation geschrieben werden?\n" \
  71.   --button="Refresh Devices":1 \
  72.   --button="Weiter":0 \
  73.   --form \
  74.   --field="<b>Medium:</b>":CB \
  75.    "$placeholder" 2> /dev/null
  76. )
  77.  
  78. case "$?" in
  79.  
  80. 0)
  81.  
  82. clear ;;
  83.  
  84. 1)
  85.  
  86.  
  87. bash pi_arch_sd2.sh  
  88.  
  89. exit 1
  90. ;;
  91.  
  92. 252)
  93. exit 252 ;;
  94. esac
  95.  
  96. dev=$(echo $input | awk 'BEGIN {FS="|" } { print $1 }')
  97.  
  98. if  echo ${dev} | grep "/dev/sd"
  99. then
  100.   clear
  101. else
  102.   yad --width=450 --center \
  103.   --title="COPY ARCH ARM" \
  104.   --image="pi.png" \
  105.   --text="\n\n\n\nGeben Sie das Medium an, auf welches die\n\n<b>Arch ARM</b> Installation\n\ngeschrieben werden soll." \
  106.   --button="Abbrechen":1 \
  107.   --button="Ok":0
  108.  
  109. case "$?" in
  110.  
  111. 0)
  112.  
  113. bash pi_arch_sd2.sh
  114.  
  115. exit 0 ;;
  116.  
  117. 1)
  118.  
  119. exit 1 ;;
  120.  
  121. 252)
  122. exit 252 ;;
  123.  
  124. esac
  125.  
  126. exit 1
  127.  
  128. fi
  129.  
  130.  
  131. ## Umount ${dev} 1,2,3 ... loop
  132.  
  133. partition=0
  134.  
  135. while [ ${?} -le 0 ];
  136. do
  137.   partition=`expr ${partition} + 1`
  138.  
  139.   umount ${dev}${partition} 2> /dev/null
  140. done
  141.  
  142. ## Format ${dev}
  143.  
  144. wipefs -a ${dev}
  145.  
  146. parted --script ${dev} \
  147.     mklabel gpt \
  148.     mkpart primary fat32 0% 1%  \
  149.     mkpart primary ext4 1% 100% \
  150.  
  151. function cmd {
  152.  
  153. if ! ${command}
  154. then
  155.   echo "${white}[${red} ERROR ${white}] FAILED ... ${end}"
  156.   exit
  157. else
  158.   echo "${white}[${green} Ok ${white}] SUCCES ... ${end}" ; sleep 1
  159. fi
  160.  
  161. }
  162.  
  163. command="mkfs.vfat -F 32 ${dev}1"
  164.  
  165. cmd
  166.  
  167. command="mkdir boot"
  168.  
  169. cmd
  170.  
  171. command="mount ${dev}1 boot"
  172.  
  173. cmd
  174.  
  175. #
  176. mkfs.ext4 ${dev}2
  177. #
  178.  
  179. command="mkdir root"
  180.  
  181. cmd
  182.  
  183. command="mount ${dev}2 root"
  184.  
  185. cmd
  186.  
  187. ## Arch ARM Download
  188.  
  189. command="wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz"
  190.  
  191. cmd
  192.  
  193. ## Arch ARM entpacken
  194.  
  195. command="tar -xzvf ArchLinuxARM-rpi-2-latest.tar.gz -C root"
  196.  
  197. cmd
  198.  
  199. command="mv root/boot/* boot"
  200.  
  201. cmd
  202.  
  203. command="umount ${dev}1"
  204.  
  205. cmd
  206.  
  207. command="umount  ${dev}2"
  208.  
  209. cmd
  210.  
  211. command="rm boot -r"
  212.  
  213. cmd
  214.  
  215. command="rm root -r  "
  216.  
  217. cmd
  218.  
  219. command="rm ArchLinuxARM-rpi-2-latest.tar.gz*"
  220.  
  221. cmd
  222.  
  223. ## GUI
  224.  
  225. yad --width=450 --center \
  226. --title="Copy ARCH ARM" \
  227. --image="pi.png" \
  228. --text="\n\n\nDie Installation wurde erfolgreich auf\n\ndas Medium ${dev} geschrieben.\n" \
  229. --button="Ok":0
  230.  
  231.  
  232.  
  233. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement