Update ci-img target to build all possible disk formats

This commit is contained in:
Jeremy Soller 2019-03-16 14:55:11 -06:00
parent ddb93aa4af
commit 2161c9586a
No known key found for this signature in database
GPG key ID: E988B49EE78A7FB1
3 changed files with 26 additions and 23 deletions

View file

@ -62,13 +62,19 @@ include mk/virtualbox.mk
# CI image target
ci-img: FORCE
make INSTALLER_FLAGS= build/harddrive.bin.gz build/livedisk.iso #build/harddrive-efi.bin.gz build/livedisk-efi.iso
make INSTALLER_FLAGS= \
build/coreboot.elf.gz \
build/harddrive.bin.gz \
build/livedisk.iso.gz \
build/harddrive-efi.bin.gz \
build/livedisk-efi.iso.gz
rm -rf build/img
mkdir build/img
mv build/coreboot.elf.gz build/img/redox_$(IMG_TAG)_coreboot.elf.gz
mv build/harddrive.bin.gz build/img/redox_$(IMG_TAG)_harddrive.bin.gz
mv build/livedisk.iso build/img/redox_$(IMG_TAG)_livedisk.iso
#mv build/harddrive-efi.bin.gz build/img/redox_$(IMG_TAG)_harddrive-efi.bin.gz
#mv build/livedisk-efi.iso build/img/redox_$(IMG_TAG)_livedisk-efi.iso
mv build/livedisk.iso.gz build/img/redox_$(IMG_TAG)_livedisk.iso.gz
mv build/harddrive-efi.bin.gz build/img/redox_$(IMG_TAG)_harddrive-efi.bin.gz
mv build/livedisk-efi.iso.gz build/img/redox_$(IMG_TAG)_livedisk-efi.iso.gz
cd build/img && sha256sum -b * > SHA256SUM
# CI packaging target
@ -86,7 +92,11 @@ env: prefix FORCE
# An empty target
FORCE:
# A method of creating a listing for any binary
# Gzip any binary
%.gz: %
gzip -k -f $<
# Create a listing for any binary
%.list: %
export PATH="$(PREFIX_PATH):$$PATH" && \
$(OBJDUMP) -C -M intel -D $< > $@

View file

@ -43,6 +43,9 @@ export AR_$(subst -,_,$(TARGET))=$(TARGET)-ar
export CC_$(subst -,_,$(TARGET))=$(TARGET)-gcc
export CXX_$(subst -,_,$(TARGET))=$(TARGET)-g++
# Bootloader variables
EFI_TARGET=$(ARCH)-efi-pe
# Kernel variables
KTARGET=$(ARCH)-unknown-none
KBUILD=build/kernel

View file

@ -5,15 +5,9 @@ build/bootloader: bootloader/$(ARCH)/**
build/harddrive.bin: build/filesystem.bin bootloader/$(ARCH)/**
nasm -f bin -o $@ -D ARCH_$(ARCH) -D FILESYSTEM=$< -ibootloader/$(ARCH)/ bootloader/$(ARCH)/disk.asm
build/harddrive.bin.gz: build/harddrive.bin
gzip -k -f $<
build/livedisk.bin: build/kernel_live bootloader/$(ARCH)/**
nasm -f bin -o $@ -D ARCH_$(ARCH) -D KERNEL=$< -ibootloader/$(ARCH)/ bootloader/$(ARCH)/disk.asm
build/livedisk.bin.gz: build/livedisk.bin
gzip -k -f $<
build/livedisk.iso: build/livedisk.bin.gz
rm -rf build/iso/
mkdir -p build/iso/
@ -28,24 +22,23 @@ bootloader-coreboot/build/bootloader: build/kernel_coreboot
$(MAKE) -C bootloader-coreboot clean build/bootloader KERNEL="$(ROOT)/$<"
build/coreboot.elf: bootloader-coreboot/build/bootloader
cp $< $@
cp -v $< $@
bootloader-efi/build/redox_bootloader/boot.efi:
$(MAKE) -C bootloader-efi build/redox_bootloader/boot.efi
bootloader-efi/build/$(EFI_TARGET)/boot.efi: FORCE
$(MAKE) -C bootloader-efi build/$(EFI_TARGET)/boot.efi TARGET=$(EFI_TARGET)
build/harddrive-efi.bin: bootloader-efi/build/x86_64-efi-pe/boot.efi build/filesystem.bin
build/bootloader.efi: bootloader-efi/build/$(EFI_TARGET)/boot.efi
cp -v $< $@
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
cat $@.partial build/filesystem.bin > $@
build/harddrive-efi.bin.gz: build/harddrive-efi.bin
gzip -k -f $<
build/livedisk-efi.iso: bootloader-efi/build/x86_64-efi-pe/boot.efi build/kernel_live
build/livedisk-efi.iso: build/bootloader.efi build/kernel_live
dd if=/dev/zero of=$@.partial bs=1048576 count=272
mkfs.vfat $@.partial
mmd -i $@.partial efi
@ -54,6 +47,3 @@ build/livedisk-efi.iso: bootloader-efi/build/x86_64-efi-pe/boot.efi build/kernel
mmd -i $@.partial redox_bootloader
mcopy -i $@.partial -s build/kernel_live ::redox_bootloader/kernel
mv $@.partial $@
build/livedisk-efi.bin.gz: build/livedisk-efi.bin
gzip -k -f $<