Red Bear OS — microkernel OS in Rust, based on Redox

Derivative of Redox OS (https://www.redox-os.org) adding:
- AMD GPU driver (amdgpu) via LinuxKPI compat layer
- ext4 filesystem support (ext4d scheme daemon)
- ACPI fixes for AMD bare metal (x2APIC, DMAR, IVRS, MCFG)
- Custom branding (hostname, os-release, boot identity)

Build system is full upstream Redox with RBOS overlay in local/.
Patches for kernel, base, and relibc are symlinked from local/patches/
and protected from make clean/distclean. Custom recipes live in
local/recipes/ with symlinks into the recipes/ search path.

Build:  make all CONFIG_NAME=redbear-full
Sync:   ./local/scripts/sync-upstream.sh
This commit is contained in:
2026-04-12 19:05:00 +01:00
commit 50b731f1b7
3392 changed files with 98327 additions and 0 deletions
@@ -0,0 +1,12 @@
diff -ruwN source/configure.py source-new/configure.py
--- source/configure.py 2025-07-31 15:37:54.000000000 +0700
+++ source-new/configure.py 2025-08-03 00:37:51.836604059 +0700
@@ -44,7 +44,7 @@
# parse our options
parser = argparse.ArgumentParser()
-valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux',
+valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', 'redox',
'android', 'aix', 'cloudabi', 'os400', 'ios', 'openharmony')
valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el',
'ppc64', 'x64', 'x86', 'x86_64', 's390x', 'riscv64', 'loong64')
@@ -0,0 +1,63 @@
#TODO requires stdc++20
[source]
tar = "https://nodejs.org/dist/v24.9.0/node-v24.9.0.tar.xz"
blake3 = "c710713c9144dc2dfadaef1d180b295d85edd9945513017fc700af68eb08a251"
patches = ["01_redox.patch"]
[build]
template = "custom"
dependencies = [
# "ada",
"libbrotli",
"c-ares",
"libuv",
"ngtcp2",
"nghttp2",
# "http-parser",
"nghttp3",
"openssl1",
"simdjson",
"simdutf",
"sqlite3",
# "uvwasi",
"zlib",
"zstd",
]
script = """
DYNAMIC_INIT
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
case "${TARGET}" in
x86-unknown-redox)
export NODE_CPU=x32
;;
x86_64-unknown-redox)
export NODE_CPU=x64
;;
aarch64-unknown-redox)
export NODE_CPU=arm64
;;
esac
COOKBOOK_CONFIGURE_FLAGS=(
--prefix=${COOKBOOK_STAGE}
--dest-cpu=${NODE_CPU}
--dest-os=redox
--shared-cares
--shared-libuv
--shared-ngtcp2
--shared-nghttp2
--shared-nghttp3
--shared-openssl
--shared-simdjson
--shared-simdutf
--shared-zlib
--shared-zstd
--cross-compiling
--without-sqlite
--without-inspector
--without-intl
)
COOKBOOK_CONFIGURE="./configure"
cookbook_configure
"""