Fix make qemu rasperry pi 3b emulation
This commit is contained in:
parent
d874500dba
commit
6205eafd4c
|
@ -10,7 +10,7 @@ PODMAN_HOME?=$(ROOT)/build/podman
|
||||||
## Podman command with its many arguments
|
## Podman command with its many arguments
|
||||||
PODMAN_VOLUMES?=--volume $(ROOT):$(CONTAINER_WORKDIR):Z --volume $(PODMAN_HOME):/home:Z
|
PODMAN_VOLUMES?=--volume $(ROOT):$(CONTAINER_WORKDIR):Z --volume $(PODMAN_HOME):/home:Z
|
||||||
PODMAN_ENV?=--env PATH=/home/poduser/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env PODMAN_BUILD=0
|
PODMAN_ENV?=--env PATH=/home/poduser/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env PODMAN_BUILD=0
|
||||||
PODMAN_CONFIG?=--env ARCH=$(ARCH) --env CONFIG_NAME=$(CONFIG_NAME) --env FILESYSTEM_CONFIG=$(FILESYSTEM_CONFIG)
|
PODMAN_CONFIG?=--env ARCH=$(ARCH) --env BOARD=$(BOARD) --env CONFIG_NAME=$(CONFIG_NAME) --env FILESYSTEM_CONFIG=$(FILESYSTEM_CONFIG)
|
||||||
PODMAN_OPTIONS?=--rm --workdir $(CONTAINER_WORKDIR) --userns keep-id --user `id -u` --interactive --tty --env TERM=$(TERM)
|
PODMAN_OPTIONS?=--rm --workdir $(CONTAINER_WORKDIR) --userns keep-id --user `id -u` --interactive --tty --env TERM=$(TERM)
|
||||||
PODMAN_RUN?=podman run $(PODMAN_OPTIONS) $(PODMAN_VOLUMES) $(PODMAN_ENV) $(PODMAN_CONFIG) $(IMAGE_TAG)
|
PODMAN_RUN?=podman run $(PODMAN_OPTIONS) $(PODMAN_VOLUMES) $(PODMAN_ENV) $(PODMAN_CONFIG) $(IMAGE_TAG)
|
||||||
|
|
||||||
|
|
73
mk/qemu.mk
73
mk/qemu.mk
|
@ -32,25 +32,35 @@ else ifeq ($(ARCH),aarch64)
|
||||||
# Default to UEFI as U-Boot doesn't set up a framebuffer for us and we don't yet support
|
# 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.
|
# setting up a framebuffer ourself.
|
||||||
uefi?=yes
|
uefi?=yes
|
||||||
live=yes
|
live?=yes
|
||||||
QEMU_ARCH=aarch64
|
QEMU_ARCH=aarch64
|
||||||
QEMU_MACHINE?=virt
|
QEMU_MACHINE?=virt
|
||||||
QEMU_CPU=max
|
QEMU_CPU=max
|
||||||
QEMU_SMP?=1
|
QEMU_SMP?=1
|
||||||
QEMU_MEM?=2048
|
QEMU_MEM?=2048
|
||||||
ifeq ($(BOARD),raspi3bp)
|
ifeq ($(BOARD),raspi3bp)
|
||||||
FIRMWARE=$(BUILD)/raspi3bp_uboot.rom
|
QEMU_KERNEL=$(BUILD)/raspi3bp_uboot.rom
|
||||||
disk?=sdcard
|
disk?=sdcard
|
||||||
else ifeq ($(uefi),yes)
|
QEMU_MACHINE:=raspi3b
|
||||||
FIRMWARE=/usr/share/AAVMF/AAVMF_CODE.fd
|
QEMU_SMP:=4
|
||||||
|
QEMU_MEM:=1024
|
||||||
|
net:=usb-net
|
||||||
|
audio:=no
|
||||||
|
ifneq ($(usb),no)
|
||||||
|
QEMUFLAGS+=-usb -device usb-kbd -device usb-tablet
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
FIRMWARE=$(BUILD)/qemu_uboot.rom
|
ifeq ($(uefi),yes)
|
||||||
endif
|
FIRMWARE=/usr/share/AAVMF/AAVMF_CODE.fd
|
||||||
ifneq ($(gpu),no)
|
else
|
||||||
QEMUFLAGS+=-device ramfb
|
FIRMWARE=$(BUILD)/qemu_uboot.rom
|
||||||
endif
|
endif
|
||||||
ifneq ($(usb),no)
|
ifneq ($(gpu),no)
|
||||||
QEMUFLAGS+=-device qemu-xhci -device usb-kbd -device usb-tablet
|
QEMUFLAGS+=-device ramfb
|
||||||
|
endif
|
||||||
|
ifneq ($(usb),no)
|
||||||
|
QEMUFLAGS+=-device qemu-xhci -device usb-kbd -device usb-tablet
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
else ifeq ($(ARCH),riscv64gc)
|
else ifeq ($(ARCH),riscv64gc)
|
||||||
live=no
|
live=no
|
||||||
|
@ -92,6 +102,10 @@ ifneq ($(FIRMWARE),)
|
||||||
QEMUFLAGS+=-bios $(FIRMWARE)
|
QEMUFLAGS+=-bios $(FIRMWARE)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(QEMU_KERNEL),)
|
||||||
|
QEMUFLAGS+=-kernel $(QEMU_KERNEL)
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(live),yes)
|
ifeq ($(live),yes)
|
||||||
DISK=$(BUILD)/livedisk.iso
|
DISK=$(BUILD)/livedisk.iso
|
||||||
else
|
else
|
||||||
|
@ -123,26 +137,25 @@ endif
|
||||||
|
|
||||||
ifeq ($(net),no)
|
ifeq ($(net),no)
|
||||||
QEMUFLAGS+=-net none
|
QEMUFLAGS+=-net none
|
||||||
else ifeq ($(net),rtl8139)
|
|
||||||
# RTL8139
|
|
||||||
QEMUFLAGS+=-netdev user,id=net0 -device rtl8139,netdev=net0 \
|
|
||||||
-object filter-dump,id=f1,netdev=net0,file=$(BUILD)/network.pcap
|
|
||||||
else ifeq ($(net),virtio)
|
|
||||||
# virtio-net
|
|
||||||
QEMUFLAGS+=-netdev user,id=net0 -device virtio-net,netdev=net0 \
|
|
||||||
-object filter-dump,id=f1,netdev=net0,file=$(BUILD)/network.pcap
|
|
||||||
else
|
else
|
||||||
ifneq ($(bridge),)
|
ifeq ($(net),rtl8139) # RTL8139
|
||||||
QEMUFLAGS+=-netdev bridge,br=$(bridge),id=net0 -device e1000,netdev=net0,id=nic0
|
QEMUFLAGS+=-device rtl8139,netdev=net0
|
||||||
|
else ifeq ($(net),virtio) # virtio-net
|
||||||
|
QEMUFLAGS+=-device virtio-net,netdev=net0
|
||||||
|
else ifeq ($(net),usb-net)
|
||||||
|
QEMUFLAGS+=-device usb-net,netdev=net0
|
||||||
else
|
else
|
||||||
ifeq ($(net),redir)
|
QEMUFLAGS+=-device e1000,netdev=net0,id=nic0
|
||||||
# port 8080 and 8083 - webservers
|
endif
|
||||||
# port 64126 - our gdbserver implementation
|
|
||||||
QEMUFLAGS+=-netdev user,id=net0,hostfwd=tcp::8080-:8080,hostfwd=tcp::8083-:8083,hostfwd=tcp::64126-:64126 -device e1000,netdev=net0,id=nic0
|
ifneq ($(bridge),)
|
||||||
else
|
QEMUFLAGS+=-netdev bridge,br=$(bridge),id=net0
|
||||||
QEMUFLAGS+=-netdev user,id=net0 -device e1000,netdev=net0 \
|
else ifeq ($(net),redir)
|
||||||
-object filter-dump,id=f1,netdev=net0,file=$(BUILD)/network.pcap
|
# port 8080 and 8083 - webservers
|
||||||
endif
|
# port 64126 - our gdbserver implementation
|
||||||
|
QEMUFLAGS+=-netdev user,id=net0,hostfwd=tcp::8080-:8080,hostfwd=tcp::8083-:8083,hostfwd=tcp::64126-:64126
|
||||||
|
else
|
||||||
|
QEMUFLAGS+=-netdev user,id=net0 -object filter-dump,id=f1,netdev=net0,file=$(BUILD)/network.pcap
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -221,6 +234,8 @@ endif
|
||||||
|
|
||||||
qemu-deps:$(FIRMWARE)
|
qemu-deps:$(FIRMWARE)
|
||||||
|
|
||||||
|
qemu-deps:$(QEMU_KERNEL)
|
||||||
|
|
||||||
qemu-deps: $(PFLASH0)
|
qemu-deps: $(PFLASH0)
|
||||||
|
|
||||||
ifneq ($(PFLASH1),)
|
ifneq ($(PFLASH1),)
|
||||||
|
|
Loading…
Reference in a new issue