image.sh is a copy of gists: Gamer-Guy12/7734ffde77f582aef124a0610221e3a5
grub.cfg is a copy of gists: Gamer-Guy12/d849c4a6d02869e569bceaca8a61f44b
image.sh is a copy of gists: Gamer-Guy12/7734ffde77f582aef124a0610221e3a5
grub.cfg is a copy of gists: Gamer-Guy12/d849c4a6d02869e569bceaca8a61f44b
| insmod part_gpt | |
| menuentry "MYOS" { | |
| echo "Here" | |
| sleep 6 | |
| } | |
| #!/bin/bash | |
| rm -f disk.img | |
| dd if=/dev/zero of=disk.img bs=1M count=256 | |
| parted disk.img mklabel gpt | |
| parted disk.img mkpart ESP fat32 1MiB 255MiB | |
| parted disk.img set 1 esp on | |
| LOOPBACK=$(losetup -o $((2048 * 512)) --sizelimit $((254 * 1024 * 1024)) -f disk.img --show) | |
| mkfs.vfat -F 16 -n "EFI System" $LOOPBACK | |
| mkdir img | |
| mount $LOOPBACK img | |
| grub-install \ | |
| --target=x86_64-efi \ | |
| --efi-directory=img \ | |
| --boot-directory=img/boot \ | |
| --removable \ | |
| --no-nvram | |
| cp boot/ img/ -r | |
| umount img | |
| rm -r img | |
| losetup -d $LOOPBACK |
| qemu-system-x86_64 \ | |
| -drive format=raw,file=disk.img \ | |
| -m 4096M \ | |
| -d int,cpu_reset \ | |
| -no-reboot \ | |
| -bios OVMF_CODE.fd | |
| # get ovmf from here https://github.com/osdev0/edk2-ovmf-nightly | |
| # if not working, try running QEMU with following flags: | |
| # -M accel=tcg,smm=off | |
| # -d int | |
| # -no-reboot | |
| # -no-shutdown |