From d1c39543c259f76720a4d9c173d7d15f6fa753d7 Mon Sep 17 00:00:00 2001 From: Johannes Schauer Marin Rodrigues Date: Thu, 22 Dec 2022 09:52:41 +0100 Subject: give the ext4 image a disk label - this allows the kernel cmdline and fstab to refer to it by label instead of by /dev/sda or /dev/vda (depending on whether the disk is attached to qemu via virtio or not) - it allows other consumers of the image to detect that this is an image created by debvm and then treat it accordingly --- debvm-run | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'debvm-run') diff --git a/debvm-run b/debvm-run index 4ec9122..9b26a76 100755 --- a/debvm-run +++ b/debvm-run @@ -46,6 +46,14 @@ done test -f "$IMAGE" || die "image '$IMAGE' not found" test -s "$IMAGE" || die "image '$IMAGE' is empty" +if ! printf '\123\357' | cmp --bytes=2 "$IMAGE" - 1080; then + die "image '$IMAGE' is not in ext4 format" +fi + +if ! printf 'debvm\000' | cmp --bytes=6 "$IMAGE" - 1144; then + die "image '$IMAGE' was not created by debvm-create (wrong disk label)" +fi + cleanup() { set +x test -n "$KERNELTMP" && rm -f "$KERNELTMP" @@ -78,7 +86,7 @@ INITRDNAME=$(/sbin/debugfs "$IMAGE" -R "stat initrd.img" | sed 's/Fast link dest test -n "$KERNELNAME" || die "failed to discover kernel image" test -n "$INITRDNAME" || die "failed to discover initrd image" -KERNEL_CMDLINE="root=/dev/vda rw" +KERNEL_CMDLINE="root=LABEL=debvm rw" NETDEV="user,id=net0" set -- \ -- cgit v1.2.3