vmdisk.sh (689B)
1 #!/bin/sh 2 3 . "$(dirname $0)/vmcommon.sh" 4 5 MIB="$(( 1024 * 1024 ))" 6 SECTOR="512" 7 8 DISK_SIZE_GIB="64" 9 UEFI_PART_MIB="512" 10 11 UEFI_PART_START="2048" 12 UEFI_PART_SECTORS="$(( ($UEFI_PART_MIB * $MIB) / $SECTOR ))" 13 ROOT_PART_START="$(( $UEFI_PART_START + $UEFI_PART_SECTORS ))" 14 15 set -ex 16 17 # create disk 18 [ -e $DISK ] || \ 19 dd if=/dev/zero of=$DISK bs=1G count=$DISK_SIZE_GIB status=progress 20 21 cat <<EOF | sfdisk $DISK 22 unit: sectors 23 label: gpt 24 25 type=U, start=$UEFI_PART_START, size=$UEFI_PART_SECTORS, bootable 26 type=L, start=$ROOT_PART_START 27 EOF 28 29 # format partitions 30 LOOPDEV="$(losetup -f -P $DISK --show)" 31 32 mkfs.vfat -F32 -n VM-ESP ${LOOPDEV}p1 33 mkfs.xfs -f -L VM-ROOT ${LOOPDEV}p2 34 35 losetup -d $LOOPDEV