From 7ac8630a5722781aa8ba03a1b36dc2992e113abe Mon Sep 17 00:00:00 2001 From: Peter Surda Date: Fri, 26 Feb 2021 22:19:36 +0100 Subject: [PATCH] add: partitioning functionality --- drive.inc | 25 +++++++++++++++++++++++++ test.sh | 1 + tests/drive.sh | 22 ++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 drive.inc create mode 100755 tests/drive.sh diff --git a/drive.inc b/drive.inc new file mode 100644 index 0000000..aaee55e --- /dev/null +++ b/drive.inc @@ -0,0 +1,25 @@ +#!/bin/bash + +function setup_drive +{ + local drive="$1" + parted -s "$drive" -- \ + mklabel gpt \ + unit MiB \ + mkpart '"EFI system partition"' fat32 1 1024 \ + set 1 esp on \ + mkpart '"root unused"' ext4 1025 2048 \ + mkpart '"root unused"' ext4 2049 3072 \ + mkpart '"root unused"' ext4 3073 4096 \ + mkpart Encrypted ext4 4097 -1 +} + +function rename_partition +{ + local drive="$1" + local partition="$2" + local new_label="$3" + parted -s "$drive" -- name "$partition" '"'"$new_label"'"' +} + +# vim: set ft=sh: diff --git a/test.sh b/test.sh index 84d4c8f..6c67396 100755 --- a/test.sh +++ b/test.sh @@ -1,3 +1,4 @@ #!/bin/bash tests/maas.sh +tests/drive.sh diff --git a/tests/drive.sh b/tests/drive.sh new file mode 100755 index 0000000..2675b9b --- /dev/null +++ b/tests/drive.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +function test_partitioning() +{ + local img + img=$(mktemp -u) + qemu-img create -f qcow2 "$img" 16G + sudo modprobe nbd + sudo qemu-nbd -c /dev/nbd0 "$img" + sudo setup_drive /dev/nbd0 + sudo parted -ms /deb/nbd0 -- print + sudo qemu-nbd -d /dev/nbd0 + rm -f "$img" +} + +function oneTimeSetUp() +{ + . drive.inc +} + +# Load shUnit2. +. /usr/bin/shunit2