mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-24 13:54:19 +08:00
Add option to run Windows QEMU when using WSL2
This commit is contained in:
parent
afda0c0c20
commit
b50084d4dd
29
mk/qemu.mk
29
mk/qemu.mk
@ -124,6 +124,17 @@ ifneq ($(ARCH),$(HOST_ARCH))
|
||||
kvm?=no
|
||||
endif
|
||||
|
||||
# wsl2: run qemu on windows instead
|
||||
ifeq ($(QEMU_ON_WINDOWS),1)
|
||||
QEMU:=$(QEMU).exe
|
||||
WINDOWS_DISK=/mnt/c/ProgramData/redox.qcow2
|
||||
disk=windows
|
||||
net=windows
|
||||
QEMU_MACHINE=pc
|
||||
FIRMWARE=
|
||||
QEMU_KERNEL=
|
||||
endif
|
||||
|
||||
ifneq ($(FIRMWARE),)
|
||||
QEMUFLAGS+=-bios $(FIRMWARE)
|
||||
endif
|
||||
@ -186,6 +197,8 @@ else
|
||||
# port 8080 and 8083 - webservers
|
||||
# port 64126 - our gdbserver implementation
|
||||
QEMUFLAGS+=-netdev user,id=net0,hostfwd=tcp::8080-:8080,hostfwd=tcp::8083-:8083,hostfwd=tcp::64126-:64126$(EXTRANETARGS)
|
||||
else ifeq ($(net),windows)
|
||||
QEMUFLAGS+=-netdev user,id=net0$(EXTRANETARGS)
|
||||
else
|
||||
QEMUFLAGS+=-netdev user,id=net0$(EXTRANETARGS) -object filter-dump,id=f1,netdev=net0,file=$(BUILD)/network.pcap
|
||||
endif
|
||||
@ -228,6 +241,9 @@ else ifeq ($(disk),cdrom)
|
||||
|
||||
else ifeq ($(disk),sdcard)
|
||||
QEMUFLAGS+=-drive file=$(DISK),if=sd,format=raw
|
||||
else ifeq ($(disk),windows)
|
||||
QEMUFLAGS+= \
|
||||
-drive file="$(shell wslpath -w $(WINDOWS_DISK))",if=virtio
|
||||
endif
|
||||
|
||||
ifeq ($(gdb),yes)
|
||||
@ -236,7 +252,11 @@ endif
|
||||
|
||||
ifeq ($(UNAME),Linux)
|
||||
ifneq ($(kvm),no)
|
||||
QEMUFLAGS+=-enable-kvm -cpu host
|
||||
ifeq ($(QEMU_ON_WINDOWS),1)
|
||||
QEMUFLAGS+=-accel whpx,kernel-irqchip=off -cpu Haswell,-tsc
|
||||
else
|
||||
QEMUFLAGS+=-enable-kvm -cpu host
|
||||
endif
|
||||
else
|
||||
QEMUFLAGS+=-cpu $(QEMU_CPU)
|
||||
endif
|
||||
@ -260,6 +280,8 @@ qemu-deps: $(DISK)
|
||||
|
||||
ifeq ($(disk),usb)
|
||||
else ifeq ($(disk),sdcard)
|
||||
else ifeq ($(disk),windows)
|
||||
qemu-deps: $(WINDOWS_DISK)
|
||||
else
|
||||
qemu-deps: $(EXTRA_DISK)
|
||||
endif
|
||||
@ -281,6 +303,11 @@ endif
|
||||
$(EXTRA_DISK):
|
||||
truncate -s 1g $@
|
||||
|
||||
$(WINDOWS_DISK): $(BUILD)/harddrive.img
|
||||
rm -f $@
|
||||
mkdir -p $(shell dirname $@)
|
||||
qemu-img.exe convert -f raw -O qcow2 "\$(shell wslpath -w $<)" "$(shell wslpath -w $@)"
|
||||
|
||||
$(BUILD)/raspi3bp_uboot.rom:
|
||||
wget -O $@ https://gitlab.redox-os.org/Ivan/redox_firmware/-/raw/main/platform/raspberry_pi/rpi3/u-boot-rpi-3-b-plus.bin
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user