Add livedisk-efi.bin target, remove unsupported livedisk-efi.iso target
This commit is contained in:
parent
8a3bed6226
commit
2731354a9b
6
Makefile
6
Makefile
|
@ -71,15 +71,17 @@ include mk/virtualbox.mk
|
|||
ci-img: FORCE
|
||||
$(MAKE) INSTALLER_FLAGS= \
|
||||
build/harddrive.bin.gz \
|
||||
build/livedisk.bin.gz \
|
||||
build/livedisk.iso.gz \
|
||||
build/harddrive-efi.bin.gz \
|
||||
build/livedisk-efi.iso.gz
|
||||
build/livedisk-efi.bin.gz
|
||||
rm -rf build/img
|
||||
mkdir -p build/img
|
||||
cp "build/harddrive.bin.gz" "build/img/redox_$(IMG_TAG)_harddrive.bin.gz"
|
||||
cp "build/livedisk.bin.gz" "build/img/redox_$(IMG_TAG)_livedisk.bin.gz"
|
||||
cp "build/livedisk.iso.gz" "build/img/redox_$(IMG_TAG)_livedisk.iso.gz"
|
||||
cp "build/harddrive-efi.bin.gz" "build/img/redox_$(IMG_TAG)_harddrive-efi.bin.gz"
|
||||
cp "build/livedisk-efi.iso.gz" "build/img/redox_$(IMG_TAG)_livedisk-efi.iso.gz"
|
||||
cp "build/livedisk-efi.bin.gz" "build/img/redox_$(IMG_TAG)_livedisk-efi.bin.gz"
|
||||
cd build/img && sha256sum -b * > SHA256SUM
|
||||
|
||||
# CI packaging target
|
||||
|
|
34
mk/disk.mk
34
mk/disk.mk
|
@ -57,12 +57,28 @@ build/harddrive-efi.bin: build/bootloader.efi build/filesystem.bin
|
|||
dd if=$@.esp bs=512 seek=2048 conv=notrunc count=$$efi_disk_blkcount of=$@ && \
|
||||
dd if=build/filesystem.bin seek=$$efi_end bs=512 conv=notrunc of=$@ count=$$fs_disk_blkcount
|
||||
|
||||
build/livedisk-efi.iso: build/bootloader.efi build/kernel_live
|
||||
dd if=/dev/zero of=$@.partial bs=1048576 count=$$(expr $$(du -mc $^ | grep 'total$$' | cut -f1) + 1)
|
||||
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 build/kernel_live ::redox_bootloader/kernel
|
||||
mv $@.partial $@
|
||||
build/livedisk-efi.bin: build/bootloader.efi build/filesystem-live.bin
|
||||
# TODO: Validate the correctness of this \
|
||||
# Populate an EFI system partition \
|
||||
dd if=/dev/zero of=$@.esp bs=1048576 count=$$(expr $$(du -m $< | cut -f1) + 1) && \
|
||||
mkfs.vfat $@.esp && \
|
||||
mmd -i $@.esp efi && \
|
||||
mmd -i $@.esp efi/boot && \
|
||||
mcopy -i $@.esp $< ::efi/boot/bootx64.efi && \
|
||||
# Create the disk \
|
||||
dd if=/dev/zero of=$@ bs=1048576 count=$$(expr $$(du -m $< | cut -f1) + 2 + $$(du -m build/filesystem-live.bin | cut -f1)) && \
|
||||
# Create partition table \
|
||||
$(PARTED) -s -a minimal $@ mklabel gpt && \
|
||||
efi_disk_size=$$(du -m $< | cut -f1) && \
|
||||
efi_disk_blkcount=$$(expr $$efi_disk_size \* $$(expr 1048576 / 512)) && \
|
||||
efi_end=$$(expr 2048 + $$efi_disk_blkcount) && \
|
||||
efi_last=$$(expr $$efi_end - 1) && \
|
||||
$(PARTED) -s -a minimal $@ mkpart EFI fat32 2048s "$${efi_last}s" && \
|
||||
fs_disk_size=$$(du -m build/filesystem-live.bin | cut -f1) && \
|
||||
fs_disk_blkcount=$$(expr $$fs_disk_size \* $$(expr 1048576 / 512)) && \
|
||||
$(PARTED) -s -a minimal $@ mkpart redox ext4 "$${efi_end}s" $$(expr $$efi_end + $$fs_disk_blkcount)s && \
|
||||
$(PARTED) -s -a minimal $@ set 1 boot on && \
|
||||
$(PARTED) -s -a minimal $@ set 1 esp on && \
|
||||
# Write the partitions \
|
||||
dd if=$@.esp bs=512 seek=2048 conv=notrunc count=$$efi_disk_blkcount of=$@ && \
|
||||
dd if=build/filesystem-live.bin seek=$$efi_end bs=512 conv=notrunc of=$@ count=$$fs_disk_blkcount
|
||||
|
|
24
mk/qemu.mk
24
mk/qemu.mk
|
@ -123,6 +123,18 @@ qemu_live_no_build: build/extra.bin
|
|||
-drive file=build/livedisk.bin,format=raw \
|
||||
-drive file=build/extra.bin,format=raw
|
||||
|
||||
qemu_live_efi: build/livedisk-efi.bin build/extra.bin
|
||||
$(QEMU) $(QEMUFLAGS) \
|
||||
-bios $(QEMU_EFI) \
|
||||
-drive file=build/livedisk-efi.bin,format=raw \
|
||||
-drive file=build/extra.bin,format=raw
|
||||
|
||||
qemu_live_efi_no_build: build/extra.bin
|
||||
$(QEMU) $(QEMUFLAGS) \
|
||||
-bios $(QEMU_EFI) \
|
||||
-drive file=build/livedisk-efi.bin,format=raw \
|
||||
-drive file=build/extra.bin,format=raw
|
||||
|
||||
qemu_iso: build/livedisk.iso build/extra.bin
|
||||
$(QEMU) $(QEMUFLAGS) \
|
||||
-boot d -cdrom build/livedisk.iso \
|
||||
|
@ -133,18 +145,6 @@ qemu_iso_no_build: build/extra.bin
|
|||
-boot d -cdrom build/livedisk.iso \
|
||||
-drive file=build/extra.bin,format=raw
|
||||
|
||||
qemu_iso_efi: build/livedisk-efi.iso build/extra.bin
|
||||
$(QEMU) $(QEMUFLAGS) \
|
||||
-bios $(QEMU_EFI) \
|
||||
-boot d -cdrom build/livedisk-efi.iso \
|
||||
-drive file=build/extra.bin,format=raw
|
||||
|
||||
qemu_iso_efi_no_build: build/extra.bin
|
||||
$(QEMU) $(QEMUFLAGS) \
|
||||
-bios $(QEMU_EFI) \
|
||||
-boot d -cdrom build/livedisk-efi.iso \
|
||||
-drive file=build/extra.bin,format=raw
|
||||
|
||||
qemu_extra: build/extra.bin
|
||||
$(QEMU) $(QEMUFLAGS) \
|
||||
-drive file=build/extra.bin,format=raw
|
||||
|
|
Loading…
Reference in a new issue