Add cross-toolchain wrappers and update scripts
Red Bear OS Team
This commit is contained in:
@@ -80,6 +80,8 @@ symlink "../../local/recipes/branding/redbear-release" "recipes/branding/redbear
|
||||
# Drivers
|
||||
mkdir -p recipes/drivers
|
||||
symlink "../../local/recipes/drivers/linux-kpi" "recipes/drivers/linux-kpi"
|
||||
symlink "../../local/recipes/drivers/redbear-btusb" "recipes/drivers/redbear-btusb"
|
||||
symlink "../../local/recipes/drivers/redbear-iwlwifi" "recipes/drivers/redbear-iwlwifi"
|
||||
symlink "../../local/recipes/drivers/redox-driver-sys" "recipes/drivers/redox-driver-sys"
|
||||
|
||||
# GPU
|
||||
@@ -99,12 +101,16 @@ symlink "../../local/recipes/libs/libxcvt-stub" "recipes/libs/libxcvt-stu
|
||||
mkdir -p recipes/system
|
||||
symlink "../../local/recipes/system/cub" "recipes/system/cub"
|
||||
symlink "../../local/recipes/system/evdevd" "recipes/system/evdevd"
|
||||
symlink "../../local/recipes/system/redbear-firmware" "recipes/system/redbear-firmware"
|
||||
symlink "../../local/recipes/system/firmware-loader" "recipes/system/firmware-loader"
|
||||
symlink "../../local/recipes/system/iommu" "recipes/system/iommu"
|
||||
symlink "../../local/recipes/system/redbear-hwutils" "recipes/system/redbear-hwutils"
|
||||
symlink "../../local/recipes/system/redbear-info" "recipes/system/redbear-info"
|
||||
symlink "../../local/recipes/system/redbear-btctl" "recipes/system/redbear-btctl"
|
||||
symlink "../../local/recipes/system/redbear-netstat" "recipes/system/redbear-netstat"
|
||||
symlink "../../local/recipes/system/redbear-netctl" "recipes/system/redbear-netctl"
|
||||
symlink "../../local/recipes/system/redbear-netctl-console" "recipes/system/redbear-netctl-console"
|
||||
symlink "../../local/recipes/system/redbear-wifictl" "recipes/system/redbear-wifictl"
|
||||
symlink "../../local/recipes/system/redbear-traceroute" "recipes/system/redbear-traceroute"
|
||||
symlink "../../local/recipes/system/redbear-mtr" "recipes/system/redbear-mtr"
|
||||
symlink "../../local/recipes/system/redbear-nmap" "recipes/system/redbear-nmap"
|
||||
@@ -115,6 +121,10 @@ symlink "../../local/recipes/system/udev-shim" "recipes/system/udev-shim"
|
||||
mkdir -p recipes/core
|
||||
symlink "../../local/recipes/core/ext4d" "recipes/core/ext4d"
|
||||
|
||||
# Wayland additions
|
||||
mkdir -p recipes/wip/wayland
|
||||
symlink "../../../local/recipes/wayland/qt6-wayland-smoke" "recipes/wip/wayland/qt6-wayland-smoke"
|
||||
|
||||
# KDE / Phase 6 recipes
|
||||
mkdir -p recipes/kde
|
||||
symlink "../../local/recipes/kde/plasma-desktop" "recipes/kde/plasma-desktop"
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
# Usage:
|
||||
# ./local/scripts/build-redbear.sh # Default: redbear-desktop
|
||||
# ./local/scripts/build-redbear.sh redbear-minimal # Minimal validation baseline
|
||||
# ./local/scripts/build-redbear.sh redbear-bluetooth-experimental # First bounded Bluetooth slice
|
||||
# ./local/scripts/build-redbear.sh redbear-full # Full Red Bear integration target
|
||||
# ./local/scripts/build-redbear.sh redbear-wayland # Wayland runtime validation profile
|
||||
# ./local/scripts/build-redbear.sh redbear-kde # KDE Plasma bring-up target
|
||||
@@ -24,11 +25,11 @@ JOBS="${JOBS:-$(nproc)}"
|
||||
APPLY_PATCHES="${APPLY_PATCHES:-1}"
|
||||
|
||||
case "$CONFIG" in
|
||||
redbear-desktop|redbear-minimal|redbear-full|redbear-wayland|redbear-kde|redbear-live)
|
||||
redbear-desktop|redbear-minimal|redbear-bluetooth-experimental|redbear-full|redbear-wayland|redbear-kde|redbear-live)
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: Unknown config '$CONFIG'"
|
||||
echo "Supported: redbear-desktop, redbear-minimal, redbear-full, redbear-wayland, redbear-kde, redbear-live"
|
||||
echo "Supported: redbear-desktop, redbear-minimal, redbear-bluetooth-experimental, redbear-full, redbear-wayland, redbear-kde, redbear-live"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -136,16 +136,22 @@ echo ""
|
||||
section "Ensuring custom recipe symlinks..."
|
||||
symlink "../../local/recipes/branding/redbear-release" "recipes/branding/redbear-release"
|
||||
symlink "../../local/recipes/drivers/linux-kpi" "recipes/drivers/linux-kpi"
|
||||
symlink "../../local/recipes/drivers/redbear-btusb" "recipes/drivers/redbear-btusb"
|
||||
symlink "../../local/recipes/drivers/redbear-iwlwifi" "recipes/drivers/redbear-iwlwifi"
|
||||
symlink "../../local/recipes/drivers/redox-driver-sys" "recipes/drivers/redox-driver-sys"
|
||||
symlink "../../local/recipes/gpu/amdgpu" "recipes/gpu/amdgpu"
|
||||
symlink "../../local/recipes/gpu/redox-drm" "recipes/gpu/redox-drm"
|
||||
symlink "../../local/recipes/system/evdevd" "recipes/system/evdevd"
|
||||
symlink "../../local/recipes/system/redbear-firmware" "recipes/system/redbear-firmware"
|
||||
symlink "../../local/recipes/system/firmware-loader" "recipes/system/firmware-loader"
|
||||
symlink "../../local/recipes/system/iommu" "recipes/system/iommu"
|
||||
symlink "../../local/recipes/system/redbear-btctl" "recipes/system/redbear-btctl"
|
||||
symlink "../../local/recipes/system/redbear-info" "recipes/system/redbear-info"
|
||||
symlink "../../local/recipes/system/redbear-hwutils" "recipes/system/redbear-hwutils"
|
||||
symlink "../../local/recipes/system/redbear-netstat" "recipes/system/redbear-netstat"
|
||||
symlink "../../local/recipes/system/redbear-netctl" "recipes/system/redbear-netctl"
|
||||
symlink "../../local/recipes/system/redbear-netctl-console" "recipes/system/redbear-netctl-console"
|
||||
symlink "../../local/recipes/system/redbear-wifictl" "recipes/system/redbear-wifictl"
|
||||
symlink "../../local/recipes/system/redbear-traceroute" "recipes/system/redbear-traceroute"
|
||||
symlink "../../local/recipes/system/redbear-mtr" "recipes/system/redbear-mtr"
|
||||
symlink "../../local/recipes/system/redbear-nmap" "recipes/system/redbear-nmap"
|
||||
@@ -154,6 +160,7 @@ symlink "../../local/recipes/system/udev-shim" "recipes/system/udev-shim"
|
||||
symlink "../../local/recipes/core/ext4d" "recipes/core/ext4d"
|
||||
symlink "../../local/recipes/tui/mc" "recipes/tui/mc"
|
||||
symlink "../../local/recipes/system/cub" "recipes/system/cub"
|
||||
symlink "../../../local/recipes/wayland/qt6-wayland-smoke" "recipes/wip/wayland/qt6-wayland-smoke"
|
||||
|
||||
# KDE / Phase 6 recipes
|
||||
mkdir -p recipes/kde
|
||||
@@ -216,6 +223,7 @@ section "Validating Red Bear configs..."
|
||||
declare -a redbear_configs=(
|
||||
"config/redbear-desktop.toml"
|
||||
"config/redbear-minimal.toml"
|
||||
"config/redbear-bluetooth-experimental.toml"
|
||||
"config/redbear-full.toml"
|
||||
"config/redbear-wayland.toml"
|
||||
"config/redbear-live.toml"
|
||||
|
||||
@@ -224,5 +224,8 @@ echo "1. Safely eject or unplug the target device if your host requires it."
|
||||
echo "2. Insert the device into the AMD test machine and boot from it in UEFI mode."
|
||||
echo "3. Capture serial output during boot if available to diagnose early failures."
|
||||
echo "4. Check ACPI, SMP, framebuffer, and storage initialization on real hardware."
|
||||
echo "5. If validating the Intel Wi-Fi path, run: redbear-phase5-wifi-check"
|
||||
echo "6. For the strongest bounded Wi-Fi runtime path, also run: test-wifi-baremetal-runtime.sh"
|
||||
echo "7. Preserve /tmp/redbear-phase5-wifi-capture.json from the target after the run."
|
||||
echo ""
|
||||
echo "If you need serial logs, connect your serial console before powering on the target system."
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# Launch the Phase 4 Wayland path in QEMU using the repo's Wayland profile.
|
||||
# This script validates the current bounded software-path Wayland runtime slice.
|
||||
# It does NOT currently prove a hardware-accelerated desktop path in QEMU.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
@@ -36,6 +38,11 @@ Examples:
|
||||
|
||||
Expected runtime path:
|
||||
orbital -> orbital-wayland -> smallvil -> wayland-session
|
||||
|
||||
Important:
|
||||
the current harness uses '-vga std' and today still surfaces llvmpipe in-guest.
|
||||
Treat this as a Phase 4 software-path/runtime smoke check and regression harness.
|
||||
Hardware-accelerated desktop proof is a separate bare-metal/runtime-driver milestone.
|
||||
USAGE
|
||||
}
|
||||
|
||||
@@ -93,6 +100,7 @@ echo " redbear-info --json"
|
||||
echo " netctl status"
|
||||
echo " redbear-phase4-wayland-check"
|
||||
echo " smallvil should be the primary compositor path"
|
||||
echo " qt6-wayland-smoke should leave a success marker via wayland-session"
|
||||
echo
|
||||
|
||||
if [[ "$check_mode" -eq 1 ]]; then
|
||||
@@ -110,6 +118,13 @@ expect "Red Bear OS Phase 4 Wayland Runtime Check"
|
||||
expect "orbital-wayland"
|
||||
expect "wayland-session"
|
||||
expect "smallvil"
|
||||
expect "/home/root/.qt6-bootstrap-minimal.ok"
|
||||
expect "/home/root/.qt6-plugin-minimal.ok"
|
||||
expect "/home/root/.qt6-wayland-smoke-minimal.ok"
|
||||
expect "/home/root/.qt6-wayland-smoke-offscreen.ok"
|
||||
expect "/home/root/.qt6-wayland-smoke-wayland.ok"
|
||||
expect "/home/root/.qt6-wayland-smoke.ok"
|
||||
expect "qt6-wayland-smoke"
|
||||
expect "virtio_net_present"
|
||||
send "shutdown\r"
|
||||
expect eof
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
# Reference host-side copy of the guest-side Phase 4 Wayland runtime check.
|
||||
# The actual in-guest command installed by the profile is `redbear-phase4-wayland-check`.
|
||||
# Reference shell reimplementation of the guest-side Phase 4 Wayland runtime check.
|
||||
# Run this inside the guest when `redbear-phase4-wayland-check` is unavailable for debugging.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
@@ -21,15 +21,40 @@ require_command() {
|
||||
require_command orbital-wayland "orbital-wayland launcher is installed"
|
||||
require_command wayland-session "wayland-session launcher is installed"
|
||||
require_command smallvil "smallvil compositor is installed"
|
||||
require_command qt6-wayland-smoke "qt6-wayland-smoke is installed"
|
||||
require_command qt6-bootstrap-check "qt6-bootstrap-check is installed"
|
||||
require_command qt6-plugin-check "qt6-plugin-check is installed"
|
||||
require_command redbear-info "redbear-info is installed"
|
||||
|
||||
echo
|
||||
for marker in \
|
||||
/home/root/.wayland-session.started \
|
||||
/home/root/.qt6-bootstrap-minimal.ok \
|
||||
/home/root/.qt6-plugin-minimal.ok \
|
||||
/home/root/.qt6-wayland-smoke-minimal.ok \
|
||||
/home/root/.qt6-wayland-smoke-offscreen.ok \
|
||||
/home/root/.qt6-wayland-smoke-wayland.ok \
|
||||
/home/root/.qt6-wayland-smoke.ok
|
||||
do
|
||||
if [[ -f "$marker" ]]; then
|
||||
echo "✅ Marker present: $marker"
|
||||
else
|
||||
echo "❌ Marker missing: $marker"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
echo
|
||||
echo "=== redbear-info --json ==="
|
||||
redbear-info --json
|
||||
redbear-info --json | tee /tmp/redbear-phase4-info.json
|
||||
if ! grep -q 'virtio_net_present' /tmp/redbear-phase4-info.json; then
|
||||
echo "❌ redbear-info --json did not report virtio_net_present"
|
||||
exit 1
|
||||
fi
|
||||
echo
|
||||
|
||||
echo "=== Phase 4 launch surface ==="
|
||||
echo "orbital-wayland and smallvil are present on the wayland profile."
|
||||
echo "Run 'orbital-wayland' from a graphical VT to start the compositor path."
|
||||
echo "orbital-wayland, smallvil, and the Qt6 Phase 4 smoke helpers are present on the wayland profile."
|
||||
echo "Run this script inside the guest, or use redbear-phase4-wayland-check as the canonical validator."
|
||||
echo
|
||||
echo "=== Test Complete ==="
|
||||
|
||||
@@ -82,6 +82,11 @@ send "redbear-phase5-network-check\r"
|
||||
expect "Red Bear OS Phase 5 Networking Check"
|
||||
expect "dbus-daemon"
|
||||
expect "virtio_net_present"
|
||||
expect "wifi_control_state=present"
|
||||
expect "wifi_connect_result=present"
|
||||
expect "PHASE5_WIFI_CHECK=pass"
|
||||
expect "WIFICTL_INTERFACES=present"
|
||||
expect "WIFICTL_CAPABILITIES=present"
|
||||
expect "DBUS_SYSTEM_BUS="
|
||||
send "shutdown\r"
|
||||
expect eof
|
||||
|
||||
Reference in New Issue
Block a user