Use U-Boot with QEMU again if efi=no is used
Also add a nicer error message when the firmware package is not installed.
This commit is contained in:
parent
df61417b66
commit
40305c7980
37
mk/qemu.mk
37
mk/qemu.mk
|
@ -17,18 +17,24 @@ else ifeq ($(ARCH),x86_64)
|
||||||
QEMU_ARCH=x86_64
|
QEMU_ARCH=x86_64
|
||||||
QEMU_MACHINE?=q35
|
QEMU_MACHINE?=q35
|
||||||
QEMU_CPU?=core2duo
|
QEMU_CPU?=core2duo
|
||||||
QEMU_EFI=/usr/share/OVMF/OVMF_CODE.fd
|
|
||||||
QEMUFLAGS+=-smp 4 -m 2048
|
QEMUFLAGS+=-smp 4 -m 2048
|
||||||
|
ifeq ($(efi),yes)
|
||||||
|
FIRMWARE=/usr/share/OVMF/OVMF_CODE.fd
|
||||||
|
endif
|
||||||
else ifeq ($(ARCH),aarch64)
|
else ifeq ($(ARCH),aarch64)
|
||||||
efi=yes
|
# Default to UEFI as U-Boot doesn't set up a framebuffer for us and we don't yet support
|
||||||
|
# setting up a framebuffer ourself.
|
||||||
|
efi?=yes
|
||||||
live=yes
|
live=yes
|
||||||
QEMU_ARCH=aarch64
|
QEMU_ARCH=aarch64
|
||||||
QEMU_MACHINE=virt
|
QEMU_MACHINE=virt
|
||||||
QEMU_CPU=max
|
QEMU_CPU=max
|
||||||
ifeq ($(BOARD),raspi3bp)
|
ifeq ($(BOARD),raspi3bp)
|
||||||
QEMU_EFI=https://gitlab.redox-os.org/Ivan/redox_firmware/-/raw/main/platform/raspberry_pi/rpi3/u-boot-rpi-3-b-plus.bin
|
FIRMWARE=$(BUILD)/raspi3bp_uboot.rom
|
||||||
|
else ifeq ($(efi),yes)
|
||||||
|
FIRMWARE=/usr/share/AAVMF/AAVMF_CODE.fd
|
||||||
else
|
else
|
||||||
QEMU_EFI=/usr/share/AAVMF/AAVMF_CODE.fd
|
FIRMWARE=$(BUILD)/qemu_uboot.rom
|
||||||
endif
|
endif
|
||||||
QEMUFLAGS+=-smp 1 -m 2048
|
QEMUFLAGS+=-smp 1 -m 2048
|
||||||
ifneq ($(vga),no)
|
ifneq ($(vga),no)
|
||||||
|
@ -47,11 +53,8 @@ ifneq ($(ARCH),$(HOST_ARCH))
|
||||||
kvm?=no
|
kvm?=no
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(efi),yes)
|
ifneq ($(FIRMWARE),)
|
||||||
FIRMWARE=$(BUILD)/firmware.rom
|
QEMUFLAGS+=-bios $(FIRMWARE)
|
||||||
QEMUFLAGS+=-bios $(BUILD)/firmware.rom
|
|
||||||
else
|
|
||||||
FIRMWARE=
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(live),yes)
|
ifeq ($(live),yes)
|
||||||
|
@ -139,12 +142,16 @@ endif
|
||||||
$(BUILD)/extra.img:
|
$(BUILD)/extra.img:
|
||||||
truncate -s 1g $@
|
truncate -s 1g $@
|
||||||
|
|
||||||
$(BUILD)/firmware.rom:
|
$(BUILD)/raspi3bp_uboot.rom:
|
||||||
ifeq ($(BOARD),raspi3bp)
|
wget -O $@ https://gitlab.redox-os.org/Ivan/redox_firmware/-/raw/main/platform/raspberry_pi/rpi3/u-boot-rpi-3-b-plus.bin
|
||||||
wget -O $@ $(QEMU_EFI)
|
|
||||||
else
|
$(BUILD)/qemu_uboot.rom:
|
||||||
cp $(QEMU_EFI) $@
|
wget -O $@ https://gitlab.redox-os.org/Ivan/redox_firmware/-/raw/main/platform/qemu/qemu_arm64/u-boot-qemu-arm64.bin
|
||||||
endif
|
|
||||||
|
/usr/share/AAVMF/AAVMF_CODE.fd:
|
||||||
|
echo "\n\n\nMissing /usr/share/AAVMF/AAVMF_CODE.fd UEFI firmware file.\n\
|
||||||
|
Please install the qemu-efi-aarch64 package or use efi=no to download U-Boot instead.\n" \
|
||||||
|
&& exit 1
|
||||||
|
|
||||||
qemu: $(DISK) $(FIRMWARE) $(BUILD)/extra.img
|
qemu: $(DISK) $(FIRMWARE) $(BUILD)/extra.img
|
||||||
$(QEMU) $(QEMUFLAGS) \
|
$(QEMU) $(QEMUFLAGS) \
|
||||||
|
|
Loading…
Reference in a new issue