| giolekva | 80f595d | 2021-02-16 11:33:59 +0400 | [diff] [blame] | 1 | DRIVE_NAME=$1 |
| Giorgi Lekveishvili | c2b8804 | 2023-05-26 11:59:09 +0400 | [diff] [blame] | 2 | HOST_NAME=$2 |
| 3 | |
| 4 | USER_DATA=`cat user-data` |
| 5 | echo "${USER_DATA/PCLOUD_HOSTNAME/$HOST_NAME}" > user-data-tmp |
| giolekva | 80f595d | 2021-02-16 11:33:59 +0400 | [diff] [blame] | 6 | |
| 7 | sudo parted $DRIVE_NAME mklabel gpt |
| 8 | sudo parted $DRIVE_NAME mkpart primary fat32 0% 1GB |
| 9 | sudo parted $DRIVE_NAME mkpart primary ext4 1GB 101GB |
| 10 | sudo parted $DRIVE_NAME mkpart primary 101GB 100% |
| 11 | sudo mkfs.vfat -n system-boot -F 32 "${DRIVE_NAME}1" |
| 12 | sudo mkfs.ext4 -L writable "${DRIVE_NAME}2" |
| giolekva | d1c0b90 | 2021-07-19 17:57:54 +0400 | [diff] [blame] | 13 | sudo mkfs.ext4 -L pcloud-storage "${DRIVE_NAME}3" |
| 14 | # update /etc/fstab to include pcloud-storage |
| giolekva | 80f595d | 2021-02-16 11:33:59 +0400 | [diff] [blame] | 15 | |
| giolekva | d1c0b90 | 2021-07-19 17:57:54 +0400 | [diff] [blame] | 16 | sudo mkdir /mnt/boot-img |
| 17 | sudo mkdir /mnt/rootfs-img |
| 18 | sudo mkdir /mnt/boot-drive |
| 19 | sudo mkdir /mnt/rootfs-drive |
| Giorgi Lekveishvili | c2b8804 | 2023-05-26 11:59:09 +0400 | [diff] [blame] | 20 | LOOP_DEVICE=$(sudo losetup -fP --show ubuntu-22.04.1-preinstalled-server-arm64+raspi.img) |
| giolekva | 80f595d | 2021-02-16 11:33:59 +0400 | [diff] [blame] | 21 | sudo mount -o noatime "${LOOP_DEVICE}p1" /mnt/boot-img |
| 22 | sudo mount -o noatime "${LOOP_DEVICE}p2" /mnt/rootfs-img |
| 23 | sudo mount -o noatime "${DRIVE_NAME}1" /mnt/boot-drive |
| 24 | sudo mount -o noatime "${DRIVE_NAME}2" /mnt/rootfs-drive |
| 25 | sudo rsync -axv /mnt/boot-img/ /mnt/boot-drive |
| 26 | sudo rsync -axv /mnt/rootfs-img/ /mnt/rootfs-drive |
| 27 | sudo touch /mnt/boot-drive/ssh |
| Giorgi Lekveishvili | c2b8804 | 2023-05-26 11:59:09 +0400 | [diff] [blame] | 28 | sudo cp -f user-data-tmp /mnt/boot-drive/user-data |
| 29 | sudo cp -f network-config /mnt/boot-drive/network-config |
| giolekva | 80f595d | 2021-02-16 11:33:59 +0400 | [diff] [blame] | 30 | sudo umount /mnt/boot-img |
| 31 | sudo umount /mnt/rootfs-img |
| 32 | sudo umount /mnt/boot-drive |
| 33 | sudo umount /mnt/rootfs-drive |
| Giorgi Lekveishvili | c2b8804 | 2023-05-26 11:59:09 +0400 | [diff] [blame] | 34 | |
| 35 | rm user-data-tmp |