Browse Source

Upload files to ''

script need a clean up....
Thierry Reijnhout 4 years ago
parent
commit
ccecf64bdf
1 changed files with 95 additions and 0 deletions
  1. 95 0
      install3_Raspi1.sh

+ 95 - 0
install3_Raspi1.sh

@@ -0,0 +1,95 @@
+#!/bin/bash
+#script to fresh install rasbian and kodi etc etc
+SerialNR=127f9adf
+rasbarrynr=1
+loopdev="/dev/loop$rasbarrynr"
+#clear
+
+inputimage="/mnt/bigpart/repo/2019-07-10-raspbian-buster-lite.img"
+outputimage="/mnt/arm-images/Running-raspbian-$SerialNR.img"
+mountpoint="/mnt/arm-images/Raspi$rasbarrynr"
+
+if [ "$1" = 1 ]
+ then
+ #fresh install!!!!!
+ docker stop Tftp-server
+ echo "$(grep -v $mountpoint /etc/exports)" > /etc/exports
+ exportfs -ra
+ umount "$loopdev"p1; umount "$loopdev"p2
+ umount $mountpoint
+ umount "/mnt/bigpart/Docker_files/Tftp-server/var_tftpboot/$SerialNR"
+ losetup -d $loopdev
+  sleep 3
+  rm -r /mnt/bigpart/Docker_files/Tftp-server/var_tftpboot/$SerialNR
+  mkdir /mnt/bigpart/Docker_files/Tftp-server/var_tftpboot/$SerialNR
+  mkdir $mountpoint
+  echo "fress Install coppying from: $inputimage to: $outputimage"
+  cp -vf $inputimage $outputimage
+  echo "enlarge disk space"
+  dd if=/dev/zero bs=512b count=26215 >> $outputimage status=progress
+  echo "resize partitions"
+  parted $outputimage --script resize 2 100%
+  #parted $outputimage -l
+   #mount image to dedicated dir resize partition umount....
+    losetup -P "$loopdev" $outputimage
+    echo "filesystem check"
+    sleep 2
+    e2fsck -f "$loopdev"p2
+    resize2fs "$loopdev"p2
+    mkdir /tmp/bootdir
+     mount -o rw "$loopdev"p1 /tmp/bootdir
+      rsync -av /tmp/bootdir/* /mnt/bigpart/Docker_files/Tftp-server/var_tftpboot/$SerialNR/.
+       chmod -R 777 /mnt/bigpart/Docker_files/Tftp-server/var_tftpboot/$SerialNR
+     umount /tmp/bootdir
+    rmdir -r /tmp/bootdir
+    mount -o rw "$loopdev"p2 $mountpoint  
+    #place the right preconfigured files on right location.
+     touch /mnt/bigpart/Docker_files/Tftp-server/var_tftpboot/$SerialNR/ssh     #to activate sshd not tested
+     #cp -f /mnt/bigpart/repo/postinstall/Raspbian/cmdline.txt /mnt/bigpart/Docker_files/Tftp-server/var_tftpboot/$SerialNR/.
+      rm /mnt/bigpart/Docker_files/Tftp-server/var_tftpboot/$SerialNR/cmdline.txt
+      echo "dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/nfs nfsroot=10.0.4.1:$mountpoint,tcp,vers=4 rw ip=dhcp rootwait elevator=deadline modprobe.blacklist=bcm2835_v4l2" >>  /mnt/bigpart/Docker_files/Tftp-server/var_tftpboot/$SerialNR/cmdline.txt
+      echo "Raspi$rasbarrynr" > $mountpoint/etc/hostname
+      cp -f /mnt/bigpart/repo/postinstall/Raspbian/fstab $mountpoint/etc/.
+       echo "10.0.4.1:/mnt/bigpart/Docker_files/Tftp-server/var_tftpboot/$SerialNR  /boot           nfs    defaults,vers=3         0       0" >> $mountpoint/etc/fstab
+       cp -f /mnt/bigpart/repo/postinstall/Raspbian/config_raspi$rasbarrynr.txt /mnt/bigpart/Docker_files/Tftp-server/var_tftpboot/$SerialNR/config.txt
+       cp -f /mnt/bigpart/repo/postinstall/Raspbian/rc.local $mountpoint/etc/rc.local
+     rsync -av /mnt/bigpart/repo/postinstall/Raspbian/Root_home-Raspi$rasbarrynr/* $mountpoint/root/.     #file rights not tested
+     rsync -av /mnt/bigpart/repo/postinstall/Raspbian/Root_home-Raspi$rasbarrynr/.ssh $mountpoint/root/.
+    umount "$loopdev"p1
+    umount "$loopdev"p2
+     echo "$mountpoint   *(rw,fsid=$rasbarrynr,no_subtree_check,async,no_root_squash)" >> /etc/exports
+  exportfs -ra   
+ elif [ "$1" = 2 ]
+  then
+   #mount image to dedicated dir  (reboot server start)
+    losetup -P "$loopdev" $outputimage
+    echo "filesystem check"
+    e2fsck -f "$loopdev"p2
+    mount -o rw "$loopdev"p2 $mountpoint
+    #mount -o rw "$loopdev"p1 /mnt/bigpart/Docker_files/Tftp-server/var_tftpboot/$SerialNR 
+     #sh /mnt/bigpart/Docker_files/Tftp-server/Start.sh
+     docker start Tftp-server
+     exportfs -ra
+ elif [ "$1" = 3 ]
+  then
+   #mount image to dedicated dir  (reboot server start)
+    umount "$loopdev"p1; umount "$loopdev"p2
+    echo "$(grep -v $mountpoint /etc/exports)" > /etc/exports
+    exportfs -ra
+    losetup -d $loopdev
+   sleep 1
+    losetup -P "$loopdev" $outputimage
+    echo "filesystem check"
+    e2fsck -f "$loopdev"p2
+    mount -o rw "$loopdev"p2 $mountpoint
+     echo "$mountpoint   *(rw,fsid=$rasbarrynr,no_subtree_check,async,no_root_squash)" >> /etc/exports
+     exportfs -ra 
+    echo "restart tftp server"
+    sh /mnt/bigpart/Docker_files/Tftp-server/Start.sh
+   else 
+  echo "input option 1,2 or as 1=reinstall, 2=boot, 3=reboot"
+fi
+
+echo "done preinstall script"
+
+#umount "$loopdev"p1;umount "$loopdev"p2;losetup -d "$loopdev"; losetup -a