f74e711466
PS/2 controller resilience: - DisableFirst/DisableSecond commands now use retry (3 attempts) instead of failing on first timeout - Added 50ms settling delay before first command after firmware handoff - Disable command failures are non-fatal (warn + continue) — a truly absent controller fails later at self-test - ps2d no longer panics on init failure — logs error and continues so the system can still boot to login prompt without PS/2 input Branding overrides: - Added /etc/issue override with Red Bear OS pre-login banner - Added /etc/motd override with Red Bear OS post-login message - Fixes transaction conflict where userutils overwrites redbear-release branding with upstream 'Redox OS' content QEMU verified: boots to login prompt, no service errors
227 lines
4.4 KiB
TOML
227 lines
4.4 KiB
TOML
# Red Bear OS Live Mini Configuration
|
|
# Live ISO variant for console/recovery/install on bare metal.
|
|
#
|
|
# Build: make live CONFIG_NAME=redbear-live-mini
|
|
#
|
|
# Target contract:
|
|
# - keep a text-login live/recovery surface only
|
|
# - use boot framebuffer for VT text consoles via vesad + fbcond
|
|
# - avoid the shared firmware/input/device-service stack from redbear-minimal
|
|
# - ship no linux-firmware payload
|
|
|
|
include = ["minimal.toml", "redbear-legacy-base.toml", "redbear-netctl.toml"]
|
|
|
|
[general]
|
|
filesystem_size = 384
|
|
|
|
[packages]
|
|
# Red Bear OS branding and host utilities.
|
|
redbear-release = {}
|
|
redbear-hwutils = {}
|
|
redbear-quirks = {}
|
|
|
|
# Redox-native netctl tooling.
|
|
redbear-netctl = {}
|
|
redbear-netctl-console = {}
|
|
redbear-netstat = {}
|
|
redbear-traceroute = {}
|
|
redbear-mtr = {}
|
|
redbear-nmap = {}
|
|
|
|
# Diagnostics and shell-side utilities.
|
|
mc = {}
|
|
redbear-info = {}
|
|
|
|
# Keep package builder utility in live environment.
|
|
cub = {}
|
|
|
|
# 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.1.0 "Denali" — 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 = "ion"
|
|
args = ["-c", "echo 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 = "oneshot_async"
|
|
"""
|
|
|
|
[[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 = "oneshot_async"
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/etc/init.d/00_intel-gpiod.service"
|
|
data = """
|
|
[unit]
|
|
description = "Intel ACPI GPIO registrar (non-blocking on live-mini)"
|
|
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 on live-mini)"
|
|
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 = "oneshot_async"
|
|
"""
|
|
|
|
[[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
|
|
"""
|