mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-07-02 09:38:42 +08:00
Merge branch redox:master into patch-make-macos
This commit is contained in:
commit
e5ef805f38
@ -40,10 +40,7 @@ img:
|
||||
script:
|
||||
- |
|
||||
source "$HOME/.cargo/env" &&
|
||||
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash &&
|
||||
cargo binstall --no-confirm --version 0.1.1 cargo-config &&
|
||||
cargo binstall --no-confirm --version 1.16.0 just &&
|
||||
cargo binstall --no-confirm --version 0.27.0 cbindgen &&
|
||||
bash podman/rustinstall.sh &&
|
||||
cargo build --manifest-path installer/Cargo.toml --release &&
|
||||
PODMAN_BUILD=0 REPO_BINARY=1 make ci-img IMG_TAG=$CI_COMMIT_REF_NAME &&
|
||||
([ $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" ] && rm -rf build/img/* || true)
|
||||
|
||||
2
Makefile
2
Makefile
@ -101,7 +101,7 @@ gdb: FORCE
|
||||
# has started or you need to debug the interaction between the application and the kernel.
|
||||
# tl;dr: DO NOT USE THIS TARGET UNLESS YOU HAVE TO
|
||||
gdb-userspace: FORCE
|
||||
rust-gdb $(GDB_APP_FILE) --eval-command="add-symbol-file $(GDB_KERNEL_FILE) 0x$(shell readelf -S $(GDB_KERNEL_FILE) | grep .text | cut -c43-58)" --eval-command="target remote :1234"
|
||||
rust-gdb $(GDB_APP_FILE) --eval-command="add-symbol-file $(GDB_KERNEL_FILE)" --eval-command="target remote :1234"
|
||||
|
||||
# An empty target
|
||||
FORCE:
|
||||
|
||||
@ -39,7 +39,7 @@ acid = {}
|
||||
orbclient = {}
|
||||
pixelcannon = {}
|
||||
rodioplay = {}
|
||||
gears = {}
|
||||
# gears = {} # sccache issue
|
||||
|
||||
# MIDI
|
||||
freepats = {}
|
||||
|
||||
2
cookbook
2
cookbook
@ -1 +1 @@
|
||||
Subproject commit cc58d96c6f3747f7d80c9f393db0df24bc17030d
|
||||
Subproject commit fc48fb9cf460833a91d0fd76911b39c1ef9d57bf
|
||||
77
mk/qemu.mk
77
mk/qemu.mk
@ -3,10 +3,13 @@
|
||||
QEMU=SDL_VIDEO_X11_DGAMOUSE=0 qemu-system-$(QEMU_ARCH)
|
||||
QEMUFLAGS=-d guest_errors -name "Redox OS $(ARCH)"
|
||||
netboot?=no
|
||||
VGA_SUPPORTED=no
|
||||
|
||||
ifeq ($(ARCH),i686)
|
||||
audio?=ac97
|
||||
gpu?=vga
|
||||
uefi=no
|
||||
VGA_SUPPORTED=yes
|
||||
QEMU_ARCH=i386
|
||||
QEMU_MACHINE?=pc
|
||||
QEMU_CPU?=pentium2
|
||||
@ -18,6 +21,9 @@ ifeq ($(ARCH),i686)
|
||||
kvm?=yes
|
||||
endif
|
||||
else ifeq ($(ARCH),x86_64)
|
||||
gpu?=vga
|
||||
uefi?=yes
|
||||
VGA_SUPPORTED=yes
|
||||
QEMU_ARCH=x86_64
|
||||
QEMU_MACHINE?=q35
|
||||
QEMU_CPU?=core2duo
|
||||
@ -43,6 +49,7 @@ else ifeq ($(ARCH),aarch64)
|
||||
# setting up a framebuffer ourself.
|
||||
uefi?=yes
|
||||
live?=yes
|
||||
gpu?=ramfb
|
||||
QEMU_ARCH=aarch64
|
||||
QEMU_MACHINE?=virt
|
||||
QEMU_CPU=max
|
||||
@ -73,9 +80,6 @@ else ifeq ($(ARCH),aarch64)
|
||||
else
|
||||
FIRMWARE=$(BUILD)/qemu_uboot.rom
|
||||
endif
|
||||
ifneq ($(gpu),no)
|
||||
QEMUFLAGS+=-device ramfb
|
||||
endif
|
||||
ifneq ($(usb),no)
|
||||
QEMUFLAGS+=-device qemu-xhci -device usb-kbd -device usb-tablet
|
||||
endif
|
||||
@ -87,9 +91,8 @@ else ifeq ($(ARCH),aarch64)
|
||||
endif
|
||||
else ifeq ($(ARCH),riscv64gc)
|
||||
live=no
|
||||
efi=yes
|
||||
audio=no
|
||||
vga=no # virtio-gpu-pci
|
||||
gpu?=ramfb
|
||||
net=bridge
|
||||
QEMU_ARCH=riscv64
|
||||
# QEMU_MACHINE=virt for ACPI mode instead of DTB
|
||||
@ -111,9 +114,6 @@ else ifeq ($(ARCH),riscv64gc)
|
||||
$(wildcard /usr/share/qemu/edk2-riscv-vars.fd) \
|
||||
$(wildcard /opt/homebrew/opt/qemu/share/qemu/edk2-riscv-vars.fd) \
|
||||
)
|
||||
ifneq ($(vga),no)
|
||||
QEMUFLAGS+=-device ramfb
|
||||
endif
|
||||
ifneq ($(usb),no)
|
||||
QEMUFLAGS+=-device qemu-xhci -device usb-kbd -device usb-tablet
|
||||
endif
|
||||
@ -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
|
||||
@ -198,12 +212,32 @@ endif
|
||||
|
||||
ifeq ($(gpu),no)
|
||||
QEMUFLAGS+=-nographic -vga none
|
||||
else ifeq ($(gpu),vga)
|
||||
ifeq ($(VGA_SUPPORTED),yes)
|
||||
QEMUFLAGS+=-vga std
|
||||
else
|
||||
QEMUFLAGS+=-vga none -device secondary-vga
|
||||
endif
|
||||
else ifeq ($(gpu),ramfb)
|
||||
QEMUFLAGS+=-vga none -device ramfb
|
||||
else ifeq ($(gpu),multi)
|
||||
QEMUFLAGS+=-display sdl -vga none -device virtio-gpu,max_outputs=2
|
||||
ifeq ($(VGA_SUPPORTED),yes)
|
||||
QEMUFLAGS+=-display sdl -vga none -device virtio-vga,max_outputs=2
|
||||
else
|
||||
QEMUFLAGS+=-display sdl -vga none -device virtio-gpu,max_outputs=2
|
||||
endif
|
||||
else ifeq ($(gpu),virtio)
|
||||
QEMUFLAGS+=-vga virtio
|
||||
else ifeq ($(vga),virtio-gpu-pci)
|
||||
QEMUFLAGS+= -vga virtio-gpu-pci
|
||||
ifeq ($(VGA_SUPPORTED),yes)
|
||||
QEMUFLAGS+=-vga none -device virtio-vga
|
||||
else
|
||||
QEMUFLAGS+=-vga none -device virtio-gpu
|
||||
endif
|
||||
else ifeq ($(gpu),virtio-gl)
|
||||
ifeq ($(VGA_SUPPORTED),yes)
|
||||
QEMUFLAGS+=-display gtk,gl=on -vga none -device virtio-vga-gl
|
||||
else
|
||||
QEMUFLAGS+=-display gtk,gl=on -vga none -device virtio-gpu-gl
|
||||
endif
|
||||
endif
|
||||
|
||||
EXTRA_DISK=$(BUILD)/extra.img
|
||||
@ -230,18 +264,26 @@ 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)
|
||||
QEMUFLAGS+=-d cpu_reset -s -S
|
||||
else ifeq ($(gdb),nonblock)
|
||||
# Allow attaching gdb, but don't block for it
|
||||
QEMUFLAGS+=-d cpu_reset -s
|
||||
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 +311,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 +334,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
|
||||
|
||||
|
||||
@ -5,10 +5,8 @@
|
||||
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain stable
|
||||
|
||||
SCCACHE_PATH=https://github.com/mozilla/sccache/releases/download/v0.10.0/sccache-v0.10.0-$(uname -m)-unknown-linux-musl.tar.gz
|
||||
curl -sSL $SCCACHE_PATH | tar -xz -C ~/.cargo/bin --strip-components=1 --wildcards '*/sccache'
|
||||
export RUSTC_WRAPPER=sccache
|
||||
|
||||
cargo +stable install --force --version 0.1.1 cargo-config
|
||||
cargo +stable install --force --version 1.16.0 just
|
||||
cargo +stable install --force --version 0.27.0 cbindgen
|
||||
curl -sSLf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
|
||||
cargo +stable binstall --no-confirm --force --version 0.10.0 sccache
|
||||
cargo +stable binstall --no-confirm --force --version 1.42.4 just
|
||||
cargo +stable binstall --no-confirm --force --version 0.29.0 cbindgen
|
||||
cargo +stable install --force --version 0.1.1 cargo-config # TODO: Remove
|
||||
|
||||
2
relibc
2
relibc
@ -1 +1 @@
|
||||
Subproject commit f170902a29f0b7c10cc2bce087c8b6f0d9478d9d
|
||||
Subproject commit fd9a1c9668c10d122eab9839d0f0f7f4d88703ab
|
||||
Loading…
Reference in New Issue
Block a user