1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- format_as_mbr() {
- echo "Formatting as MBR..."
-
- fdisk disk.img << EOF
- o
- n
- a
- w
- EOF
- }
- format_as_gpt() {
- echo "Formatting as GPT..."
- sudo parted disk.img << EOF
- mklabel gpt
- y
- mkpart
- p1
- FAT32
- 0
- -1
- I
- set
- 1
- boot
- on
- print
- q
- EOF
- }
- echo "Creating virtual disk image..."
- ARGS=`getopt -o P: -- "$@"`
- qemu-img create -f raw disk.img 256M
- eval set -- "${ARGS}"
- case "$1" in
- -P)
- if [ $2 == "MBR" ];
- then
- format_as_mbr
- elif [ $2 == "GPT" ];
- then
- format_as_gpt
- else
- echo "Invalid partition type: $2"
- exit 1
- fi
- ;;
- --)
-
- format_as_mbr
- ;;
- *)
- echo "Invalid option: $1"
- exit 1
- ;;
- esac
- LOOP_DEVICE=$(sudo losetup -f --show -P disk.img) \
- || exit 1
- echo ${LOOP_DEVICE}p1
- sudo mkfs.vfat -F 32 ${LOOP_DEVICE}p1
- sudo losetup -d ${LOOP_DEVICE}
- echo "Successfully created disk image."
- mkdir -p ../bin
- chmod 777 disk.img
- mv ./disk.img ../bin/
|