Fix PS/2 controller crash on bare metal, add Red Bear branding overrides

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
This commit is contained in:
2026-04-24 07:31:04 +01:00
parent 6d48f80bea
commit f74e711466
2 changed files with 31 additions and 11 deletions
+12 -5
View File
@@ -71,14 +71,21 @@ 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 ##########
# Login with the following: #
# `user` #
# `root`:`password` #
##################################
Red Bear OS v0.1.0 "Denali" — Built on Redox OS
Type 'help' for available commands.
"""
[[files]]
+19 -6
View File
@@ -42,13 +42,26 @@ mc = {}
# Diagnostic tool
redbear-info = {}
# Phase 2 baseline: enable the default DHCP profile so VM and wired setups
# use the existing netctl boot path automatically.
[[files]]
path = "/etc/netctl/active"
data = "wired-dhcp\n"
# VT/getty/login chain is handled by the combination of:
# 1. initfs (phase 1): inputd daemon, vesad, fbcond — register input/display/fbcon schemes
# 2. minimal.toml legacy 30_console: inputd -A 2 + nowait getty 2 + nowait getty /scheme/debug
# No additional rootfs service files needed — initfs + legacy script covers the full chain.
[[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.
"""
# 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.