Refine Red Bear profile configs

Red Bear OS Team
This commit is contained in:
2026-04-16 12:46:07 +01:00
parent 0ffaee5c8f
commit 225f7882f9
8 changed files with 245 additions and 11 deletions
+19 -1
View File
@@ -18,6 +18,7 @@ redbear-hwutils = {}
# Redox-native netctl compatibility command # Redox-native netctl compatibility command
redbear-netctl = {} redbear-netctl = {}
redbear-netctl-console = {}
# Native network reporting and connect-scan tools # Native network reporting and connect-scan tools
redbear-netstat = {} redbear-netstat = {}
@@ -25,8 +26,10 @@ redbear-traceroute = {}
redbear-mtr = {} redbear-mtr = {}
redbear-nmap = {} redbear-nmap = {}
# Firmware loading # Firmware loading + Wi-Fi control plane
redbear-firmware = {}
firmware-loader = {} firmware-loader = {}
redbear-wifictl = {}
# Input/runtime service prerequisites # Input/runtime service prerequisites
evdevd = {} evdevd = {}
@@ -78,6 +81,21 @@ args = ["2"]
type = "oneshot_async" type = "oneshot_async"
""" """
[[files]]
path = "/usr/lib/init.d/29_activate_console.service"
data = """
[unit]
description = "Activate Orbital VT"
requires_weak = [
"20_orbital.service",
]
[service]
cmd = "inputd"
args = ["-A", "3"]
type = "oneshot"
"""
[[files]] [[files]]
path = "/usr/lib/init.d/31_debug_console.service" path = "/usr/lib/init.d/31_debug_console.service"
data = """ data = """
+17 -2
View File
@@ -1,9 +1,9 @@
# Red Bear OS shared device-service wiring # Red Bear OS shared device-service wiring
# #
# Shared by profiles that ship the firmware/input compatibility stack. # Shared by profiles that ship the firmware/input/Wi-Fi control compatibility stack.
[[files]] [[files]]
path = "/usr/firmware" path = "/lib/firmware"
data = "" data = ""
directory = true directory = true
mode = 0o755 mode = 0o755
@@ -36,6 +36,21 @@ cmd = "udev-shim"
type = { scheme = "udev" } type = { scheme = "udev" }
""" """
[[files]]
path = "/usr/lib/init.d/11_wifictl.service"
data = """
[unit]
description = "Wi-Fi control daemon"
requires_weak = [
"00_pcid-spawner.service",
"05_firmware-loader.service",
]
[service]
cmd = "redbear-wifictl"
type = { scheme = "wifictl" }
"""
[[files]] [[files]]
path = "/usr/lib/init.d/10_evdevd.service" path = "/usr/lib/init.d/10_evdevd.service"
data = """ data = """
+20 -2
View File
@@ -30,6 +30,7 @@ redbear-hwutils = {}
# Redox-native netctl compatibility command # Redox-native netctl compatibility command
redbear-netctl = {} redbear-netctl = {}
redbear-netctl-console = {}
# Native network reporting and connect-scan tools # Native network reporting and connect-scan tools
redbear-netstat = {} redbear-netstat = {}
@@ -43,8 +44,10 @@ mc = {}
# ext4 filesystem support (our custom port) # ext4 filesystem support (our custom port)
ext4d = {} ext4d = {}
# Firmware loading # Firmware loading + Wi-Fi control plane
redbear-firmware = {}
firmware-loader = {} firmware-loader = {}
redbear-wifictl = {}
# Input layer # Input layer
evdevd = {} evdevd = {}
@@ -76,7 +79,7 @@ qtbase = {}
# Firmware directory for AMD/Intel GPU blobs # Firmware directory for AMD/Intel GPU blobs
[[files]] [[files]]
path = "/usr/firmware/amdgpu" path = "/lib/firmware/amdgpu"
data = "" data = ""
directory = true directory = true
mode = 0o755 mode = 0o755
@@ -118,6 +121,21 @@ args = ["2"]
type = "oneshot_async" type = "oneshot_async"
""" """
[[files]]
path = "/usr/lib/init.d/29_activate_console.service"
data = """
[unit]
description = "Activate Orbital VT"
requires_weak = [
"20_orbital.service",
]
[service]
cmd = "inputd"
args = ["-A", "3"]
type = "oneshot"
"""
[[files]] [[files]]
path = "/usr/lib/init.d/31_debug_console.service" path = "/usr/lib/init.d/31_debug_console.service"
data = """ data = """
+20 -2
View File
@@ -24,8 +24,10 @@ redbear-release = {}
# ext4 filesystem support # ext4 filesystem support
ext4d = {} ext4d = {}
# Firmware loading # Firmware loading + Wi-Fi control plane
redbear-firmware = {}
firmware-loader = {} firmware-loader = {}
redbear-wifictl = {}
# Input layer # Input layer
evdevd = {} evdevd = {}
@@ -38,6 +40,7 @@ dbus = {}
redbear-info = {} redbear-info = {}
redbear-hwutils = {} redbear-hwutils = {}
redbear-netctl = {} redbear-netctl = {}
redbear-netctl-console = {}
redbear-netstat = {} redbear-netstat = {}
redbear-traceroute = {} redbear-traceroute = {}
redbear-mtr = {} redbear-mtr = {}
@@ -95,7 +98,7 @@ libdrm = {}
# Firmware directory for AMD/Intel GPU blobs # Firmware directory for AMD/Intel GPU blobs
[[files]] [[files]]
path = "/usr/firmware/amdgpu" path = "/lib/firmware/amdgpu"
data = "" data = ""
directory = true directory = true
mode = 0o755 mode = 0o755
@@ -188,6 +191,21 @@ args = ["2"]
type = "oneshot_async" type = "oneshot_async"
""" """
[[files]]
path = "/usr/lib/init.d/29_activate_console.service"
data = """
[unit]
description = "Activate Orbital VT"
requires_weak = [
"20_orbital.service",
]
[service]
cmd = "inputd"
args = ["-A", "3"]
type = "oneshot"
"""
[[files]] [[files]]
path = "/usr/lib/init.d/31_debug_console.service" path = "/usr/lib/init.d/31_debug_console.service"
data = """ data = """
+20 -2
View File
@@ -17,6 +17,7 @@ redbear-hwutils = {}
# Redox-native netctl compatibility command # Redox-native netctl compatibility command
redbear-netctl = {} redbear-netctl = {}
redbear-netctl-console = {}
# Native network reporting and connect-scan tools # Native network reporting and connect-scan tools
redbear-netstat = {} redbear-netstat = {}
@@ -24,8 +25,10 @@ redbear-traceroute = {}
redbear-mtr = {} redbear-mtr = {}
redbear-nmap = {} redbear-nmap = {}
# Firmware loading # Firmware loading + Wi-Fi control plane
redbear-firmware = {}
firmware-loader = {} firmware-loader = {}
redbear-wifictl = {}
# Input/runtime service prerequisites # Input/runtime service prerequisites
evdevd = {} evdevd = {}
@@ -49,13 +52,28 @@ data = "wired-dhcp\n"
path = "/usr/lib/init.d/30_console" path = "/usr/lib/init.d/30_console"
data = "" data = ""
[[files]]
path = "/usr/lib/init.d/29_activate_console.service"
data = """
[unit]
description = "Activate console VT"
requires_weak = [
"10_net.target",
]
[service]
cmd = "inputd"
args = ["-A", "2"]
type = "oneshot"
"""
[[files]] [[files]]
path = "/usr/lib/init.d/30_console.service" path = "/usr/lib/init.d/30_console.service"
data = """ data = """
[unit] [unit]
description = "Console terminals" description = "Console terminals"
requires_weak = [ requires_weak = [
"10_net.target", "29_activate_console.service",
] ]
[service] [service]
+55 -1
View File
@@ -23,6 +23,15 @@ Connection=ethernet
IP=dhcp IP=dhcp
""" """
[[files]]
path = "/etc/netctl/wired-dhcp"
data = """
Description='Red Bear wired DHCP profile'
Interface=eth0
Connection=ethernet
IP=dhcp
"""
[[files]] [[files]]
path = "/etc/netctl/examples/wired-static" path = "/etc/netctl/examples/wired-static"
data = """ data = """
@@ -35,6 +44,51 @@ Gateway='192.168.1.1'
DNS=('1.1.1.1') DNS=('1.1.1.1')
""" """
[[files]]
path = "/etc/netctl/examples/wifi-dhcp"
data = """
Description='Red Bear Wi-Fi DHCP profile'
Interface=wlan0
Connection=wifi
SSID='example-ssid'
Security=wpa2-psk
Key='example-passphrase'
IP=dhcp
"""
[[files]]
path = "/etc/netctl/examples/wifi-open"
data = """
Description='Red Bear Wi-Fi open-network profile'
Interface=wlan0
Connection=wifi
SSID='example-open-ssid'
Security=open
IP=dhcp
"""
[[files]]
path = "/etc/netctl/examples/wifi-open-bounded"
data = """
Description='Red Bear Wi-Fi bounded lifecycle profile'
Interface=wlan0
Connection=wifi
SSID='example-open-ssid'
Security=open
IP=bounded
"""
[[files]]
path = "/etc/netctl/wifi-open-bounded"
data = """
Description='Red Bear Wi-Fi bounded lifecycle profile'
Interface=wlan0
Connection=wifi
SSID='example-open-ssid'
Security=open
IP=bounded
"""
[[files]] [[files]]
path = "/usr/lib/init.d/12_netctl.service" path = "/usr/lib/init.d/12_netctl.service"
data = """ data = """
@@ -46,7 +100,7 @@ requires_weak = [
] ]
[service] [service]
cmd = "netctl" cmd = "redbear-netctl"
args = ["--boot"] args = ["--boot"]
type = "oneshot" type = "oneshot"
""" """
+3
View File
@@ -4,3 +4,6 @@
# Run: ./local/scripts/test-phase4-wayland-qemu.sh # Run: ./local/scripts/test-phase4-wayland-qemu.sh
include = ["wayland.toml"] include = ["wayland.toml"]
[packages]
qt6-wayland-smoke = {}
+91 -1
View File
@@ -55,6 +55,21 @@ args = ["2"]
type = "oneshot_async" type = "oneshot_async"
""" """
[[files]]
path = "/usr/lib/init.d/29_activate_console.service"
data = """
[unit]
description = "Activate Orbital VT"
requires_weak = [
"20_orbital.service",
]
[service]
cmd = "inputd"
args = ["-A", "3"]
type = "oneshot"
"""
[[files]] [[files]]
path = "/usr/lib/init.d/31_debug_console.service" path = "/usr/lib/init.d/31_debug_console.service"
data = """ data = """
@@ -80,6 +95,9 @@ data = """
export DISPLAY="" export DISPLAY=""
export COSMIC_BACKEND=winit export COSMIC_BACKEND=winit
export HOME=/root export HOME=/root
export QT_PLUGIN_PATH=/usr/plugins
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/plugins/platforms
export QML2_IMPORT_PATH=/usr/qml
export RUST_BACKTRACE=full export RUST_BACKTRACE=full
export RUST_LOG=debug export RUST_LOG=debug
export XCURSOR_THEME=Pop export XCURSOR_THEME=Pop
@@ -98,7 +116,7 @@ if test -d /usr/share/glib-2.0/schemas
end end
# Default to the smaller Smithay path first. # Default to the smaller Smithay path first.
smallvil -c wayland-session smallvil -c /usr/bin/wayland-session
""" """
[[files]] [[files]]
@@ -109,11 +127,83 @@ data = """
# env G_MAIN_POLL_DEBUG=1 G_MESSAGES_DEBUG=all LD_DEBUG=all WEBKIT_DEBUG=all MiniBrowser& # env G_MAIN_POLL_DEBUG=1 G_MESSAGES_DEBUG=all LD_DEBUG=all WEBKIT_DEBUG=all MiniBrowser&
printenv printenv
let session_started = "/home/root/.wayland-session.started"
rm -f $session_started
echo "started" > $session_started
export QT_PLUGIN_PATH=/usr/plugins
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/plugins/platforms
export QML2_IMPORT_PATH=/usr/qml
let smoke_ok = "/home/root/.qt6-wayland-smoke.ok"
let smoke_err = "/home/root/.qt6-wayland-smoke.err"
let smoke_log = "/home/root/.qt6-wayland-smoke.log"
let bootstrap_ok = "/home/root/.qt6-bootstrap-minimal.ok"
let bootstrap_log = "/home/root/.qt6-bootstrap-minimal.log"
let plugin_ok = "/home/root/.qt6-plugin-minimal.ok"
let plugin_err = "/home/root/.qt6-plugin-minimal.err"
let plugin_log = "/home/root/.qt6-plugin-minimal.log"
let smoke_minimal_ok = "/home/root/.qt6-wayland-smoke-minimal.ok"
let smoke_offscreen_ok = "/home/root/.qt6-wayland-smoke-offscreen.ok"
let smoke_wayland_ok = "/home/root/.qt6-wayland-smoke-wayland.ok"
let smoke_minimal_log = "/home/root/.qt6-wayland-smoke-minimal.log"
let smoke_offscreen_log = "/home/root/.qt6-wayland-smoke-offscreen.log"
let smoke_wayland_log = "/home/root/.qt6-wayland-smoke-wayland.log"
rm -f $smoke_ok $smoke_err
rm -f $smoke_log
rm -f $bootstrap_ok $bootstrap_log
rm -f $plugin_ok $plugin_err $plugin_log
rm -f $smoke_minimal_ok $smoke_offscreen_ok $smoke_wayland_ok
rm -f $smoke_minimal_log $smoke_offscreen_log $smoke_wayland_log
#wayland-rs_simple_window #wayland-rs_simple_window
#winit-wayland_window #winit-wayland_window
#softbuffer-wayland_animation #softbuffer-wayland_animation
#iced-wayland_sctk_lazy #iced-wayland_sctk_lazy
#gtk3-widget-factory #gtk3-widget-factory
if which qt6-wayland-smoke >/scheme/null
if test -f /usr/plugins/platforms/libqminimal.so
echo "=== qminimal ELF header (guest) ==="
stat /usr/plugins/platforms/libqminimal.so
dd if=/usr/plugins/platforms/libqminimal.so bs=64 count=1 | od -An -tx1
else
echo "=== qminimal ELF header (guest) missing ==="
end
if env LD_DEBUG=all QT_DEBUG_PLUGINS=1 QT_QPA_PLATFORM=minimal qt6-bootstrap-check > $bootstrap_log ^> $bootstrap_log
touch $bootstrap_ok
else
if test -f $bootstrap_log
cat $bootstrap_log
end
echo "qt6-bootstrap-check minimal failed; see $bootstrap_log" > $smoke_err
end
if env LD_DEBUG=all QT_DEBUG_PLUGINS=1 QT_PLUGIN_PATH=/usr/plugins QT_QPA_PLATFORM_PLUGIN_PATH=/usr/plugins/platforms qt6-plugin-check /usr/plugins/platforms/libqminimal.so > $plugin_log ^> $plugin_log
touch $plugin_ok
else
if test -f $plugin_log
cat $plugin_log
end
echo "qt6-plugin-check failed; see $plugin_log" > $plugin_err
echo "qt6-plugin-check failed; see $plugin_log" > $smoke_err
end
if env QT_DEBUG_PLUGINS=1 QT_QPA_PLATFORM=minimal qt6-wayland-smoke > $smoke_minimal_log ^> $smoke_minimal_log
touch $smoke_minimal_ok
else
echo "qt6-wayland-smoke minimal failed; see $smoke_minimal_log" > $smoke_err
end
if env QT_DEBUG_PLUGINS=1 QT_QPA_PLATFORM=offscreen qt6-wayland-smoke > $smoke_offscreen_log ^> $smoke_offscreen_log
touch $smoke_offscreen_ok
else
echo "qt6-wayland-smoke offscreen failed; see $smoke_offscreen_log" > $smoke_err
end
if env QT_DEBUG_PLUGINS=1 QT_QPA_PLATFORM=wayland qt6-wayland-smoke > $smoke_wayland_log ^> $smoke_wayland_log
touch $smoke_wayland_ok
touch $smoke_ok
else
echo "qt6-wayland-smoke wayland failed; see $smoke_wayland_log" > $smoke_err
end
end
""" """