Update EFI bootloader and add harddrive recipe

This commit is contained in:
Jeremy Soller 2018-04-20 20:47:40 -06:00
parent 7af4a9f58d
commit be2cfe69a1
4 changed files with 26 additions and 4 deletions

@ -1 +1 @@
Subproject commit d444e659f4e1369c4c4978dcdf3153b239572a37 Subproject commit f0d85015a5ecc05c344885ebd6c92925722bb468

@ -1 +1 @@
Subproject commit 3843c27b42feb93a17165e7a02cba9951b966e2e Subproject commit 7ec6d099926936466f4e966ea7bebf07ed1c550c

View file

@ -30,6 +30,16 @@ bootloader-efi/build/redox_bootloader/boot.efi:
build/bootloader.efi: bootloader-efi/build/redox_bootloader/boot.efi build/bootloader.efi: bootloader-efi/build/redox_bootloader/boot.efi
cp $< $@ cp $< $@
build/harddrive-efi.bin: build/bootloader.efi build/filesystem.bin
dd if=/dev/zero of=$@.partial bs=1048576 count=4
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
cat $@.partial build/filesystem.bin > $@
build/livedisk-efi.iso: build/bootloader.efi build/kernel_live build/livedisk-efi.iso: build/bootloader.efi build/kernel_live
dd if=/dev/zero of=$@.partial bs=1048576 count=384 dd if=/dev/zero of=$@.partial bs=1048576 count=384
mkfs.vfat $@.partial mkfs.vfat $@.partial

View file

@ -51,6 +51,18 @@ qemu_no_build: build/extra.qcow2
-drive file=build/harddrive.bin,format=raw \ -drive file=build/harddrive.bin,format=raw \
-drive file=build/extra.qcow2 -drive file=build/extra.qcow2
qemu_efi: build/harddrive-efi.bin build/extra.qcow2
$(QEMU) $(QEMUFLAGS) \
-bios /usr/share/ovmf/OVMF.fd \
-drive file=build/harddrive-efi.bin,format=raw \
-drive file=build/extra.qcow2
qemu_efi_no_build: build/extra.qcow2
$(QEMU) $(QEMUFLAGS) \
-bios /usr/share/ovmf/OVMF.fd \
-drive file=build/harddrive-efi.bin,format=raw \
-drive file=build/extra.qcow2
qemu_nvme: build/harddrive.bin build/extra.qcow2 qemu_nvme: build/harddrive.bin build/extra.qcow2
$(QEMU) $(QEMUFLAGS) \ $(QEMU) $(QEMUFLAGS) \
-drive file=build/harddrive.bin,format=raw -drive file=build/extra.qcow2,if=none,id=drv0 -device nvme,drive=drv0,serial=NVME_SERIAL \ -drive file=build/harddrive.bin,format=raw -drive file=build/extra.qcow2,if=none,id=drv0 -device nvme,drive=drv0,serial=NVME_SERIAL \
@ -84,13 +96,13 @@ qemu_iso_no_build: build/extra.qcow2
qemu_iso_efi: build/livedisk-efi.iso build/extra.qcow2 qemu_iso_efi: build/livedisk-efi.iso build/extra.qcow2
$(QEMU) $(QEMUFLAGS) \ $(QEMU) $(QEMUFLAGS) \
-bios /usr/share/ovmf/OVMF.fd \ -bios /usr/share/ovmf/OVMF.fd \
-drive file=build/livedisk-efi.iso,format=raw \ -boot d -cdrom build/livedisk-efi.iso \
-drive file=build/extra.qcow2 -drive file=build/extra.qcow2
qemu_iso_efi_no_build: build/extra.qcow2 qemu_iso_efi_no_build: build/extra.qcow2
$(QEMU) $(QEMUFLAGS) \ $(QEMU) $(QEMUFLAGS) \
-bios /usr/share/ovmf/OVMF.fd \ -bios /usr/share/ovmf/OVMF.fd \
-drive file=build/livedisk-efi.iso,format=raw \ -boot d -cdrom build/livedisk-efi.iso \
-drive file=build/extra.qcow2 -drive file=build/extra.qcow2
qemu_extra: build/extra.qcow2 qemu_extra: build/extra.qcow2