feat: build system transition to release fork + archive hardening
Release fork infrastructure: - REDBEAR_RELEASE=0.1.1 with offline enforcement (fetch/distclean/unfetch blocked) - 195 BLAKE3-verified source archives in standard format - Atomic provisioning via provision-release.sh (staging + .complete sentry) - 5-phase improvement plan: restore format auto-detection, source tree validation (validate-source-trees.py), archive-map.json, REPO_BINARY fallback Archive normalization: - Removed 87 duplicate/unversioned archives from shared pool - Regenerated all archives in consistent format with source/ + recipe.toml - BLAKE3SUMS and manifest.json generated from stable tarball set Patch management: - verify-patches.sh: pre-sync dry-run report (OK/REVERSED/CONFLICT) - 121 upstream-absorbed patches moved to absorbed/ directories - 43 active patches verified clean against rebased sources - Stress test: base updated to upstream HEAD, relibc reset and patched Compilation fixes: - relibc: Vec imports in redox-rt (proc.rs, lib.rs, sys.rs) - relibc: unsafe from_raw_parts in mod.rs (2024 edition) - fetch.rs: rev comparison handles short/full hash prefixes - kibi recipe: corrected rev mismatch New scripts: restore-sources.sh, provision-release.sh, verify-sources-archived.sh, check-upstream-releases.sh, validate-source-trees.py, verify-patches.sh, repair-archive-format.sh, generate-manifest.py Documentation: AGENTS.md, README.md, local/AGENTS.md updated for release fork model
This commit is contained in:
@@ -0,0 +1 @@
|
||||
PODMAN_BUILD?=0
|
||||
@@ -0,0 +1,320 @@
|
||||
# Base configuration: This configuration is meant to be included by
|
||||
# other configurations rather than use directly. It is the greatest
|
||||
# common divisor of all other configurations and misses several
|
||||
# parts necessary to create a bootable system.
|
||||
|
||||
# General settings
|
||||
[general]
|
||||
# Do not prompt if settings are not defined
|
||||
prompt = false
|
||||
|
||||
[packages]
|
||||
base = {}
|
||||
base-initfs = {}
|
||||
bootloader = {}
|
||||
kernel = {}
|
||||
libgcc = {}
|
||||
libstdcxx = {}
|
||||
netdb = {}
|
||||
netutils = {}
|
||||
relibc = {}
|
||||
userutils = {}
|
||||
uutils = {}
|
||||
|
||||
## Configuration files
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/00_base.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Base environment setup (tmpdir)"
|
||||
|
||||
[service]
|
||||
cmd = "ion"
|
||||
args = ["-c", "rm -rf /tmp; mkdir -m a=rwxt /tmp"]
|
||||
type = "oneshot"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/00_sudo.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Sudo privilege daemon"
|
||||
|
||||
[service]
|
||||
cmd = "sudo"
|
||||
args = ["--daemon"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/login_schemes.toml"
|
||||
data = """
|
||||
[user_schemes.root]
|
||||
schemes = ["*"]
|
||||
[user_schemes.user]
|
||||
schemes = [
|
||||
# Kernel schemes
|
||||
"debug",
|
||||
"event",
|
||||
"memory",
|
||||
"pipe",
|
||||
"serio",
|
||||
"irq",
|
||||
"time",
|
||||
"sys",
|
||||
# Base schemes
|
||||
"rand",
|
||||
"null",
|
||||
"zero",
|
||||
"log",
|
||||
# Network schemes
|
||||
"ip",
|
||||
"icmp",
|
||||
"tcp",
|
||||
"udp",
|
||||
# IPC schemes
|
||||
"shm",
|
||||
"chan",
|
||||
"uds_stream",
|
||||
"uds_dgram",
|
||||
# File schemes
|
||||
"file",
|
||||
# Display schemes
|
||||
"display.vesa",
|
||||
"display*",
|
||||
# Other schemes
|
||||
"pty",
|
||||
"sudo",
|
||||
"audio",
|
||||
]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/hostname"
|
||||
data = "redbear"
|
||||
|
||||
## Default net configuration (optimized for QEMU)
|
||||
[[files]]
|
||||
path = "/etc/net/dns"
|
||||
data = """
|
||||
9.9.9.9
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/net/ip"
|
||||
data = """
|
||||
10.0.2.15
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/net/ip_router"
|
||||
data = """
|
||||
10.0.2.2
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/net/ip_subnet"
|
||||
data = """
|
||||
255.255.255.0
|
||||
"""
|
||||
|
||||
# https://www.freedesktop.org/software/systemd/man/latest/os-release.html
|
||||
[[files]]
|
||||
path = "/usr/lib/os-release"
|
||||
data = """
|
||||
PRETTY_NAME="Red Bear OS 0.1.0"
|
||||
NAME="Red Bear OS"
|
||||
VERSION_ID="0.1.0"
|
||||
VERSION="0.1.0"
|
||||
ID="redbear-os"
|
||||
ID_LIKE="redox-os"
|
||||
|
||||
HOME_URL="https://github.com/vasilito/Red-Bear-OS-3"
|
||||
DOCUMENTATION_URL="https://doc.redox-os.org/"
|
||||
SUPPORT_URL="https://github.com/vasilito/Red-Bear-OS-3/issues"
|
||||
"""
|
||||
# FIXME maybe add VARIANT= and VARIANT_ID= keys depending on the chosen configuration?
|
||||
|
||||
[[files]]
|
||||
path = "/etc/os-release"
|
||||
data = "../usr/lib/os-release"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/etc/pkg.d/50_redox"
|
||||
data = "https://static.redox-os.org/pkg"
|
||||
|
||||
## /usr and symlinks for usrmerge
|
||||
[[files]]
|
||||
path = "/usr"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/usr/bin"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/bin"
|
||||
data = "usr/bin"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/usr/include"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/include"
|
||||
data = "usr/include"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/lib"
|
||||
data = "usr/lib"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/usr/libexec"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/usr/share"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/share"
|
||||
data = "usr/share"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/ui"
|
||||
data = "usr/share/ui"
|
||||
symlink = true
|
||||
|
||||
## legacy display font directory
|
||||
[[files]]
|
||||
path = "/usr/share/ui/fonts"
|
||||
data = "/usr/share/fonts"
|
||||
symlink = true
|
||||
|
||||
## legacy display icon directory
|
||||
[[files]]
|
||||
path = "/usr/share/ui/icons"
|
||||
data = "/usr/share/icons"
|
||||
symlink = true
|
||||
|
||||
## /var
|
||||
[[files]]
|
||||
path = "/var"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/var/cache"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/var/lib"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/var/lock"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o1777
|
||||
|
||||
[[files]]
|
||||
path = "/var/log"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/var/run"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/var/tmp"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o1777
|
||||
|
||||
## Device file symlinks
|
||||
[[files]]
|
||||
path = "/dev/null"
|
||||
data = "/scheme/null"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/dev/random"
|
||||
data = "/scheme/rand"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/dev/urandom"
|
||||
data = "/scheme/rand"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/dev/zero"
|
||||
data = "/scheme/zero"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/dev/tty"
|
||||
data = "libc:tty"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/dev/stdin"
|
||||
data = "libc:stdin"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/dev/stdout"
|
||||
data = "libc:stdout"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/dev/stderr"
|
||||
data = "libc:stderr"
|
||||
symlink = true
|
||||
|
||||
# User settings
|
||||
[users.root]
|
||||
password = "password"
|
||||
uid = 0
|
||||
gid = 0
|
||||
shell = "/usr/bin/ion"
|
||||
|
||||
[users.user]
|
||||
# Password is unset
|
||||
password = ""
|
||||
shell = "/usr/bin/ion"
|
||||
|
||||
# Group settings
|
||||
[groups.sudo]
|
||||
gid = 1
|
||||
members = ["user"]
|
||||
@@ -0,0 +1,56 @@
|
||||
# Minimal configuration
|
||||
|
||||
include = ["base.toml"]
|
||||
|
||||
# General settings
|
||||
[general]
|
||||
# Filesystem size in MiB
|
||||
filesystem_size = 196
|
||||
|
||||
# Package settings
|
||||
[packages]
|
||||
ca-certificates = {}
|
||||
coreutils = {}
|
||||
extrautils = {}
|
||||
ion = {}
|
||||
pkgutils = {}
|
||||
kibi = {}
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/29_activate_console.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Activate console VT"
|
||||
requires_weak = ["00_base.target"]
|
||||
|
||||
[service]
|
||||
cmd = "inputd"
|
||||
args = ["-A", "2"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/30_console.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Console terminals"
|
||||
requires_weak = ["29_activate_console.service"]
|
||||
|
||||
[service]
|
||||
cmd = "getty"
|
||||
args = ["2"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/31_debug_console.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Debug console"
|
||||
requires_weak = ["29_activate_console.service"]
|
||||
|
||||
[service]
|
||||
cmd = "getty"
|
||||
args = ["/scheme/debug/no-preserve", "-J"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
@@ -0,0 +1,17 @@
|
||||
# Red Bear OS Bluetooth Experimental Profile
|
||||
#
|
||||
# Standalone build target for the first bounded Bluetooth slice.
|
||||
#
|
||||
# This profile extends the existing minimal Red Bear baseline but keeps Bluetooth wiring isolated to
|
||||
# this profile instead of leaking it into the shared device-service fragments used by all images.
|
||||
# The current slice is explicit-startup, USB-attached, BLE-first, and intentionally not wired to
|
||||
# USB-class autospawn yet.
|
||||
|
||||
include = ["redbear-minimal.toml", "redbear-bluetooth-services.toml"]
|
||||
|
||||
[general]
|
||||
filesystem_size = 2048
|
||||
|
||||
[packages]
|
||||
redbear-btusb = {}
|
||||
redbear-btctl = {}
|
||||
@@ -0,0 +1,17 @@
|
||||
# Red Bear OS Bluetooth experimental service wiring
|
||||
#
|
||||
# Kept in a dedicated included fragment so the Bluetooth profile can inject
|
||||
# bounded runtime files and service units without relying on profile-local
|
||||
# [[files]] behavior.
|
||||
|
||||
[[files]]
|
||||
path = "/var/lib/bluetooth"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/var/run/redbear-btusb"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
@@ -0,0 +1,829 @@
|
||||
# Red Bear OS shared device-service wiring
|
||||
#
|
||||
# Shared by profiles that ship the firmware/input/Wi-Fi control compatibility stack.
|
||||
|
||||
[packages]
|
||||
redbear-quirks = {}
|
||||
pciids = {}
|
||||
fatd = {}
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/12_boot-late.target"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Late boot services target"
|
||||
requires_weak = [
|
||||
"00_base.target",
|
||||
]
|
||||
"""
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/lib/drivers.d"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/lib/drivers.d/00-storage.toml"
|
||||
data = """
|
||||
[[driver]]
|
||||
name = "nvmed"
|
||||
description = "NVMe storage driver"
|
||||
priority = 100
|
||||
command = ["/usr/lib/drivers/nvmed"]
|
||||
|
||||
[[driver.match]]
|
||||
class = 1
|
||||
subclass = 8
|
||||
|
||||
[[driver]]
|
||||
name = "ahcid"
|
||||
description = "AHCI SATA driver"
|
||||
priority = 100
|
||||
command = ["/usr/lib/drivers/ahcid"]
|
||||
|
||||
[[driver.match]]
|
||||
class = 1
|
||||
subclass = 6
|
||||
|
||||
[[driver]]
|
||||
name = "ided"
|
||||
description = "PATA IDE driver"
|
||||
priority = 100
|
||||
command = ["/usr/lib/drivers/ided"]
|
||||
|
||||
[[driver.match]]
|
||||
class = 1
|
||||
subclass = 1
|
||||
|
||||
[[driver]]
|
||||
name = "virtio-blkd"
|
||||
description = "VirtIO block device driver"
|
||||
priority = 100
|
||||
command = ["/usr/lib/drivers/virtio-blkd"]
|
||||
|
||||
[[driver.match]]
|
||||
vendor = 0x1AF4
|
||||
device = 0x1001
|
||||
class = 1
|
||||
subclass = 0
|
||||
"""
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/lib/drivers.d/10-network.toml"
|
||||
data = """
|
||||
[[driver]]
|
||||
name = "e1000d"
|
||||
description = "Intel Gigabit Ethernet"
|
||||
priority = 50
|
||||
command = ["/usr/lib/drivers/e1000d"]
|
||||
|
||||
[[driver.match]]
|
||||
vendor = 0x8086
|
||||
class = 2
|
||||
|
||||
[[driver]]
|
||||
name = "rtl8168d"
|
||||
description = "Realtek 8168/8125 Ethernet"
|
||||
priority = 50
|
||||
command = ["/usr/lib/drivers/rtl8168d"]
|
||||
|
||||
[[driver.match]]
|
||||
vendor = 0x10EC
|
||||
class = 2
|
||||
|
||||
[[driver]]
|
||||
name = "rtl8139d"
|
||||
description = "Realtek 8139 Ethernet"
|
||||
priority = 50
|
||||
command = ["/usr/lib/drivers/rtl8139d"]
|
||||
|
||||
[[driver.match]]
|
||||
vendor = 0x10EC
|
||||
device = 0x8139
|
||||
|
||||
[[driver]]
|
||||
name = "ixgbed"
|
||||
description = "Intel 10 Gigabit Ethernet"
|
||||
priority = 50
|
||||
command = ["/usr/lib/drivers/ixgbed"]
|
||||
|
||||
[[driver.match]]
|
||||
vendor = 0x8086
|
||||
class = 2
|
||||
subclass = 0
|
||||
|
||||
[[driver]]
|
||||
name = "virtio-netd"
|
||||
description = "VirtIO network driver"
|
||||
priority = 50
|
||||
command = ["/usr/lib/drivers/virtio-netd"]
|
||||
|
||||
[[driver.match]]
|
||||
vendor = 0x1AF4
|
||||
class = 2
|
||||
"""
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/lib/drivers.d/20-usb.toml"
|
||||
data = """
|
||||
[[driver]]
|
||||
name = "xhcid"
|
||||
description = "xHCI USB host controller"
|
||||
priority = 80
|
||||
command = ["/usr/lib/drivers/xhcid"]
|
||||
|
||||
[[driver.match]]
|
||||
class = 0x0C
|
||||
subclass = 0x03
|
||||
prog_if = 0x30
|
||||
|
||||
[[driver]]
|
||||
name = "ehcid"
|
||||
description = "EHCI USB 2.0 host controller"
|
||||
priority = 80
|
||||
command = ["/usr/lib/drivers/ehcid"]
|
||||
|
||||
# EHCI now owns a simple /scheme/usb controller surface for per-port status and
|
||||
# control-transfer pass-through while the wider USB stack continues converging.
|
||||
|
||||
[[driver.match]]
|
||||
class = 0x0C
|
||||
subclass = 0x03
|
||||
prog_if = 0x20
|
||||
|
||||
[[driver]]
|
||||
name = "ohcid"
|
||||
description = "OHCI USB 1.1 host controller"
|
||||
priority = 80
|
||||
command = ["/usr/lib/drivers/ohcid"]
|
||||
|
||||
[[driver.match]]
|
||||
class = 0x0C
|
||||
subclass = 0x03
|
||||
prog_if = 0x10
|
||||
|
||||
[[driver]]
|
||||
name = "uhcid"
|
||||
description = "UHCI USB 1.1 host controller (Intel)"
|
||||
priority = 80
|
||||
command = ["/usr/lib/drivers/uhcid"]
|
||||
|
||||
[[driver.match]]
|
||||
class = 0x0C
|
||||
subclass = 0x03
|
||||
prog_if = 0x00
|
||||
"""
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/lib/drivers.d/30-graphics.toml"
|
||||
data = """
|
||||
[[driver]]
|
||||
name = "vesad"
|
||||
description = "VESA BIOS display driver"
|
||||
priority = 60
|
||||
command = ["/usr/lib/drivers/vesad"]
|
||||
|
||||
[[driver.match]]
|
||||
class = 0x03
|
||||
|
||||
[[driver]]
|
||||
name = "redox-drm"
|
||||
description = "DRM/KMS display driver (AMD + Intel)"
|
||||
priority = 60
|
||||
command = ["/usr/bin/redox-drm"]
|
||||
|
||||
[[driver.match]]
|
||||
class = 0x03
|
||||
"""
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/lib/drivers.d/40-input.toml"
|
||||
data = """
|
||||
[[driver]]
|
||||
name = "ps2d"
|
||||
description = "PS/2 keyboard and mouse driver"
|
||||
priority = 90
|
||||
command = ["/usr/lib/drivers/ps2d"]
|
||||
"""
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/lib/drivers.d/50-audio.toml"
|
||||
data = """
|
||||
[[driver]]
|
||||
name = "ihdad"
|
||||
description = "Intel HD Audio driver"
|
||||
priority = 40
|
||||
command = ["/usr/lib/drivers/ihdad"]
|
||||
|
||||
[[driver.match]]
|
||||
vendor = 0x8086
|
||||
class = 0x04
|
||||
|
||||
[[driver]]
|
||||
name = "ac97d"
|
||||
description = "AC'97 audio codec driver"
|
||||
priority = 40
|
||||
command = ["/usr/lib/drivers/ac97d"]
|
||||
|
||||
[[driver.match]]
|
||||
class = 0x04
|
||||
subclass = 0x01
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/lib/drivers.d/70-usb-class.toml"
|
||||
data = """
|
||||
[[driver]]
|
||||
name = "redbear-acmd"
|
||||
description = "USB CDC ACM serial driver"
|
||||
priority = 70
|
||||
command = ["/usr/bin/redbear-acmd"]
|
||||
|
||||
[[driver]]
|
||||
name = "redbear-ecmd"
|
||||
description = "USB CDC ECM/NCM ethernet driver"
|
||||
priority = 70
|
||||
command = ["/usr/bin/redbear-ecmd"]
|
||||
|
||||
[[driver]]
|
||||
name = "redbear-usbaudiod"
|
||||
description = "USB Audio Class driver"
|
||||
priority = 70
|
||||
command = ["/usr/bin/redbear-usbaudiod"]
|
||||
"""
|
||||
|
||||
# Profiles that include this fragment should start `driver-manager` instead of
|
||||
# `pcid-spawner`; the manager performs the PCI bind/channel handoff itself.
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/00_driver-manager.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "PCI driver spawner"
|
||||
requires_weak = [
|
||||
"00_base.target",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "pcid-spawner"
|
||||
type = "oneshot"
|
||||
"""
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/lib/drivers.d"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/10_evdevd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Evdev input daemon"
|
||||
requires_weak = [
|
||||
"12_boot-late.target",
|
||||
"00_pcid-spawner.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "evdevd"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/15_cpufreqd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "CPU frequency scaling daemon"
|
||||
requires_weak = ["12_boot-late.target"]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/cpufreqd"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/15_thermald.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Thermal management daemon"
|
||||
requires_weak = ["12_boot-late.target"]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/thermald"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/15_hwrngd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Hardware RNG entropy daemon"
|
||||
requires_weak = ["00_base.target"]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/hwrngd"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
# Firmware fallback chain configs
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/00-amdgpu.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn31.bin"
|
||||
chain = ["amdgpu/dmcub_dcn30.bin", "amdgpu/dmcub_dcn20.bin"]
|
||||
|
||||
[[fallback]]
|
||||
pattern = "amdgpu/dmcub_dcn30.bin"
|
||||
chain = ["amdgpu/dmcub_dcn20.bin"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/10-iwlwifi.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "iwlwifi-bz-b0-gf-a0-92.ucode"
|
||||
chain = ["iwlwifi-bz-b0-gf-a0-83.ucode", "iwlwifi-bz-b0-gf-a0-77.ucode"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/firmware-fallbacks.d/20-intel-dmc.toml"
|
||||
data = """
|
||||
[[fallback]]
|
||||
pattern = "i915/adlp_dmc_ver2_16.bin"
|
||||
chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"]
|
||||
"""
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/13_driver-params.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Driver parameter scheme"
|
||||
requires_weak = ["00_driver-manager.service"]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/driver-params"
|
||||
type = { scheme = "driver-params" }
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/16_redbear-acmd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "USB CDC ACM serial daemon"
|
||||
requires_weak = ["12_boot-late.target"]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/redbear-acmd"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/16_redbear-ecmd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "USB CDC ECM/NCM ethernet daemon"
|
||||
requires_weak = ["12_boot-late.target"]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/redbear-ecmd"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/16_redbear-usbaudiod.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "USB Audio Class daemon"
|
||||
requires_weak = ["12_boot-late.target"]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/redbear-usbaudiod"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
@@ -0,0 +1,408 @@
|
||||
# Red Bear OS Full Configuration
|
||||
# Desktop/graphics ISO for bare metal and QEMU.
|
||||
#
|
||||
# Build: make live CONFIG_NAME=redbear-full
|
||||
# QEMU: make all CONFIG_NAME=redbear-full && make qemu
|
||||
#
|
||||
# Extends redbear-mini with the full desktop/graphics stack:
|
||||
# Wayland, Qt6, KF6, KWin, Mesa, DRM drivers, firmware, greeter.
|
||||
|
||||
include = ["redbear-mini.toml"]
|
||||
|
||||
[general]
|
||||
filesystem_size = 4096
|
||||
efi_partition_size = 16
|
||||
|
||||
[users.messagebus]
|
||||
uid = 100
|
||||
gid = 100
|
||||
name = "messagebus"
|
||||
home = "/nonexistent"
|
||||
shell = "/usr/bin/ion"
|
||||
|
||||
[users.root]
|
||||
shell = "/usr/bin/zsh"
|
||||
|
||||
[packages]
|
||||
# Runtime driver parameter control surface.
|
||||
driver-params = {}
|
||||
|
||||
# Firmware loading
|
||||
redbear-firmware = {}
|
||||
firmware-loader = {}
|
||||
|
||||
# NUMA topology discovery (userspace daemon)
|
||||
numad = {}
|
||||
|
||||
# GPU/graphics stack
|
||||
redox-drm = {}
|
||||
mesa = {}
|
||||
libdrm = {}
|
||||
|
||||
libwayland = {}
|
||||
wayland-protocols = {}
|
||||
# redbear-compositor = {}
|
||||
|
||||
# Keyboard/input
|
||||
# libxkbcommon = {} # build needed
|
||||
# xkeyboard-config = {} # build needed
|
||||
libevdev = {}
|
||||
# libinput = {} # WIP: missing libepoll-shim recipe dependency
|
||||
|
||||
# Qt6 stack
|
||||
qtbase = {}
|
||||
qtdeclarative = {}
|
||||
qtsvg = {}
|
||||
qtwayland = {}
|
||||
qt6-wayland-smoke = {}
|
||||
qt6-sensors = {}
|
||||
|
||||
# KF6 Frameworks — explicit real-build surface in alphabetical order
|
||||
# kirigami: blocked (QML gate — QQuickWindow/QQmlEngine headers don't exist on Redox)
|
||||
kf6-kio = {}
|
||||
# kde-cli-tools = {} # blocked: direct repo cook fails
|
||||
|
||||
kdecoration = {}
|
||||
kf6-attica = {}
|
||||
kf6-karchive = {}
|
||||
kf6-kauth = {}
|
||||
kf6-kbookmarks = {}
|
||||
kf6-kcmutils = {}
|
||||
kf6-kcodecs = {}
|
||||
kf6-kcolorscheme = {}
|
||||
kf6-kcompletion = {}
|
||||
kf6-kconfig = {}
|
||||
kf6-kconfigwidgets = {}
|
||||
kf6-kcoreaddons = {}
|
||||
kf6-kcrash = {}
|
||||
kf6-kdbusaddons = {}
|
||||
kf6-kdeclarative = {}
|
||||
kf6-kded6 = {}
|
||||
kf6-kguiaddons = {}
|
||||
kf6-ki18n = {}
|
||||
kf6-kiconthemes = {}
|
||||
kf6-kidletime = {}
|
||||
kf6-kitemmodels = {}
|
||||
kf6-kitemviews = {}
|
||||
kf6-kjobwidgets = {}
|
||||
kf6-knotifications = {}
|
||||
kf6-kpackage = {}
|
||||
kf6-kservice = {}
|
||||
kf6-ktextwidgets = {}
|
||||
kf6-kwayland = {}
|
||||
kf6-kwidgetsaddons = {}
|
||||
kf6-kxmlgui = {}
|
||||
kf6-prison = {}
|
||||
kf6-solid = {}
|
||||
kf6-sonnet = {}
|
||||
kf6-knewstuff = {}
|
||||
kf6-kwallet = {}
|
||||
kglobalacceld = {}
|
||||
|
||||
# kwin = {} # Blocked: Qt6 Wayland plugin import error (QML gate)
|
||||
|
||||
# Plasma + app packages — blocked on kirigami (QML gate)
|
||||
# plasma-framework = {}
|
||||
# plasma-workspace = {}
|
||||
# plasma-desktop = {}
|
||||
|
||||
redbear-authd = {}
|
||||
redbear-session-launch = {}
|
||||
seatd = {}
|
||||
redbear-greeter = {}
|
||||
amdgpu = {}
|
||||
|
||||
# Core Red Bear umbrella package
|
||||
redbear-meta = {}
|
||||
|
||||
# Phase 1 runtime validation tests (POSIX: signalfd, timerfd, eventfd, shm_open, sem_open, waitid)
|
||||
relibc-phase1-tests = {}
|
||||
|
||||
# Desktop fonts and icons
|
||||
dejavu = {}
|
||||
freefont = {}
|
||||
hicolor-icon-theme = {}
|
||||
pop-icon-theme = {}
|
||||
|
||||
# Suppress legacy desktop packages
|
||||
orbdata = "ignore"
|
||||
orbital = "ignore"
|
||||
orbterm = "ignore"
|
||||
orbutils = "ignore"
|
||||
cosmic-edit = "ignore"
|
||||
cosmic-files = "ignore"
|
||||
cosmic-icons = "ignore"
|
||||
cosmic-term = "ignore"
|
||||
curl = "ignore"
|
||||
git = "ignore"
|
||||
mc = "ignore"
|
||||
#curl = "ignore" # suppressed: cascade rebuild
|
||||
#git = "ignore" # suppressed: cascade rebuild
|
||||
#konsole = {} # WIP: recipe exists, not yet built — blocked by libiconv fetch
|
||||
#kf6-pty = {} # WIP: recipe exists, not yet built
|
||||
|
||||
[[files]]
|
||||
path = "/lib/firmware/amdgpu"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/fonts"
|
||||
data = "/usr/share/fonts"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/05_boot-essential.target"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Boot essential services target"
|
||||
requires_weak = [
|
||||
"00_base.target",
|
||||
]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/13_iommu.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "IOMMU DMA remapping daemon"
|
||||
requires_weak = [
|
||||
"12_boot-late.target",
|
||||
"00_pcid-spawner.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/iommu"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/12_dbus.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "D-Bus system bus"
|
||||
requires_weak = [
|
||||
"12_boot-late.target",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "dbus-daemon"
|
||||
args = ["--system", "--nopidfile"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/13_redbear-sessiond.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Red Bear session broker (org.freedesktop.login1)"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-sessiond"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/13_seatd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "seatd seat management daemon"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
"13_redbear-sessiond.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/seatd"
|
||||
args = ["-l", "info"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/14_redbear-upower.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "UPower D-Bus service (org.freedesktop.UPower)"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-upower"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/14_redbear-udisks.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "UDisks2 D-Bus service (org.freedesktop.UDisks2)"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-udisks"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/14_redbear-polkit.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "PolicyKit1 D-Bus service (org.freedesktop.PolicyKit1)"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-polkit"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/19_redbear-authd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Red Bear authentication daemon"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/redbear-authd"
|
||||
envs = { QT_PLUGIN_PATH = "/usr/plugins", QT_QPA_PLATFORM_PLUGIN_PATH = "/usr/plugins/platforms", QML2_IMPORT_PATH = "/usr/qml", XCURSOR_THEME = "Pop", XKB_CONFIG_ROOT = "/usr/share/X11/xkb", KWIN_DRM_DEVICES = "/scheme/drm/card0" }
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/20_display.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "KDE session assembly helper"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
"13_redbear-sessiond.service",
|
||||
"13_seatd.service",
|
||||
"19_redbear-authd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/redbear-session-launch"
|
||||
args = ["--username", "root", "--mode", "session", "--session", "kde-wayland", "--vt", "4", "--runtime-dir", "/tmp/run/redbear-display-session", "--wayland-display", "wayland-display"]
|
||||
envs = { QT_PLUGIN_PATH = "/usr/plugins", QT_QPA_PLATFORM_PLUGIN_PATH = "/usr/plugins/platforms", QML2_IMPORT_PATH = "/usr/qml", XCURSOR_THEME = "Pop", XKB_CONFIG_ROOT = "/usr/share/X11/xkb", REDBEAR_KDE_SESSION_BACKEND = "virtual", REDBEAR_KDE_SESSION_STATE_DIR = "/run/redbear-display-session" }
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/20_greeter.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Red Bear greeter service"
|
||||
requires_weak = [
|
||||
"00_pcid-spawner.service",
|
||||
"12_dbus.service",
|
||||
"13_redbear-sessiond.service",
|
||||
"13_seatd.service",
|
||||
"19_redbear-authd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/redbear-greeterd"
|
||||
envs = { VT = "3", REDBEAR_GREETER_USER = "greeter", KWIN_DRM_DEVICES = "/scheme/drm/card0", REDBEAR_DRM_WAIT_SECONDS = "10" }
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/29_activate_console.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Activate fallback console VT"
|
||||
requires_weak = [
|
||||
"05_boot-essential.target",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "inputd"
|
||||
args = ["-A", "2"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/30_console.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Console terminals"
|
||||
requires_weak = [
|
||||
"29_activate_console.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "getty"
|
||||
args = ["2"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/31_debug_console.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Debug console"
|
||||
requires_weak = [
|
||||
"29_activate_console.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "getty"
|
||||
args = ["/scheme/debug/no-preserve", "-J"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[users.greeter]
|
||||
password = ""
|
||||
uid = 101
|
||||
gid = 101
|
||||
name = "greeter"
|
||||
home = "/nonexistent"
|
||||
shell = "/usr/bin/ion"
|
||||
|
||||
[groups.greeter]
|
||||
gid = 101
|
||||
members = ["greeter"]
|
||||
|
||||
[groups.messagebus]
|
||||
gid = 100
|
||||
members = ["messagebus"]
|
||||
|
||||
[[files]]
|
||||
path = "/etc/pcid.d/ihdgd.toml"
|
||||
data = """
|
||||
[[drivers]]
|
||||
name = "Intel GPU (VGA compatible)"
|
||||
class = 0x03
|
||||
vendor = 0x8086
|
||||
subclass = 0x00
|
||||
command = ["redox-drm"]
|
||||
|
||||
[[drivers]]
|
||||
name = "Intel GPU (3D controller)"
|
||||
class = 0x03
|
||||
vendor = 0x8086
|
||||
subclass = 0x02
|
||||
command = ["redox-drm"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/pcid.d/virtio-gpud.toml"
|
||||
data = """
|
||||
[[drivers]]
|
||||
name = "VirtIO GPU"
|
||||
class = 0x03
|
||||
vendor = 0x1af4
|
||||
subclass = 0x00
|
||||
command = ["redox-drm"]
|
||||
"""
|
||||
@@ -0,0 +1,127 @@
|
||||
# Red Bear greeter/login service wiring
|
||||
#
|
||||
# This fragment is intended to be included by the active desktop/graphics target.
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/05_boot-essential.target"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Boot essential services target"
|
||||
requires_weak = [
|
||||
"00_base.target",
|
||||
]
|
||||
"""
|
||||
|
||||
[users.greeter]
|
||||
password = ""
|
||||
uid = 101
|
||||
gid = 101
|
||||
name = "greeter"
|
||||
home = "/nonexistent"
|
||||
shell = "/usr/bin/ion"
|
||||
|
||||
[groups.greeter]
|
||||
gid = 101
|
||||
members = ["greeter"]
|
||||
|
||||
[packages]
|
||||
redbear-authd = {}
|
||||
redbear-session-launch = {}
|
||||
redbear-greeter = {}
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/19_redbear-authd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Red Bear authentication daemon"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-authd"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/20_display.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Compositor proof (Phase 2: KWin virtual + Qt6 smoke + 60s survival)"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
"13_redbear-sessiond.service",
|
||||
"13_seatd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-validation-session"
|
||||
envs = { VT = "3" }
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/20_greeter.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Red Bear greeter service (experimental — Phase 3 user session bring-up)"
|
||||
requires_weak = [
|
||||
"00_pcid-spawner.service",
|
||||
"12_dbus.service",
|
||||
"13_redbear-sessiond.service",
|
||||
"13_seatd.service",
|
||||
"19_redbear-authd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/redbear-greeterd"
|
||||
envs = { VT = "3", REDBEAR_GREETER_USER = "greeter", KWIN_DRM_DEVICES = "/scheme/drm/card0", REDBEAR_DRM_WAIT_SECONDS = "10" }
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/30_console.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Console terminals"
|
||||
requires_weak = [
|
||||
"29_activate_console.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "getty"
|
||||
args = ["2"]
|
||||
type = "oneshot_async"
|
||||
respawn = true
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/29_activate_console.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Activate fallback console VT"
|
||||
requires_weak = [
|
||||
"05_boot-essential.target",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "inputd"
|
||||
args = ["-A", "2"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/31_debug_console.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Debug console"
|
||||
requires_weak = [
|
||||
"29_activate_console.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "getty"
|
||||
args = ["/scheme/debug/no-preserve", "-J"]
|
||||
type = "oneshot_async"
|
||||
respawn = true
|
||||
"""
|
||||
@@ -0,0 +1,9 @@
|
||||
# Red Bear OS shared GRUB policy fragment
|
||||
# Use with any redbear-* profile to make GRUB first-class in installer flows.
|
||||
|
||||
[general]
|
||||
bootloader = "grub"
|
||||
efi_partition_size = 16
|
||||
|
||||
[packages]
|
||||
grub = {}
|
||||
@@ -0,0 +1,16 @@
|
||||
# Red Bear OS GRUB Configuration
|
||||
# Text-only ISO with GRUB boot manager for bare metal.
|
||||
#
|
||||
# Build: make live CONFIG_NAME=redbear-grub
|
||||
#
|
||||
# Identical to redbear-mini but uses GNU GRUB as the boot manager
|
||||
# instead of the Redox EFI bootloader.
|
||||
|
||||
include = ["redbear-mini.toml", "redbear-grub-policy.toml"]
|
||||
|
||||
[general]
|
||||
bootloader = "grub"
|
||||
efi_partition_size = 16
|
||||
|
||||
[packages]
|
||||
grub = {}
|
||||
@@ -0,0 +1,51 @@
|
||||
# Red Bear OS overrides for base init services.
|
||||
#
|
||||
# 00_base.service: stripped base setup (tmpdir only, no sudo — sudo runs from
|
||||
# base.toml's 00_sudo.service). ipcd and ptyd are started by
|
||||
# 00_ipcd.service and 00_ptyd.service from the base recipe.
|
||||
# 00_drivers / 10_net: no longer overridden — the legacy scripts were removed
|
||||
# from base.toml. The retained 00_pcid-spawner.service unit name now
|
||||
# launches driver-manager so existing init ordering remains stable.
|
||||
# 00_pcid-spawner.service: compatibility wrapper for driver-manager. The base
|
||||
# recipe uses type="oneshot" which blocks init until pcid-spawner exits.
|
||||
# Running driver-manager here with oneshot_async keeps the historic unit
|
||||
# name for downstream `requires_weak` consumers while moving PCI driver
|
||||
# spawning to the manager that performs bind/channel handoff.
|
||||
|
||||
[packages]
|
||||
zsh = {}
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/00_base.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Base environment setup (tmpdir)"
|
||||
|
||||
[service]
|
||||
cmd = "ion"
|
||||
args = ["-c", "rm -rf /tmp; mkdir -m a=rwxt /tmp"]
|
||||
type = "oneshot"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/20_audiod.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Audio multiplexer"
|
||||
default_dependencies = false
|
||||
|
||||
[service]
|
||||
cmd = "audiod"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/00_pcid-spawner.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "PCI driver spawner"
|
||||
|
||||
[service]
|
||||
cmd = "pcid-spawner"
|
||||
type = "oneshot"
|
||||
"""
|
||||
@@ -0,0 +1,20 @@
|
||||
# Red Bear OS overrides for legacy desktop init services.
|
||||
# Blank the display and console services inherited from desktop-minimal.toml.
|
||||
# These intentional empty overrides prevent the inherited services from launching;
|
||||
# the active redbear-full config provides its own display/console/greeter services.
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/20_display.service"
|
||||
data = ""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/29_activate_console.service"
|
||||
data = ""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/30_console.service"
|
||||
data = ""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/31_debug_console.service"
|
||||
data = ""
|
||||
@@ -0,0 +1,467 @@
|
||||
# Red Bear OS Mini Configuration
|
||||
# Text-only ISO for console/recovery/install on bare metal.
|
||||
#
|
||||
# Build: make live CONFIG_NAME=redbear-mini
|
||||
#
|
||||
# Target contract:
|
||||
# - text-login live/recovery/install surface
|
||||
# - boot framebuffer for VT text consoles via vesad + fbcond
|
||||
# - all non-graphics, non-firmware packages from the full profile
|
||||
# - no linux-firmware payload, no firmware-loader, no GPU/display drivers
|
||||
|
||||
include = ["minimal.toml", "redbear-legacy-base.toml", "redbear-netctl.toml", "redbear-device-services.toml"]
|
||||
|
||||
[general]
|
||||
filesystem_size = 1536
|
||||
|
||||
[users.messagebus]
|
||||
uid = 100
|
||||
gid = 100
|
||||
name = "messagebus"
|
||||
home = "/nonexistent"
|
||||
shell = "/usr/bin/ion"
|
||||
|
||||
[packages]
|
||||
# Red Bear OS branding and host utilities.
|
||||
redbear-release = {}
|
||||
redbear-hwutils = {}
|
||||
redbear-quirks = {}
|
||||
|
||||
# Device driver infrastructure (pcid-spawner is built by the base recipe;
|
||||
# driver-manager requires driver config migration and is not yet ready)
|
||||
ehcid = {}
|
||||
ohcid = {}
|
||||
uhcid = {}
|
||||
|
||||
# Redox-native netctl tooling.
|
||||
redbear-netctl = {}
|
||||
redbear-netctl-console = {}
|
||||
redbear-netstat = {}
|
||||
redbear-traceroute = {}
|
||||
redbear-mtr = {}
|
||||
redbear-nmap = {}
|
||||
|
||||
# Wi-Fi control daemon (firmware-loader excluded — no firmware blobs in mini).
|
||||
redbear-wifictl = {}
|
||||
|
||||
# Diagnostics and shell-side utilities.
|
||||
mc = "ignore"
|
||||
redbear-info = {}
|
||||
|
||||
# Keep package builder utility in live environment.
|
||||
cub = {}
|
||||
cpufreqd = {}
|
||||
thermald = {}
|
||||
hwrngd = {}
|
||||
redbear-acmd = {}
|
||||
redbear-ecmd = {}
|
||||
redbear-usbaudiod = {}
|
||||
driver-params = {}
|
||||
|
||||
# ── PCI device database (critical for PCI driver matching) ──
|
||||
pciids = {}
|
||||
|
||||
# ── Filesystem support ──
|
||||
ext4d = {}
|
||||
fatd = {}
|
||||
redoxfs = {}
|
||||
|
||||
# ── System installer ──
|
||||
installer = {}
|
||||
|
||||
# ── Input / device management ──
|
||||
evdevd = {}
|
||||
udev-shim = {}
|
||||
|
||||
# ── D-Bus IPC and session services ──
|
||||
dbus = {}
|
||||
redbear-sessiond = {}
|
||||
redbear-dbus-services = {}
|
||||
redbear-notifications = {}
|
||||
redbear-upower = {}
|
||||
redbear-udisks = {}
|
||||
redbear-polkit = {}
|
||||
|
||||
# ── IOMMU DMA remapping ──
|
||||
iommu = {}
|
||||
|
||||
# ── Standard CLI tools (from server profile) ──
|
||||
bash = {}
|
||||
bottom = {}
|
||||
#curl = {} # suppressed: nghttp2 dependency chain fails; curl not needed for boot/recovery
|
||||
diffutils = {}
|
||||
findutils = {}
|
||||
#git = {} # suppressed: cascading rebuild; git not needed for boot/recovery
|
||||
htop = {}
|
||||
#mc = {} # suppressed: C99 format warning errors in compilation
|
||||
|
||||
# ── Build / packaging utilities ──
|
||||
# patchelf = {} # requires strtold which is missing in relibc
|
||||
shared-mime-info = {}
|
||||
|
||||
# VT/getty/login chain: initfs starts inputd + vesad + fbcond in phase 1,
|
||||
# then minimal.toml legacy 30_console runs inputd -A 2 + getty 2 + getty debug.
|
||||
|
||||
[[files]]
|
||||
path = "/etc/netctl/active"
|
||||
data = "wired-dhcp\n"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/10_smolnetd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Network stack (non-blocking on live-mini)"
|
||||
requires_weak = [
|
||||
"00_pcid-spawner.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "netstack"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/10_dhcpd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "DHCP client daemon (non-blocking on live-mini)"
|
||||
requires_weak = [
|
||||
"10_smolnetd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "dhcpd"
|
||||
args = ["-f"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/issue"
|
||||
data = """
|
||||
########## Red Bear OS #########
|
||||
# Login with the following: #
|
||||
# `user` #
|
||||
# `root`:`password` #
|
||||
################################
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/motd"
|
||||
data = """
|
||||
|
||||
_ _
|
||||
| | (_)
|
||||
| | ___ _ ___ _ __ _ _ ___
|
||||
| |/ / || |/ _ \\ | '_ \\| | | / __|
|
||||
| < | || | (_) || |_) | |_| \\__ \\
|
||||
|_|\\_\\|_|/ |\\___/ | .__/ \\__,_|___/
|
||||
|__/ | |
|
||||
|_|
|
||||
|
||||
Red Bear OS v0.2.0 "Liliya" — Built on Redox OS
|
||||
Type 'help' for available commands.
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/20_audiod.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Audio multiplexer (non-blocking on live-mini)"
|
||||
requires_weak = [
|
||||
"00_base.target",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "audiod"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/02_serial_probe.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Serial boot probe marker"
|
||||
requires_weak = [
|
||||
"00_base.target",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "echo"
|
||||
args = ["RB_SERIAL_PROBE_OK"]
|
||||
type = "oneshot"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/00_gpiod.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "GPIO controller registry (non-blocking on live-mini)"
|
||||
requires_weak = [
|
||||
"00_base.target",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "gpiod"
|
||||
type = { scheme = "gpio" }
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/00_i2cd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "I2C adapter registry (non-blocking on live-mini)"
|
||||
requires_weak = [
|
||||
"00_base.target",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "i2cd"
|
||||
type = { scheme = "i2c" }
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/00_i2c-dw-acpi.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "DesignWare ACPI I2C controller (non-blocking)"
|
||||
requires_weak = [
|
||||
"00_i2cd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "dw-acpi-i2cd"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/00_intel-gpiod.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Intel ACPI GPIO registrar (non-blocking)"
|
||||
requires_weak = [
|
||||
"00_gpiod.service",
|
||||
"00_i2cd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "intel-gpiod"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/00_i2c-gpio-expanderd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "I2C GPIO expander companion bridge (non-blocking on live-mini)"
|
||||
requires_weak = [
|
||||
"00_i2cd.service",
|
||||
"00_gpiod.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "i2c-gpio-expanderd"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/00_i2c-hidd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "ACPI I2C HID bring-up daemon (non-blocking)"
|
||||
requires_weak = [
|
||||
"00_i2cd.service",
|
||||
"00_i2c-dw-acpi.service",
|
||||
"00_intel-gpiod.service",
|
||||
"00_i2c-gpio-expanderd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "i2c-hidd"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/00_ucsid.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "USB-C UCSI topology detector (non-blocking on live-mini)"
|
||||
requires_weak = [
|
||||
"00_base.target",
|
||||
"00_i2cd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "ucsid"
|
||||
type = { scheme = "ucsi" }
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/12_boot-late.target"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Late boot services target"
|
||||
requires_weak = [
|
||||
"00_base.target",
|
||||
]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/11_udev.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "udev compatibility shim"
|
||||
requires_weak = [
|
||||
"12_boot-late.target",
|
||||
"00_pcid-spawner.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "udev-shim"
|
||||
type = { scheme = "udev" }
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/10_evdevd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Evdev input daemon"
|
||||
requires_weak = [
|
||||
"12_boot-late.target",
|
||||
"00_pcid-spawner.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "evdevd"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/11_wifictl.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Wi-Fi control daemon"
|
||||
requires_weak = [
|
||||
"12_boot-late.target",
|
||||
"00_pcid-spawner.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-wifictl"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/12_dbus.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "D-Bus system bus"
|
||||
requires_weak = [
|
||||
"12_boot-late.target",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "dbus-daemon"
|
||||
args = ["--system"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/13_redbear-sessiond.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Red Bear session broker (org.freedesktop.login1)"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-sessiond"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/13_iommu.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "IOMMU DMA remapping daemon"
|
||||
requires_weak = [
|
||||
"12_boot-late.target",
|
||||
"00_pcid-spawner.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/iommu"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/14_redbear-upower.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "UPower D-Bus service (org.freedesktop.UPower)"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-upower"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/14_redbear-udisks.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "UDisks2 D-Bus service (org.freedesktop.UDisks2)"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-udisks"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/14_redbear-polkit.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "PolicyKit1 D-Bus service (org.freedesktop.PolicyKit1)"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-polkit"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/var/lib/dbus"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/run/dbus"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/etc/pcid.d/ihdgd.toml"
|
||||
data = """
|
||||
# redbear-live-mini: text-only image; override upstream ihdgd config with empty file
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/pcid.d/virtio-gpud.toml"
|
||||
data = """
|
||||
# redbear-live-mini: text-only image; override upstream virtio-gpud config with empty file
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/pcid.d/00_text_mode_gpu_mask.toml"
|
||||
data = """
|
||||
# redbear-live-mini: no display driver matched; class 0x03 devices are skipped
|
||||
"""
|
||||
@@ -0,0 +1,106 @@
|
||||
# Red Bear OS shared network profile wiring
|
||||
#
|
||||
# Shared by redbear-minimal, redbear-desktop, redbear-full, and redbear-kde.
|
||||
|
||||
[[files]]
|
||||
path = "/etc/netctl"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/etc/netctl/examples"
|
||||
data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/etc/netctl/examples/wired-dhcp"
|
||||
data = """
|
||||
Description='Red Bear wired DHCP profile'
|
||||
Interface=eth0
|
||||
Connection=ethernet
|
||||
IP=dhcp
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/netctl/wired-dhcp"
|
||||
data = """
|
||||
Description='Red Bear wired DHCP profile'
|
||||
Interface=eth0
|
||||
Connection=ethernet
|
||||
IP=dhcp
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/netctl/examples/wired-static"
|
||||
data = """
|
||||
Description='Red Bear wired static profile'
|
||||
Interface=eth0
|
||||
Connection=ethernet
|
||||
IP=static
|
||||
Address=('192.168.1.10/24')
|
||||
Gateway='192.168.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]]
|
||||
path = "/usr/lib/init.d/12_netctl.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Network profile application"
|
||||
requires_weak = [
|
||||
"10_smolnetd.service",
|
||||
"10_dhcpd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-netctl"
|
||||
args = ["--boot"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
@@ -0,0 +1,20 @@
|
||||
# Red Bear OS Wi-Fi Experimental Profile
|
||||
#
|
||||
# Standalone tracked build target for the current bounded Intel Wi-Fi slice.
|
||||
#
|
||||
# This profile extends the existing minimal Red Bear baseline but switches the default active profile
|
||||
# to the bounded Wi-Fi path and adds the first Intel driver-side package on top of the shared
|
||||
# firmware/control/profile tooling.
|
||||
|
||||
include = ["redbear-minimal.toml"]
|
||||
|
||||
[general]
|
||||
filesystem_size = 2048
|
||||
|
||||
[packages]
|
||||
# First bounded Intel driver-side package
|
||||
redbear-iwlwifi = {}
|
||||
|
||||
[[files]]
|
||||
path = "/etc/netctl/active"
|
||||
data = "wifi-open-bounded\n"
|
||||
Reference in New Issue
Block a user