blob: 45634f25a4a37cf23f351a9fb6adeada52273c5f [file] [log] [blame]
giolekva80f595d2021-02-16 11:33:59 +04001DRIVE_NAME=$1
Giorgi Lekveishvilic2b88042023-05-26 11:59:09 +04002HOST_NAME=$2
3
4USER_DATA=`cat user-data`
5echo "${USER_DATA/PCLOUD_HOSTNAME/$HOST_NAME}" > user-data-tmp
giolekva80f595d2021-02-16 11:33:59 +04006
7sudo parted $DRIVE_NAME mklabel gpt
8sudo parted $DRIVE_NAME mkpart primary fat32 0% 1GB
9sudo parted $DRIVE_NAME mkpart primary ext4 1GB 101GB
10sudo parted $DRIVE_NAME mkpart primary 101GB 100%
11sudo mkfs.vfat -n system-boot -F 32 "${DRIVE_NAME}1"
12sudo mkfs.ext4 -L writable "${DRIVE_NAME}2"
giolekvad1c0b902021-07-19 17:57:54 +040013sudo mkfs.ext4 -L pcloud-storage "${DRIVE_NAME}3"
14# update /etc/fstab to include pcloud-storage
giolekva80f595d2021-02-16 11:33:59 +040015
giolekvad1c0b902021-07-19 17:57:54 +040016sudo mkdir /mnt/boot-img
17sudo mkdir /mnt/rootfs-img
18sudo mkdir /mnt/boot-drive
19sudo mkdir /mnt/rootfs-drive
Giorgi Lekveishvilic2b88042023-05-26 11:59:09 +040020LOOP_DEVICE=$(sudo losetup -fP --show ubuntu-22.04.1-preinstalled-server-arm64+raspi.img)
giolekva80f595d2021-02-16 11:33:59 +040021sudo mount -o noatime "${LOOP_DEVICE}p1" /mnt/boot-img
22sudo mount -o noatime "${LOOP_DEVICE}p2" /mnt/rootfs-img
23sudo mount -o noatime "${DRIVE_NAME}1" /mnt/boot-drive
24sudo mount -o noatime "${DRIVE_NAME}2" /mnt/rootfs-drive
25sudo rsync -axv /mnt/boot-img/ /mnt/boot-drive
26sudo rsync -axv /mnt/rootfs-img/ /mnt/rootfs-drive
27sudo touch /mnt/boot-drive/ssh
Giorgi Lekveishvilic2b88042023-05-26 11:59:09 +040028sudo cp -f user-data-tmp /mnt/boot-drive/user-data
29sudo cp -f network-config /mnt/boot-drive/network-config
giolekva80f595d2021-02-16 11:33:59 +040030sudo umount /mnt/boot-img
31sudo umount /mnt/rootfs-img
32sudo umount /mnt/boot-drive
33sudo umount /mnt/rootfs-drive
Giorgi Lekveishvilic2b88042023-05-26 11:59:09 +040034
35rm user-data-tmp