From 25474ebbe3f9ab94c2c67e09c5557d891437a7bd Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 23 Jul 2025 14:49:41 -0300 Subject: [PATCH 01/27] Add dev-redox filesystem configuration --- config/aarch64/dev-redox.toml | 20 +++++++++++++ config/dev-redox.toml | 56 +++++++++++++++++++++++++++++++++++ config/i686/dev-redox.toml | 14 +++++++++ config/x86_64/dev-redox.toml | 14 +++++++++ 4 files changed, 104 insertions(+) create mode 100644 config/aarch64/dev-redox.toml create mode 100644 config/dev-redox.toml create mode 100644 config/i686/dev-redox.toml create mode 100644 config/x86_64/dev-redox.toml diff --git a/config/aarch64/dev-redox.toml b/config/aarch64/dev-redox.toml new file mode 100644 index 000000000..89bba21e9 --- /dev/null +++ b/config/aarch64/dev-redox.toml @@ -0,0 +1,20 @@ +# Configuration for Redox development + +include = ["../dev-redox.toml"] + +# Override the default settings here + +# General settings +[general] +# Filesystem size in MiB +# filesystem_size = 1024 + +# Package settings +[packages] +# see ci.toml for error reasons +gdbserver = "ignore" +gnu-binutils = "ignore" +mesa = "ignore" +mesa-glu = "ignore" +mpc = "ignore" +strace = "ignore" diff --git a/config/dev-redox.toml b/config/dev-redox.toml new file mode 100644 index 000000000..745aac654 --- /dev/null +++ b/config/dev-redox.toml @@ -0,0 +1,56 @@ +# Configuration for Redox development + +include = ["desktop.toml"] + +# General settings +[general] +# Filesystem size in MiB +filesystem_size = 20000 +# Do not prompt if settings are not defined +prompt = false + +# Package settings +[packages] +dev-essential = {} +redox-tests = {} + +[[files]] +path = "/home/user/test.rs" +data = """ +fn main() { + println!("Hello, Redox!"); +} +""" + +[[files]] +path = "/home/user/test.c" +data = """ +#include + +int main(void) { + printf("Hello, Redox!\\n"); +} +""" + +[[files]] +path = "/home/user/test.cpp" +data = """ +#include + +int main() +{ + std::cout << "Hello, Redox!" << std::endl; +} +""" + +[[files]] +path = "/home/user/test.py" +data = """ +print("Hello, Redox!") +""" + +[[files]] +path = "/home/user/test.lua" +data = """ +print("Hello, Redox!") +""" diff --git a/config/i686/dev-redox.toml b/config/i686/dev-redox.toml new file mode 100644 index 000000000..655a72b2f --- /dev/null +++ b/config/i686/dev-redox.toml @@ -0,0 +1,14 @@ +# Configuration for Redox development + +include = ["../dev-redox.toml"] + +# Override the default settings here + +# General settings +[general] +# Filesystem size in MiB +# filesystem_size = 1024 + +# Package settings +[packages] +# example = {} \ No newline at end of file diff --git a/config/x86_64/dev-redox.toml b/config/x86_64/dev-redox.toml new file mode 100644 index 000000000..655a72b2f --- /dev/null +++ b/config/x86_64/dev-redox.toml @@ -0,0 +1,14 @@ +# Configuration for Redox development + +include = ["../dev-redox.toml"] + +# Override the default settings here + +# General settings +[general] +# Filesystem size in MiB +# filesystem_size = 1024 + +# Package settings +[packages] +# example = {} \ No newline at end of file From e4984c338c365371de2e8136ea557264795978ed Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Mon, 28 Jul 2025 12:01:43 +0000 Subject: [PATCH 02/27] Replace old orbutils in config --- config/desktop-minimal.toml | 4 +--- config/riscv64gc/demo.toml | 4 +--- config/riscv64gc/desktop-minimal.toml | 4 +--- config/riscv64gc/desktop.toml | 4 +--- config/riscv64gc/jeremy.toml | 4 +--- config/x86_64/ci.toml | 3 --- 6 files changed, 5 insertions(+), 18 deletions(-) diff --git a/config/desktop-minimal.toml b/config/desktop-minimal.toml index 7394cce3f..3201d99d2 100644 --- a/config/desktop-minimal.toml +++ b/config/desktop-minimal.toml @@ -12,9 +12,7 @@ filesystem_size = 256 orbdata = {} orbital = {} orbterm = {} -orbutils-background = {} -orbutils-launcher = {} -orbutils-orblogin = {} +orbutils = {} [[files]] path = "/usr/lib/init.d/20_orbital" diff --git a/config/riscv64gc/demo.toml b/config/riscv64gc/demo.toml index 7d58679f3..91c452ab8 100644 --- a/config/riscv64gc/demo.toml +++ b/config/riscv64gc/demo.toml @@ -14,9 +14,7 @@ filesystem_size = 256 orbdata = {} orbital = {} orbterm = {} -orbutils-background = {} -orbutils-launcher = {} -orbutils-orblogin = {} +orbutils = {} [[files]] path = "/usr/lib/init.d/20_orbital" diff --git a/config/riscv64gc/desktop-minimal.toml b/config/riscv64gc/desktop-minimal.toml index 7d58679f3..91c452ab8 100644 --- a/config/riscv64gc/desktop-minimal.toml +++ b/config/riscv64gc/desktop-minimal.toml @@ -14,9 +14,7 @@ filesystem_size = 256 orbdata = {} orbital = {} orbterm = {} -orbutils-background = {} -orbutils-launcher = {} -orbutils-orblogin = {} +orbutils = {} [[files]] path = "/usr/lib/init.d/20_orbital" diff --git a/config/riscv64gc/desktop.toml b/config/riscv64gc/desktop.toml index 7d58679f3..91c452ab8 100644 --- a/config/riscv64gc/desktop.toml +++ b/config/riscv64gc/desktop.toml @@ -14,9 +14,7 @@ filesystem_size = 256 orbdata = {} orbital = {} orbterm = {} -orbutils-background = {} -orbutils-launcher = {} -orbutils-orblogin = {} +orbutils = {} [[files]] path = "/usr/lib/init.d/20_orbital" diff --git a/config/riscv64gc/jeremy.toml b/config/riscv64gc/jeremy.toml index 7d58679f3..91c452ab8 100644 --- a/config/riscv64gc/jeremy.toml +++ b/config/riscv64gc/jeremy.toml @@ -14,9 +14,7 @@ filesystem_size = 256 orbdata = {} orbital = {} orbterm = {} -orbutils-background = {} -orbutils-launcher = {} -orbutils-orblogin = {} +orbutils = {} [[files]] path = "/usr/lib/init.d/20_orbital" diff --git a/config/x86_64/ci.toml b/config/x86_64/ci.toml index d5b2a8e75..9134705ed 100644 --- a/config/x86_64/ci.toml +++ b/config/x86_64/ci.toml @@ -130,9 +130,6 @@ orbdata = {} orbital = {} orbterm = {} orbutils = {} -#orbutils-background = {} # needs recipe update -#orbutils-launcher = {} # needs recipe update -#orbutils-orblogin = {} # needs recipe update osdemo = {} #pango = {} # undefined references to std::__throw_system_error(int) #pastel = {} # needs crate patches for redox-unix From ce177064975e2c37156fa1b39e2223d593aae01c Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Mon, 28 Jul 2025 13:46:56 +0000 Subject: [PATCH 03/27] Do not create artifacts in CI --- .gitlab-ci.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8428870bc..d9da7af3c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -46,10 +46,6 @@ img: cargo binstall --no-confirm --version 0.27.0 cbindgen && cargo build --manifest-path installer/Cargo.toml --release && PODMAN_BUILD=0 REPO_BINARY=1 make ci-img IMG_TAG=$CI_COMMIT_REF_NAME - artifacts: - paths: - - build/img/ - expire_in: 1 week .update-submodule: stage: retag From e57b033faeac0666b335578a7800f2f6a0dea2fb Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Mon, 28 Jul 2025 14:01:05 +0000 Subject: [PATCH 04/27] Fix blocked by manual trigger --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d9da7af3c..8bd050dd7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -52,6 +52,7 @@ img: rules: - if: '$CI_PIPELINE_SOURCE == "push"' when: manual + allow_failure: true - when: never image: name: alpine/git:latest From c5a7b03f236fe0f8e083ed0929e9003b5eb4fa48 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Mon, 28 Jul 2025 14:07:11 +0000 Subject: [PATCH 05/27] Only create artifacts in MR --- .gitlab-ci.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8bd050dd7..261dbfbe9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -45,7 +45,12 @@ img: cargo binstall --no-confirm --version 1.16.0 just && cargo binstall --no-confirm --version 0.27.0 cbindgen && cargo build --manifest-path installer/Cargo.toml --release && - PODMAN_BUILD=0 REPO_BINARY=1 make ci-img IMG_TAG=$CI_COMMIT_REF_NAME + 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) + artifacts: + paths: + - build/img/ + expire_in: 1 week .update-submodule: stage: retag From f0a1c1cbccc313273ba63f2a45c8101e10354a2e Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Thu, 31 Jul 2025 13:33:51 +0000 Subject: [PATCH 06/27] Add kernel debugger GUI via podman --- mk/podman.mk | 14 ++++++++++++++ podman/redox-gdb-containerfile | 15 +++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 podman/redox-gdb-containerfile diff --git a/mk/podman.mk b/mk/podman.mk index abd2b1e12..2fb068dc5 100644 --- a/mk/podman.mk +++ b/mk/podman.mk @@ -70,3 +70,17 @@ ifeq ($(PODMAN_BUILD),1) else @echo PODMAN_BUILD=$(PODMAN_BUILD), container not required. endif + +KERNEL_PATH := cookbook/recipes/core/kernel +KERNEL_PATH_SOURCE := $(ROOT)/$(KERNEL_PATH)/source +KERNEL_PATH_TARGET := $(ROOT)/$(KERNEL_PATH)/target/$(TARGET) + +kernel_debugger: + @echo "Building and running gdbgui container..." + podman build -t redox-kernel-debug - < $(ROOT)/podman/redox-gdb-containerfile + podman run --rm -p 5000:5000 -it --name redox-gdb \ + -v "$(KERNEL_PATH_TARGET)/build/kernel.sym:/kernel.sym" \ + -v "$(KERNEL_PATH_SOURCE)/src:/src" \ + redox-kernel-debug --gdb-cmd "gdb -ex 'set confirm off' \ + -ex 'add-symbol-file /kernel.sym' \ + -ex 'target remote host.containers.internal:1234'" diff --git a/podman/redox-gdb-containerfile b/podman/redox-gdb-containerfile new file mode 100644 index 000000000..90efb0a7d --- /dev/null +++ b/podman/redox-gdb-containerfile @@ -0,0 +1,15 @@ +FROM debian:stable-backports + +RUN apt-get update \ + && apt-get install -y --no-install-recommends -t stable-backports \ + python3 \ + python3-pip \ + gdb \ + curl \ + && rm -rf /var/lib/apt/lists/* + +RUN pip3 install gdbgui --break-system-packages + +EXPOSE 5000 + +ENTRYPOINT [ "gdbgui", "--remote", "--port", "5000" ] From 0a26eba16debd5830b5a9803cc81730984b08f79 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 31 Jul 2025 09:06:19 -0600 Subject: [PATCH 07/27] Update submodules --- cookbook | 2 +- installer | 2 +- relibc | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cookbook b/cookbook index 671517b9a..d336b7f47 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit 671517b9a4429cbb837f3764de5169e6f4f479ae +Subproject commit d336b7f47679e8469455a6aa8684bd209706b128 diff --git a/installer b/installer index 5758ba854..01a3adb66 160000 --- a/installer +++ b/installer @@ -1 +1 @@ -Subproject commit 5758ba854a84f246ebc3fcb2ab7abac11af3b85c +Subproject commit 01a3adb66269648732dbb8e130130d8ca2d3e23f diff --git a/relibc b/relibc index 9e1ff3185..4f9267be5 160000 --- a/relibc +++ b/relibc @@ -1 +1 @@ -Subproject commit 9e1ff3185e407506661d65081ec6152d71a8298a +Subproject commit 4f9267be5941a008b3cf5e0c1228c3df8bb72b5a From fb890fdfbdd3be7b67a798fd7914b0eaafcdeee4 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Fri, 1 Aug 2025 06:37:09 +0000 Subject: [PATCH 08/27] Add qemu debugging for any recipes --- mk/config.mk | 6 ++++++ mk/podman.mk | 1 + mk/repo.mk | 21 +++++++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/mk/config.mk b/mk/config.mk index 7c0cc320a..121e80577 100644 --- a/mk/config.mk +++ b/mk/config.mk @@ -19,6 +19,8 @@ CONFIG_NAME?=desktop REPO_NONSTOP?=0 ## Do not update source repos, attempt to build in offline condition REPO_OFFLINE?=0 +## Do not strip debug info for local build +REPO_DEBUG?=0 ## Select filesystem config ifeq ($(BOARD),) FILESYSTEM_CONFIG?=config/$(ARCH)/$(CONFIG_NAME).toml @@ -67,6 +69,10 @@ ifeq ($(REPO_OFFLINE),1) else ifeq ($(REPO_OFFLINE),0) REPO_OFFLINE= endif +ifeq ($(REPO_DEBUG),1) + export COOKBOOK_NOSTRIP=true + export COOKBOOK_DEBUG=true +endif UNAME := $(shell uname) ifeq ($(UNAME),Darwin) diff --git a/mk/podman.mk b/mk/podman.mk index 2fb068dc5..8978275f4 100644 --- a/mk/podman.mk +++ b/mk/podman.mk @@ -75,6 +75,7 @@ KERNEL_PATH := cookbook/recipes/core/kernel KERNEL_PATH_SOURCE := $(ROOT)/$(KERNEL_PATH)/source KERNEL_PATH_TARGET := $(ROOT)/$(KERNEL_PATH)/target/$(TARGET) +# TODO: make this work using `make debug.kernel` and remove this kernel_debugger: @echo "Building and running gdbgui container..." podman build -t redox-kernel-debug - < $(ROOT)/podman/redox-gdb-containerfile diff --git a/mk/repo.mk b/mk/repo.mk index c89e02ae5..8174ae959 100644 --- a/mk/repo.mk +++ b/mk/repo.mk @@ -137,3 +137,24 @@ else $(MAKE) uc.$* $(MAKE) f.$* endif + + +export DEBUG_BIN?= + +# Debug a recipe with gdbgui inside podman, for example: debug.drivers-initfs DEBUG_BIN=pcid +# Please set REPO_DEBUG=1 to your .config to enable debug symbols and run `make cr.recipe rebuild` +# Also, before opening gdbgui at http://localhost:5000, start qemu with `make qemu gdb=yes` +# Experimental and may not work if ARCH is different with what podman is running +debug.%: $(FSTOOLS_TAG) FORCE + @cd cookbook/$(shell make find.$* | grep ^recipes) && \ + export RECIPE_STAGE=target/$(TARGET)/stage && \ + export BIN_PATH=$$(find $$RECIPE_STAGE -type f -name "$(DEBUG_BIN)" -or -type f -name "$*") && \ + file $$BIN_PATH 2> /dev/null || ( echo "Binary is not found, please set DEBUG_BIN" && exit 1 ) && \ + echo "Opening gdbgui for debugging $* with binary '$$BIN_PATH'" && echo "----------" && \ + podman build -t redox-kernel-debug - < $(ROOT)/podman/redox-gdb-containerfile > /dev/null && \ + podman run --rm -p 5000:5000 -it --name redox-gdb \ + -v "./$$BIN_PATH:/binary" \ + -v "./source:/source" -w "/source" \ + redox-kernel-debug --gdb-cmd "gdb -ex 'set confirm off' \ + -ex 'add-symbol-file /binary' \ + -ex 'target remote host.containers.internal:1234'" From f00e5b45d9735ef8b81ca5987e5d890748fbae6f Mon Sep 17 00:00:00 2001 From: Ribbon Date: Fri, 1 Aug 2025 12:12:56 -0300 Subject: [PATCH 09/27] Unify dev variants and use dev-redox meta-package --- config/aarch64/dev-redox.toml | 20 ------------- config/dev-redox.toml | 56 ----------------------------------- config/dev.toml | 52 +------------------------------- config/i686/dev-redox.toml | 14 --------- config/x86_64/dev-redox.toml | 14 --------- 5 files changed, 1 insertion(+), 155 deletions(-) delete mode 100644 config/aarch64/dev-redox.toml delete mode 100644 config/dev-redox.toml delete mode 100644 config/i686/dev-redox.toml delete mode 100644 config/x86_64/dev-redox.toml diff --git a/config/aarch64/dev-redox.toml b/config/aarch64/dev-redox.toml deleted file mode 100644 index 89bba21e9..000000000 --- a/config/aarch64/dev-redox.toml +++ /dev/null @@ -1,20 +0,0 @@ -# Configuration for Redox development - -include = ["../dev-redox.toml"] - -# Override the default settings here - -# General settings -[general] -# Filesystem size in MiB -# filesystem_size = 1024 - -# Package settings -[packages] -# see ci.toml for error reasons -gdbserver = "ignore" -gnu-binutils = "ignore" -mesa = "ignore" -mesa-glu = "ignore" -mpc = "ignore" -strace = "ignore" diff --git a/config/dev-redox.toml b/config/dev-redox.toml deleted file mode 100644 index 745aac654..000000000 --- a/config/dev-redox.toml +++ /dev/null @@ -1,56 +0,0 @@ -# Configuration for Redox development - -include = ["desktop.toml"] - -# General settings -[general] -# Filesystem size in MiB -filesystem_size = 20000 -# Do not prompt if settings are not defined -prompt = false - -# Package settings -[packages] -dev-essential = {} -redox-tests = {} - -[[files]] -path = "/home/user/test.rs" -data = """ -fn main() { - println!("Hello, Redox!"); -} -""" - -[[files]] -path = "/home/user/test.c" -data = """ -#include - -int main(void) { - printf("Hello, Redox!\\n"); -} -""" - -[[files]] -path = "/home/user/test.cpp" -data = """ -#include - -int main() -{ - std::cout << "Hello, Redox!" << std::endl; -} -""" - -[[files]] -path = "/home/user/test.py" -data = """ -print("Hello, Redox!") -""" - -[[files]] -path = "/home/user/test.lua" -data = """ -print("Hello, Redox!") -""" diff --git a/config/dev.toml b/config/dev.toml index d9dc01155..c3fa5bf94 100644 --- a/config/dev.toml +++ b/config/dev.toml @@ -11,57 +11,7 @@ prompt = false # Package settings [packages] -acid = {} -autoconf = {} -automake = {} -cargo = {} -crates-io-index = {} -exampled = {} -gcc13 = {} -gdbserver = {} -gnu-binutils = {} -gnu-grep = {} -gnu-make = {} -libffi = {} -libgmp = {} -libiconv = {} -libjpeg = {} -libogg = {} -liborbital = {} -libpng = {} -libsodium = {} -libvorbis = {} -libxml2 = {} -llvm18 = {} -lua54 = {} -mesa = {} -mesa-glu = {} -nasm = {} -ncurses = {} -nghttp2 = {} -openssl1 = {} -orbclient = {} -patch = {} -pcre = {} -pkg-config = {} -resist = {} -ripgrep = {} -rust = {} -sdl-gfx = {} -sdl1 = {} -sdl1-image = {} -sdl1-mixer = {} -sdl1-ttf = {} -sdl2 = {} -sdl2-gears = {} -sdl2-image = {} -sdl2-mixer = {} -sdl2-ttf = {} -sed = {} -strace = {} -terminfo = {} -xz = {} -zlib = {} +dev-redox = {} [[files]] path = "/home/user/test.rs" diff --git a/config/i686/dev-redox.toml b/config/i686/dev-redox.toml deleted file mode 100644 index 655a72b2f..000000000 --- a/config/i686/dev-redox.toml +++ /dev/null @@ -1,14 +0,0 @@ -# Configuration for Redox development - -include = ["../dev-redox.toml"] - -# Override the default settings here - -# General settings -[general] -# Filesystem size in MiB -# filesystem_size = 1024 - -# Package settings -[packages] -# example = {} \ No newline at end of file diff --git a/config/x86_64/dev-redox.toml b/config/x86_64/dev-redox.toml deleted file mode 100644 index 655a72b2f..000000000 --- a/config/x86_64/dev-redox.toml +++ /dev/null @@ -1,14 +0,0 @@ -# Configuration for Redox development - -include = ["../dev-redox.toml"] - -# Override the default settings here - -# General settings -[general] -# Filesystem size in MiB -# filesystem_size = 1024 - -# Package settings -[packages] -# example = {} \ No newline at end of file From b48963626d23fde4c8573f84eb26d98910ea2e9f Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 1 Aug 2025 09:13:48 -0600 Subject: [PATCH 10/27] Update cookbook --- cookbook | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cookbook b/cookbook index d336b7f47..63176da23 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit d336b7f47679e8469455a6aa8684bd209706b128 +Subproject commit 63176da2362b88e91fa6ab10857dae5ec890e973 From 41172ed1600866fd50a5b492f30803851850d800 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Fri, 1 Aug 2025 12:58:50 -0300 Subject: [PATCH 11/27] Enable meta-packages on x86-64 package server --- config/x86_64/ci.toml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/config/x86_64/ci.toml b/config/x86_64/ci.toml index 9134705ed..b834ecf44 100644 --- a/config/x86_64/ci.toml +++ b/config/x86_64/ci.toml @@ -7,6 +7,17 @@ prompt = false # Package settings [packages] + +# Meta-packages below + +dev-essential = {} +dev-redox = {} +redox-tests = {} +x11-minimal = {} +x11-full = {} + +# Normal packages below + acid = {} #atk = {} # depends on glib which does not build autoconf = {} From e48988ef848714b8437a8f62a99088932d2a363f Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 1 Aug 2025 10:34:41 -0600 Subject: [PATCH 12/27] Update relibc --- relibc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/relibc b/relibc index 4f9267be5..6dd10a1f1 160000 --- a/relibc +++ b/relibc @@ -1 +1 @@ -Subproject commit 4f9267be5941a008b3cf5e0c1228c3df8bb72b5a +Subproject commit 6dd10a1f110f836d77a090370af0a71d614c10da From a929e921040acab303c57cf3fbdd412a3379a31c Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 1 Aug 2025 12:44:20 -0600 Subject: [PATCH 13/27] Update relibc --- relibc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/relibc b/relibc index 6dd10a1f1..1694cd3a4 160000 --- a/relibc +++ b/relibc @@ -1 +1 @@ -Subproject commit 6dd10a1f110f836d77a090370af0a71d614c10da +Subproject commit 1694cd3a4dd13431ad0b29ad5269b6d502e05cb4 From 132e4bb8692f97f52c3b2aec86a09070faa67f15 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sat, 2 Aug 2025 08:06:06 -0600 Subject: [PATCH 14/27] Update cookbook and relibc --- cookbook | 2 +- relibc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cookbook b/cookbook index 63176da23..230fd3f86 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit 63176da2362b88e91fa6ab10857dae5ec890e973 +Subproject commit 230fd3f861a586044858d71c2a84ec5b1a5d4415 diff --git a/relibc b/relibc index 1694cd3a4..1105a2092 160000 --- a/relibc +++ b/relibc @@ -1 +1 @@ -Subproject commit 1694cd3a4dd13431ad0b29ad5269b6d502e05cb4 +Subproject commit 1105a2092f66e68228fb4abb750ec519c9ac0655 From 4f9dc95bf0d65347217bae279119a630ec04a6ed Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sat, 2 Aug 2025 08:10:48 -0600 Subject: [PATCH 15/27] Disable extrautils for riscv64gc --- config/riscv64gc/ci.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/riscv64gc/ci.toml b/config/riscv64gc/ci.toml index 613f0a94c..a4896ba74 100644 --- a/config/riscv64gc/ci.toml +++ b/config/riscv64gc/ci.toml @@ -16,7 +16,7 @@ coreutils = {} dash = {} diffutils = {} drivers = {} -extrautils = {} +#extrautils = {} # xz fails to build findutils = {} hicolor-icon-theme = {} installer = {} From eff3d6d95c6d2baec97676de03731fdfb2c7395f Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sat, 2 Aug 2025 19:17:02 -0600 Subject: [PATCH 16/27] Disable x11 recipes in ci --- config/x86_64/ci.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/x86_64/ci.toml b/config/x86_64/ci.toml index b834ecf44..ea37b38c6 100644 --- a/config/x86_64/ci.toml +++ b/config/x86_64/ci.toml @@ -13,8 +13,8 @@ prompt = false dev-essential = {} dev-redox = {} redox-tests = {} -x11-minimal = {} -x11-full = {} +#x11-minimal = { # needs all dependencies added below +#x11-full = {} # needs all dependencies added below # Normal packages below From 91697c13e983baaedc8c1915cf5564d1ac37ec52 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 4 Aug 2025 19:55:04 -0600 Subject: [PATCH 17/27] Update relibc --- relibc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/relibc b/relibc index 1105a2092..4a805ea97 160000 --- a/relibc +++ b/relibc @@ -1 +1 @@ -Subproject commit 1105a2092f66e68228fb4abb750ec519c9ac0655 +Subproject commit 4a805ea97ce32c875e0f2a708b3c64312ff17fe7 From 6a531d6f2297a8c29bf510fcd26ec99723336c35 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Mon, 11 Aug 2025 14:21:31 +0000 Subject: [PATCH 18/27] Add package deps flag --- mk/repo.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/repo.mk b/mk/repo.mk index 8174ae959..2cdcf4043 100644 --- a/mk/repo.mk +++ b/mk/repo.mk @@ -21,7 +21,7 @@ else export COOKBOOK_HOST_SYSROOT="$(ROOT)/$(PREFIX_INSTALL)" && \ PACKAGES="$$($(LIST_PACKAGES) $(LIST_PACKAGES_OPTS) -c $(FILESYSTEM_CONFIG))" && \ cd cookbook && \ - ./repo.sh $(REPO_NONSTOP) $(REPO_OFFLINE) "$${PACKAGES}" + ./repo.sh $(REPO_NONSTOP) $(REPO_OFFLINE) --with-package-deps "$${PACKAGES}" mkdir -p $(BUILD) # make sure fstools.tag and fetch.tag are newer than the things repo modifies touch $(FSTOOLS_TAG) From 0f9b9ceac1dbe02e03fa52f7795f6998b560b9c6 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 11 Aug 2025 14:21:33 -0600 Subject: [PATCH 19/27] Update cookbook and relibc --- cookbook | 2 +- relibc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cookbook b/cookbook index 230fd3f86..3534184e7 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit 230fd3f861a586044858d71c2a84ec5b1a5d4415 +Subproject commit 3534184e75b792e2b25b1bd681f14712fd1df876 diff --git a/relibc b/relibc index 4a805ea97..f5bc50f10 160000 --- a/relibc +++ b/relibc @@ -1 +1 @@ -Subproject commit 4a805ea97ce32c875e0f2a708b3c64312ff17fe7 +Subproject commit f5bc50f104854c157b77a704a46b9577bb36aebb From 472df6fb4417a56449565a8365169e56bee949c2 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Tue, 12 Aug 2025 20:08:20 +0200 Subject: [PATCH 20/27] Fix netbooting on Debian In Debian Trixie OVMF has moved to a different location. In addition the bootrom of the network adapters no longer contains iPXE, so we need to manually chainload it (make sure to install the ipxe package). --- mk/qemu.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mk/qemu.mk b/mk/qemu.mk index d4466cb6c..1bfa5d404 100644 --- a/mk/qemu.mk +++ b/mk/qemu.mk @@ -25,6 +25,7 @@ else ifeq ($(ARCH),x86_64) QEMU_MEM?=2048 ifeq ($(uefi),yes) FIRMWARE=$(firstword \ + $(wildcard /usr/share/ovmf/OVMF.fd) \ $(wildcard /usr/share/OVMF/OVMF_CODE.fd) \ ) ifeq ($(FIRMWARE),) @@ -176,6 +177,7 @@ else EXTRANETARGS= ifeq ($(netboot),yes) EXTRANETARGS+=,tftp=$(BUILD),bootfile=redox.ipxe + QEMUFLAGS+=-kernel /usr/lib/ipxe/ipxe-amd64.efi endif ifneq ($(bridge),) From eb64b9fb384cdaeee397b47eed4b7d34b75b8a2e Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Wed, 13 Aug 2025 15:35:29 +0000 Subject: [PATCH 21/27] Revert "Merge branch 'remove-orb' into 'master'" This reverts commit 620a7a79fc6b470c22f849f871fb2b8c7aaf10b3 --- config/desktop-minimal.toml | 4 +++- config/riscv64gc/demo.toml | 4 +++- config/riscv64gc/desktop-minimal.toml | 4 +++- config/riscv64gc/desktop.toml | 4 +++- config/riscv64gc/jeremy.toml | 4 +++- config/x86_64/ci.toml | 3 +++ 6 files changed, 18 insertions(+), 5 deletions(-) diff --git a/config/desktop-minimal.toml b/config/desktop-minimal.toml index 3201d99d2..7394cce3f 100644 --- a/config/desktop-minimal.toml +++ b/config/desktop-minimal.toml @@ -12,7 +12,9 @@ filesystem_size = 256 orbdata = {} orbital = {} orbterm = {} -orbutils = {} +orbutils-background = {} +orbutils-launcher = {} +orbutils-orblogin = {} [[files]] path = "/usr/lib/init.d/20_orbital" diff --git a/config/riscv64gc/demo.toml b/config/riscv64gc/demo.toml index 91c452ab8..7d58679f3 100644 --- a/config/riscv64gc/demo.toml +++ b/config/riscv64gc/demo.toml @@ -14,7 +14,9 @@ filesystem_size = 256 orbdata = {} orbital = {} orbterm = {} -orbutils = {} +orbutils-background = {} +orbutils-launcher = {} +orbutils-orblogin = {} [[files]] path = "/usr/lib/init.d/20_orbital" diff --git a/config/riscv64gc/desktop-minimal.toml b/config/riscv64gc/desktop-minimal.toml index 91c452ab8..7d58679f3 100644 --- a/config/riscv64gc/desktop-minimal.toml +++ b/config/riscv64gc/desktop-minimal.toml @@ -14,7 +14,9 @@ filesystem_size = 256 orbdata = {} orbital = {} orbterm = {} -orbutils = {} +orbutils-background = {} +orbutils-launcher = {} +orbutils-orblogin = {} [[files]] path = "/usr/lib/init.d/20_orbital" diff --git a/config/riscv64gc/desktop.toml b/config/riscv64gc/desktop.toml index 91c452ab8..7d58679f3 100644 --- a/config/riscv64gc/desktop.toml +++ b/config/riscv64gc/desktop.toml @@ -14,7 +14,9 @@ filesystem_size = 256 orbdata = {} orbital = {} orbterm = {} -orbutils = {} +orbutils-background = {} +orbutils-launcher = {} +orbutils-orblogin = {} [[files]] path = "/usr/lib/init.d/20_orbital" diff --git a/config/riscv64gc/jeremy.toml b/config/riscv64gc/jeremy.toml index 91c452ab8..7d58679f3 100644 --- a/config/riscv64gc/jeremy.toml +++ b/config/riscv64gc/jeremy.toml @@ -14,7 +14,9 @@ filesystem_size = 256 orbdata = {} orbital = {} orbterm = {} -orbutils = {} +orbutils-background = {} +orbutils-launcher = {} +orbutils-orblogin = {} [[files]] path = "/usr/lib/init.d/20_orbital" diff --git a/config/x86_64/ci.toml b/config/x86_64/ci.toml index ea37b38c6..c972da284 100644 --- a/config/x86_64/ci.toml +++ b/config/x86_64/ci.toml @@ -141,6 +141,9 @@ orbdata = {} orbital = {} orbterm = {} orbutils = {} +#orbutils-background = {} # needs recipe update +#orbutils-launcher = {} # needs recipe update +#orbutils-orblogin = {} # needs recipe update osdemo = {} #pango = {} # undefined references to std::__throw_system_error(int) #pastel = {} # needs crate patches for redox-unix From 790183f7055ce8fa7bba944cb043e22dea51343a Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 13 Aug 2025 09:36:38 -0600 Subject: [PATCH 22/27] Update relibc --- relibc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/relibc b/relibc index f5bc50f10..f170902a2 160000 --- a/relibc +++ b/relibc @@ -1 +1 @@ -Subproject commit f5bc50f104854c157b77a704a46b9577bb36aebb +Subproject commit f170902a29f0b7c10cc2bce087c8b6f0d9478d9d From 2cccf6932320143d37f08531e607b33fef3059dd Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 13 Aug 2025 09:38:48 -0600 Subject: [PATCH 23/27] Update cookbook --- cookbook | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cookbook b/cookbook index 3534184e7..cc58d96c6 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit 3534184e75b792e2b25b1bd681f14712fd1df876 +Subproject commit cc58d96c6f3747f7d80c9f393db0df24bc17030d From 80b0b5229700ba6ab2cf6de24e22b9b471c0d0b3 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Wed, 13 Aug 2025 15:42:15 +0000 Subject: [PATCH 24/27] Add minimal orbutils into CI --- config/aarch64/ci.toml | 3 +++ config/i686/ci.toml | 3 +++ config/riscv64gc/ci.toml | 3 +++ config/x86_64/ci.toml | 6 +++--- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/config/aarch64/ci.toml b/config/aarch64/ci.toml index 0eca1c880..d31d0169a 100644 --- a/config/aarch64/ci.toml +++ b/config/aarch64/ci.toml @@ -53,6 +53,9 @@ orbdata = {} orbital = {} orbterm = {} orbutils = {} +orbutils-background = {} +orbutils-launcher = {} +orbutils-orblogin = {} patch = {} pcre = {} pkgutils = {} diff --git a/config/i686/ci.toml b/config/i686/ci.toml index 3d8b7835a..e67944146 100644 --- a/config/i686/ci.toml +++ b/config/i686/ci.toml @@ -33,6 +33,9 @@ orbdata = {} orbital = {} orbterm = {} orbutils = {} +orbutils-background = {} +orbutils-launcher = {} +orbutils-orblogin = {} pkgutils = {} redoxfs = {} relibc = {} diff --git a/config/riscv64gc/ci.toml b/config/riscv64gc/ci.toml index a4896ba74..45e07aa12 100644 --- a/config/riscv64gc/ci.toml +++ b/config/riscv64gc/ci.toml @@ -33,6 +33,9 @@ orbdata = {} orbital = {} orbterm = {} orbutils = {} +orbutils-background = {} +orbutils-launcher = {} +orbutils-orblogin = {} pkgutils = {} redoxfs = {} relibc = {} diff --git a/config/x86_64/ci.toml b/config/x86_64/ci.toml index c972da284..04ea65ecd 100644 --- a/config/x86_64/ci.toml +++ b/config/x86_64/ci.toml @@ -141,9 +141,9 @@ orbdata = {} orbital = {} orbterm = {} orbutils = {} -#orbutils-background = {} # needs recipe update -#orbutils-launcher = {} # needs recipe update -#orbutils-orblogin = {} # needs recipe update +orbutils-background = {} +orbutils-launcher = {} +orbutils-orblogin = {} osdemo = {} #pango = {} # undefined references to std::__throw_system_error(int) #pastel = {} # needs crate patches for redox-unix From 4c6b8d2a0e86450e0cb344ee3e5703aefc9ad9f9 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Fri, 15 Aug 2025 04:49:33 +0000 Subject: [PATCH 25/27] Update podman to trixie and prepare make clean for it --- Makefile | 5 ++--- podman/redox-base-containerfile | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index cbc345cb0..b4fd500fa 100644 --- a/Makefile +++ b/Makefile @@ -34,9 +34,8 @@ ifeq ($(PODMAN_BUILD),1) else cd cookbook && ./clean.sh -rm -rf cookbook/repo - cargo clean --manifest-path installer/Cargo.toml - cargo clean --manifest-path redoxfs/Cargo.toml - cargo clean --manifest-path relibc/Cargo.toml + $(MAKE) fstools_clean + $(HOST_CARGO) clean --manifest-path relibc/Cargo.toml endif -$(FUMOUNT) $(BUILD)/filesystem/ || true -$(FUMOUNT) /tmp/redox_installer/ || true diff --git a/podman/redox-base-containerfile b/podman/redox-base-containerfile index 9eb123dd1..82f70db74 100644 --- a/podman/redox-base-containerfile +++ b/podman/redox-base-containerfile @@ -1,6 +1,6 @@ # Configuration file to install the recipe dependencies inside the Podman container -FROM debian:stable-backports +FROM debian:trixie # _UID_ must be replaced with the user's uid on host # podman root is mapped to your user id on host during build, @@ -8,7 +8,7 @@ FROM debian:stable-backports RUN useradd --create-home --no-log-init --uid _UID_ poduser \ && chown -R root:root /home \ && apt-get update \ - && apt-get install -y --no-install-recommends -t stable-backports \ + && apt-get install -y --no-install-recommends \ ant \ appstream \ appstream-compose \ From 05e7279156f1e9434fe60241beb6702372258e97 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Fri, 15 Aug 2025 12:53:08 +0700 Subject: [PATCH 26/27] Fix make invocation for Podman in MacOS --- Makefile | 6 +++--- mk/ci.mk | 4 ++-- mk/fstools.mk | 4 ++-- mk/prefix.mk | 16 ++++++++-------- mk/repo.mk | 22 +++++++++++----------- 5 files changed, 26 insertions(+), 26 deletions(-) diff --git a/Makefile b/Makefile index cbc345cb0..77642b8cf 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ rebuild: clean: $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else cd cookbook && ./clean.sh -rm -rf cookbook/repo @@ -44,7 +44,7 @@ endif distclean: $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else $(MAKE) clean cd cookbook && ./unfetch.sh @@ -83,7 +83,7 @@ include mk/ci.mk env: prefix FORCE $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else export PATH="$(PREFIX_PATH):$$PATH" && \ bash diff --git a/mk/ci.mk b/mk/ci.mk index 9d7cde36d..109807b1e 100644 --- a/mk/ci.mk +++ b/mk/ci.mk @@ -24,7 +24,7 @@ minimal minimal-net server desktop demo: FORCE # CI packaging target ci-pkg: prefix $(FSTOOLS_TAG) $(CONTAINER_TAG) FORCE ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else $(HOST_CARGO) build --manifest-path cookbook/Cargo.toml --release $(HOST_CARGO) build --manifest-path cookbook/pkgar/Cargo.toml --release @@ -40,7 +40,7 @@ endif # CI toolchain ci-toolchain: $(CONTAINER_TAG) FORCE ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else $(MAKE) PREFIX_BINARY=0 \ "prefix/$(TARGET)/gcc-install.tar.gz" \ diff --git a/mk/fstools.mk b/mk/fstools.mk index 61a850664..125b8cbf7 100644 --- a/mk/fstools.mk +++ b/mk/fstools.mk @@ -5,7 +5,7 @@ fstools: $(FSTOOLS_TAG) # These tools run inside Podman if it is used, or on the host if Podman is not used $(FSTOOLS_TAG): cookbook installer $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else $(HOST_CARGO) build --manifest-path cookbook/Cargo.toml --release $(HOST_CARGO) build --manifest-path cookbook/pkgar/Cargo.toml --release @@ -25,7 +25,7 @@ $(HOST_FSTOOLS): installer redoxfs fstools_clean: FORCE $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else $(HOST_CARGO) clean --manifest-path cookbook/Cargo.toml $(HOST_CARGO) clean --manifest-path cookbook/pkgar/Cargo.toml diff --git a/mk/prefix.mk b/mk/prefix.mk index 033c01d0e..2aefc0fe3 100644 --- a/mk/prefix.mk +++ b/mk/prefix.mk @@ -44,7 +44,7 @@ $(PREFIX)/relibc: $(ROOT)/relibc $(PREFIX)/relibc-install: $(PREFIX)/relibc | $(PREFIX)/rust-install $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else rm -rf "$@.partial" "$@" cp -r "$(PREFIX)/rust-install" "$@.partial" @@ -88,7 +88,7 @@ $(PREFIX)/libtool: $(PREFIX)/libtool-build: $(PREFIX)/libtool $(PREFIX)/rust-install ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else rm -rf "$@.partial" "$@" mkdir -p "$@.partial" @@ -112,7 +112,7 @@ endif $(PREFIX)/sysroot: $(PREFIX)/relibc-install $(PREFIX)/libtool-build $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else rm -rf "$@" cp -r "$(PREFIX)/relibc-install/" "$@" @@ -161,7 +161,7 @@ $(PREFIX)/binutils: $(PREFIX)/binutils-$(BINUTILS_BRANCH).tar.bz2 $(PREFIX)/binutils-install: $(PREFIX)/binutils $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else rm -rf "$<-build" "$@.partial" "$@" mkdir -p "$<-build" "$@.partial" @@ -197,7 +197,7 @@ $(PREFIX)/gcc: $(PREFIX)/gcc-$(GCC_BRANCH).tar.bz2 $(PREFIX)/gcc-freestanding-install: $(PREFIX)/gcc | $(PREFIX)/binutils-install $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else rm -rf "$<-freestanding-build" "$@.partial" "$@" mkdir -p "$<-freestanding-build" @@ -233,7 +233,7 @@ $(PREFIX)/relibc-freestanding: $(ROOT)/relibc $(PREFIX)/relibc-freestanding-install: $(PREFIX)/relibc-freestanding | $(PREFIX_FREESTANDING_INSTALL) $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else rm -rf "$@.partial" "$@" mkdir -p "$@.partial" @@ -252,7 +252,7 @@ endif $(PREFIX)/gcc-install: $(PREFIX)/gcc | $(PREFIX)/relibc-freestanding-install $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else rm -rf "$<-build" "$@.partial" "$@" mkdir -p "$<-build" @@ -294,7 +294,7 @@ $(PREFIX)/gcc-install.tar.gz: $(PREFIX)/gcc-install $(PREFIX)/rust-install: $(ROOT)/rust/configure | $(PREFIX)/gcc-install $(PREFIX)/relibc-freestanding-install $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else rm -rf "$(PREFIX)/rust-build" "$@.partial" "$@" mkdir -p "$(PREFIX)/rust-build" diff --git a/mk/repo.mk b/mk/repo.mk index 2cdcf4043..d8f232d81 100644 --- a/mk/repo.mk +++ b/mk/repo.mk @@ -2,7 +2,7 @@ $(BUILD)/fetch.tag: prefix $(FSTOOLS_TAG) $(FILESYSTEM_CONFIG) $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else export PATH="$(PREFIX_PATH):$$PATH" && \ PACKAGES="$$($(LIST_PACKAGES) $(LIST_PACKAGES_OPTS) -c $(FILESYSTEM_CONFIG))" && \ @@ -15,7 +15,7 @@ endif $(REPO_TAG): $(BUILD)/fetch.tag $(FSTOOLS_TAG) $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else export PATH="$(PREFIX_PATH):$$PATH" && \ export COOKBOOK_HOST_SYSROOT="$(ROOT)/$(PREFIX_INSTALL)" && \ @@ -32,7 +32,7 @@ endif # Find recipe find.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else export PATH="$(PREFIX_PATH):$$PATH" && \ export COOKBOOK_HOST_SYSROOT="$(ROOT)/$(PREFIX_INSTALL)" && \ @@ -45,7 +45,7 @@ comma := , # Invoke clean.sh for one or more targets separated by comma c.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else @if echo "$*" | grep -q ','; then \ $(MAKE) $(foreach f,$(subst $(comma), ,$*),c.$(f)); \ @@ -60,7 +60,7 @@ endif # Invoke fetch.sh for one or more targets separated by comma f.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else @if echo "$*" | grep -q ','; then \ $(MAKE) $(foreach f,$(subst $(comma), ,$*),f.$(f)); \ @@ -75,7 +75,7 @@ endif # Invoke repo.sh for one or more targets separated by comma r.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else @if echo "$*" | grep -q ','; then \ $(MAKE) $(foreach f,$(subst $(comma), ,$*),r.$(f)); \ @@ -90,7 +90,7 @@ endif # Invoke unfetch.sh for one or more targets separated by comma u.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else @if echo "$*" | grep -q ','; then \ $(MAKE) $(foreach f,$(subst $(comma), ,$*),u.$(f)); \ @@ -105,7 +105,7 @@ endif # Invoke clean.sh, and repo.sh for one of more targets separated by comma cr.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else $(MAKE) c.$* $(MAKE) r.$* @@ -114,7 +114,7 @@ endif # Invoke unfetch.sh, clean.sh, and repo.sh for one or more targets separated by comma ucr.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else $(MAKE) u.$* $(MAKE) cr.$* @@ -123,7 +123,7 @@ endif # Invoke unfetch.sh and clean.sh for one or more targets separated by comma uc.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else $(MAKE) u.$* $(MAKE) c.$* @@ -132,7 +132,7 @@ endif # Invoke unfetch, clean.sh and fetch.sh for one or more targets separated by comma ucf.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) $(MAKE) $@ + $(PODMAN_RUN) make $@ else $(MAKE) uc.$* $(MAKE) f.$* From aad831766cb71bb9e1ec7adffd5e1b461f18cc9a Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sat, 16 Aug 2025 13:36:12 +0000 Subject: [PATCH 27/27] Use HVF Acceleration by default for MacOS Silicon --- mk/qemu.mk | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mk/qemu.mk b/mk/qemu.mk index 1bfa5d404..88611c87b 100644 --- a/mk/qemu.mk +++ b/mk/qemu.mk @@ -80,6 +80,11 @@ else ifeq ($(ARCH),aarch64) QEMUFLAGS+=-device qemu-xhci -device usb-kbd -device usb-tablet endif endif + + # Default to using HVF when host is MacOS Silicon + ifeq ($(HOST_ARCH),arm64) + kvm?=yes + endif else ifeq ($(ARCH),riscv64gc) live=no efi=yes @@ -243,7 +248,11 @@ ifeq ($(UNAME),Linux) endif ifeq ($(UNAME),Darwin) - QEMUFLAGS+=-cpu $(QEMU_CPU) + ifneq ($(kvm),no) + QEMUFLAGS+=-accel hvf -cpu max + else + QEMUFLAGS+=-cpu $(QEMU_CPU) + endif endif ifneq ($(PFLASH0),)