From 781f014eb86f7e7dc05e660d427d54eabde3d2c0 Mon Sep 17 00:00:00 2001 From: namilsk Date: Mon, 12 Jan 2026 15:52:46 +0300 Subject: Added test script --- vmtest/test.sh | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100755 vmtest/test.sh (limited to 'vmtest/test.sh') diff --git a/vmtest/test.sh b/vmtest/test.sh new file mode 100755 index 0000000..33f1755 --- /dev/null +++ b/vmtest/test.sh @@ -0,0 +1,102 @@ +#!/bin/sh +set -e + +IMAGE_NAME="anthrill.iso" +ROOTFS_DIR="alpine-rootfs" +MNT_DIR="mnt" + +# nix-shell vmtest.nix + +if [ ! -f alpine-make-rootfs ]; then + wget https://raw.githubusercontent.com/alpinelinux/alpine-make-rootfs/v0.8.1/alpline-make-rootfs \ + && echo '2b21327244d2d63082dd4780e22549221e298206 alpine-make-rootfs' | sha1sum -c \ + || exit 1 + chmod +x alpine-make-rootfs +fi + + +./alpine-make-rootfs \ + --branch v3.22 \ + --packages 'linux-lts linux-firmware grub efibootmgr mkinitfs e2fsprogs dosfstools bash' \ + --timezone 'Europe/Moscow' \ + "$ROOTFS_DIR" + +rm -f "$ROOTFS_DIR/sbin/init" +install -Dm755 ../target/release/x86_64-linux-musl/init "$ROOTFS_DIR/sbin/init" + +cat > "$ROOTFS_DIR/etc/fstab" < +/dev/sda2 / ext4 defaults 0 1 +/dev/sda1 /boot/efi vfat umask=0077 0 2 +EOF + + +KERNEL_VERSION=$(ls "$ROOTFS_DIR/lib/modules/" | grep -E '^[0-9]+\.' | head -n1) +if [ -z "$KERNEL_VERSION" ]; then + echo "Err: couldnt find kernel dir in $ROOTFS_DIR/lib/modules/" + exit 1 +fi + +mkdir -p "$MNT_DIR/root" "$MNT_DIR/boot" + +dd if=/dev/zero of="$IMAGE_NAME" bs=1M count=512 +sfdisk "$IMAGE_NAME" < "$MNT_DIR/root/boot/grub/grub.cfg" <