vmtools

vmtools.git
git clone git://git.lenczewski.org/vmtools.git
Log | Files | Refs

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