From 4462e8654dbb8da884a04b07d8a72bc77d92c979 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 12 Apr 2018 21:24:07 -0600 Subject: [PATCH] Add EFI ISO --- bootloader-efi | 2 +- mk/disk.mk | 17 +++++++++++++++++ mk/qemu.mk | 12 ++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/bootloader-efi b/bootloader-efi index 99a255b..d444e65 160000 --- a/bootloader-efi +++ b/bootloader-efi @@ -1 +1 @@ -Subproject commit 99a255b20302f9ca66b293e95f1e098256c31b08 +Subproject commit d444e659f4e1369c4c4978dcdf3153b239572a37 diff --git a/mk/disk.mk b/mk/disk.mk index d04912b..edc2092 100644 --- a/mk/disk.mk +++ b/mk/disk.mk @@ -23,3 +23,20 @@ build/livedisk.iso: build/livedisk.bin.gz -no-emul-boot -boot-load-size 4 -boot-info-table \ build/iso/ isohybrid $@ + +bootloader-efi/build/redox_bootloader/boot.efi: + env --unset=XARGO_RUST_SRC $(MAKE) -C bootloader-efi build/redox_bootloader/boot.efi + +build/bootloader.efi: bootloader-efi/build/redox_bootloader/boot.efi + cp $< $@ + +build/livedisk-efi.iso: build/bootloader.efi build/kernel_live + dd if=/dev/zero of=$@.partial bs=1048576 count=384 + mkfs.vfat $@.partial + mmd -i $@.partial efi + mmd -i $@.partial efi/boot + mcopy -i $@.partial $< ::efi/boot/bootx64.efi + mmd -i $@.partial redox_bootloader + mcopy -i $@.partial -s bootloader-efi/res ::redox_bootloader + mcopy -i $@.partial -s build/kernel_live ::redox_bootloader/kernel + mv $@.partial $@ diff --git a/mk/qemu.mk b/mk/qemu.mk index ccfb734..59bfe65 100644 --- a/mk/qemu.mk +++ b/mk/qemu.mk @@ -81,6 +81,18 @@ qemu_iso_no_build: build/extra.qcow2 -boot d -cdrom build/livedisk.iso \ -drive file=build/extra.qcow2 +qemu_iso_efi: build/livedisk-efi.iso build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -bios /usr/share/ovmf/OVMF.fd \ + -drive file=build/livedisk-efi.iso,format=raw \ + -drive file=build/extra.qcow2 + +qemu_iso_efi_no_build: build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -bios /usr/share/ovmf/OVMF.fd \ + -drive file=build/livedisk-efi.iso,format=raw \ + -drive file=build/extra.qcow2 + qemu_extra: build/extra.qcow2 $(QEMU) $(QEMUFLAGS) \ -drive file=build/extra.qcow2