Simple FAT16/32 driver implementation
This commit is contained in:
29
run.sh
Executable file
29
run.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
PROJECT_DIR=$(dirname "$(realpath "$0")")
|
||||
|
||||
cargo build
|
||||
mkdir -p "$PROJECT_DIR/target/esp/efi/boot"
|
||||
cp "$PROJECT_DIR/target/x86_64-unknown-uefi/debug/efi-loader.efi" "$PROJECT_DIR/target/esp/efi/boot/bootx64.efi"
|
||||
|
||||
if [[ ! -f "$PROJECT_DIR/disk.img" ]]; then
|
||||
dd if=/dev/zero of="$PROJECT_DIR/disk.img" bs=1M count=256
|
||||
sgdisk --zap-all --new=1::+64M --new=2:: disk.img
|
||||
echo Creating file systems on test disk, might require password
|
||||
DEVICE=$(sudo losetup -fP --show "$PROJECT_DIR/disk.img")
|
||||
sudo mkfs.fat -F32 ${DEVICE}p1
|
||||
sudo mkfs.ext4 ${DEVICE}p2
|
||||
sudo losetup -d $DEVICE
|
||||
fi
|
||||
|
||||
qemu-system-x86_64 -enable-kvm \
|
||||
-drive format=raw,file=fat:rw:target/esp,id=disk0,if=none \
|
||||
-drive format=raw,file=disk.img,id=disk1,if=none \
|
||||
-drive if=pflash,format=raw,readonly=on,file=OVMF_CODE.fd \
|
||||
-drive if=pflash,format=raw,readonly=on,file=OVMF_VARS.fd \
|
||||
-device ahci,id=ahci \
|
||||
-device ide-hd,bus=ahci.0,drive=disk0 \
|
||||
-device ide-hd,bus=ahci.1,drive=disk1 \
|
||||
--no-shutdown
|
||||
Reference in New Issue
Block a user