Files
RedBear-OS/recipes/tests/os-test-bins/recipe.toml
T
vasilito 50b731f1b7 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
2026-04-12 19:05:00 +01:00

90 lines
2.0 KiB
TOML

[source]
same_as = "../os-test"
[build]
dependencies = [
"gettext",
"libarchive",
"libiconv",
]
template = "custom"
script = """
DYNAMIC_INIT
# Copy source to /usr/share/os-test
mkdir -p "${COOKBOOK_STAGE}/usr/share/os-test"
cd "${COOKBOOK_STAGE}/usr/share/os-test"
rsync -a "${COOKBOOK_SOURCE}/" "./"
# Pre-compile tests for Redox
make OS=Redox \
CC="${CC_WRAPPER} ${GNU_TARGET}-gcc" \
CFLAGS="-I${COOKBOOK_SYSROOT}/include" \
CPPFLAGS="-I${COOKBOOK_SYSROOT}/include" \
LDFLAGS="-L${COOKBOOK_SYSROOT}/lib" \
EXTRA_LDFLAGS= \
CC_FOR_BUILD="${CC_WRAPPER} cc" \
CFLAGS_FOR_BUILD= \
CPPFLAGS_FOR_BUILD= \
LDFLAGS_FOR_BUILD= \
-j "${COOKBOOK_MAKE_JOBS}" \
all
skips=(
# These tests hang
basic/poll/poll
basic/pthread/pthread_barrierattr_setpshared
basic/pthread/pthread_cancel
basic/pthread/pthread_cleanup_pop
basic/pthread/pthread_cleanup_push
basic/pthread/pthread_condattr_setpshared
basic/pthread/pthread_mutex_consistent
basic/pthread/pthread_rwlock_timedrdlock
basic/pthread/pthread_rwlock_timedwrlock
basic/pthread/pthread_setcanceltype
basic/pthread/pthread_testcancel
basic/sys_select/select
basic/sys_time/select
basic/sys_wait/waitpid
signal/ppoll-block-sleep-raise-write
signal/ppoll-block-sleep-write-raise
)
for skip in "${skips[@]}"
do
mkdir -p out.known/redox/"$(dirname "${skip}")"
echo "skipped" > out.known/redox/"${skip}.out"
done
cp -t out -R out.known/redox
# Create runner script
mkdir -p "${COOKBOOK_STAGE}/usr/bin"
cat > "${COOKBOOK_STAGE}/usr/bin/os-test-runner" <<EOF
#!/usr/bin/env bash
set -e
cd /usr/share/os-test
echo "Ensuring executables are newer than sources"
find . -type f -perm /111 -exec touch '{}' ';'
echo "Ensuring outputs are newer than sources and executables"
find out -type f -exec touch '{}' ';'
make test
make html
make json
EOF
chmod +x "${COOKBOOK_STAGE}/usr/bin/os-test-runner"
"""
[package]
dependencies = [
"gcc13",
"gnu-binutils",
"gnu-grep",
"gnu-make",
"libarchive",
"sed",
]