mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-07-07 12:09:00 +08:00
Compare commits
7 Commits
dd4effbe48
...
01a1fd9a3f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
01a1fd9a3f | ||
|
|
3172bccab5 | ||
|
|
c09215748d | ||
|
|
cb36369905 | ||
|
|
e3f6bf4b1d | ||
|
|
b50084d4dd | ||
|
|
a8a0705fbb |
@ -16,8 +16,10 @@ endif
|
||||
|
||||
## Podman Home Directory
|
||||
PODMAN_HOME?=$(ROOT)/build/podman
|
||||
## Podman downloaded repo binaries cache
|
||||
PODMAN_PKG_TMP?=$(ROOT)/build/$(ARCH)/pkg-download
|
||||
## Podman command with its many arguments
|
||||
PODMAN_VOLUMES?=--volume $(ROOT):$(CONTAINER_WORKDIR)$(PODMAN_VOLUME_FLAG) --volume $(PODMAN_HOME):/home$(PODMAN_VOLUME_FLAG)
|
||||
PODMAN_VOLUMES?=--volume $(ROOT):$(CONTAINER_WORKDIR)$(PODMAN_VOLUME_FLAG) --volume $(PODMAN_HOME):/home$(PODMAN_VOLUME_FLAG) --volume $(PODMAN_PKG_TMP):/tmp/pkg_download$(PODMAN_VOLUME_FLAG)
|
||||
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 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)
|
||||
@ -25,6 +27,8 @@ PODMAN_RUN?=podman run $(PODMAN_OPTIONS) $(PODMAN_VOLUMES) $(PODMAN_ENV) $(PODMA
|
||||
|
||||
container_shell: build/container.tag
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
# TODO: how to ensure to do this anytime when $(PODMAN_RUN) is invoked?
|
||||
mkdir -p $(PODMAN_PKG_TMP) && touch $(PODMAN_PKG_TMP)/prefer_cache
|
||||
podman run $(PODMAN_VOLUMES) $(PODMAN_OPTIONS) $(PODMAN_ENV) --tty $(IMAGE_TAG) bash
|
||||
else
|
||||
@echo PODMAN_BUILD=$(PODMAN_BUILD), please set it to 1 in mk/config.mk
|
||||
@ -59,7 +63,8 @@ ifeq ($(PODMAN_BUILD),1)
|
||||
@echo "If podman_home dir cannot be removed, remove with \"sudo rm\"."
|
||||
-rm -rf $(PODMAN_HOME) || true
|
||||
-podman image rm --force $(IMAGE_TAG) || true
|
||||
mkdir -p $(PODMAN_HOME)
|
||||
mkdir -p $(PODMAN_HOME) $(PODMAN_PKG_TMP)
|
||||
touch $(PODMAN_PKG_TMP)/prefer_cache
|
||||
@echo "Building Podman image. This may take some time."
|
||||
sed s/_UID_/`id -u`/ $(CONTAINERFILE) | podman build --file - $(PODMAN_VOLUMES) --tag $(IMAGE_TAG)
|
||||
@echo "Mapping Podman user space. Please wait."
|
||||
|
||||
30
mk/qemu.mk
30
mk/qemu.mk
@ -129,6 +129,18 @@ 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.img
|
||||
disk=windows
|
||||
net=windows
|
||||
QEMU_MACHINE=pc
|
||||
FIRMWARE=
|
||||
QEMU_KERNEL=
|
||||
QEMUFLAGS+=-device usb-tablet
|
||||
endif
|
||||
|
||||
ifneq ($(FIRMWARE),)
|
||||
QEMUFLAGS+=-bios $(FIRMWARE)
|
||||
endif
|
||||
@ -191,6 +203,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
|
||||
@ -230,9 +244,10 @@ else ifeq ($(disk),cdrom)
|
||||
QEMUFLAGS+= \
|
||||
-boot d -cdrom $(DISK) \
|
||||
-drive file=$(EXTRA_DISK),format=raw
|
||||
|
||||
else ifeq ($(disk),sdcard)
|
||||
QEMUFLAGS+=-drive file=$(DISK),if=sd,format=raw
|
||||
else ifeq ($(disk),windows)
|
||||
QEMUFLAGS+=-drive file="$(shell wslpath -w $(WINDOWS_DISK))",format=raw,if=virtio
|
||||
endif
|
||||
|
||||
ifeq ($(gdb),yes)
|
||||
@ -241,7 +256,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 Broadwell,x2apic=off
|
||||
else
|
||||
QEMUFLAGS+=-enable-kvm -cpu host
|
||||
endif
|
||||
else
|
||||
QEMUFLAGS+=-cpu $(QEMU_CPU)
|
||||
endif
|
||||
@ -269,6 +288,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
|
||||
@ -290,6 +311,11 @@ endif
|
||||
$(EXTRA_DISK):
|
||||
truncate -s 1g $@
|
||||
|
||||
$(WINDOWS_DISK): $(BUILD)/harddrive.img
|
||||
rm -f $@
|
||||
mkdir -p $(shell dirname $@)
|
||||
cp "$<" "$@"
|
||||
|
||||
$(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