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
+80
View File
@@ -0,0 +1,80 @@
[source]
tar = "https://www.php.net/distributions/php-8.4.17.tar.xz"
blake3 = "a8478dddd948d4b26e51c5727ac0895440da76e8ad9be947098a4284ca0b7f2a"
patches = [
"redox.patch"
]
[build]
template = "custom"
dependencies = [
"bzip2",
"curl",
"gettext",
"libffi",
"libgmp",
"libavif",
"libicu",
"libjpeg",
"libedit",
"libonig",
"libpng",
"libsodium",
"libwebp",
"libxml2",
"libiconv",
"libzip",
"ncursesw",
"nghttp2",
"openssl3",
"pcre",
"sqlite3",
"xz",
"zlib",
"zstd",
]
script = """
DYNAMIC_INIT
export SUFFIX="84"
export CURL_LIBS="-lcurl -lnghttp2 -lssl -lcrypto"
COOKBOOK_CONFIGURE_FLAGS+=(
--program-suffix=${SUFFIX}
--sysconfdir=/etc/php/$SUFFIX
--with-config-file-path=/etc/php/$SUFFIX
--with-config-file-scan-dir=/etc/php/$SUFFIX/conf.d
--with-iconv="${COOKBOOK_SYSROOT}/usr"
--disable-opcache
--enable-bcmath
--enable-calendar
--enable-fpm # need times function
--enable-gd
--enable-intl
--enable-mbstring
--with-curl
--with-gettext
--with-gmp
--with-jpeg
--with-webp
--with-avif
--with-ffi
--with-libedit
--with-openssl
--with-sodium
--with-zip
)
"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" "$@"
"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}"
"${COOKBOOK_MAKE}" install \
INSTALL_ROOT="${COOKBOOK_STAGE}" \
datarootdir=/usr/share localstatedir=/var
mv ${COOKBOOK_STAGE}/usr/sbin/* ${COOKBOOK_STAGE}/usr/bin/
for bin in "php-cgi" "php-config" "php" "phpdbg" "phpize" "php-fpm"; do
ln -s "$bin$SUFFIX" ${COOKBOOK_STAGE}/usr/bin/$bin
done
# will not exist on bash but exist on other shell
rm -f ${COOKBOOK_STAGE}/usr/bin/phar$SUFFIX
cp ${COOKBOOK_SOURCE}/php.ini* ${COOKBOOK_STAGE}/etc/php/$SUFFIX/
"""