diff --git a/config/redbear-mini.toml b/config/redbear-mini.toml index d7a8660c21..bc62ffa0d2 100644 --- a/config/redbear-mini.toml +++ b/config/redbear-mini.toml @@ -41,6 +41,11 @@ redbear-traceroute = {} redbear-mtr = {} redbear-nmap = {} +# Caching DNS daemon (loopback listener + scheme:dns). Wired as a service +# below; see [init] section. Provides positive + negative caching and an +# mDNS responder so the loopback resolver hits cache before upstream. +redbear-dnsd = {} + # Wi-Fi control daemon (firmware-loader excluded — no firmware blobs in mini). redbear-wifictl = {} @@ -148,6 +153,20 @@ args = ["-f"] type = "oneshot_async" """ +[[files]] +path = "/etc/init.d/11_dnsd.service" +data = """ +[unit] +description = "Caching DNS daemon (loopback listener + scheme:dns)" +requires_weak = [ + "10_dhcpd.service", +] + +[service] +cmd = "redbear-dnsd" +type = "oneshot_async" +""" + [[files]] path = "/etc/issue" data = """ diff --git a/local/recipes/system/audiodevd/recipe.toml b/local/recipes/system/audiodevd/recipe.toml index def0f3f38c..1fe884b811 100644 --- a/local/recipes/system/audiodevd/recipe.toml +++ b/local/recipes/system/audiodevd/recipe.toml @@ -1,3 +1,24 @@ +# Red Bear audiodevd — WIP skeleton +# +#TODO audiodevd is the Red Bear audio device aggregator (analogous to +# Linux's PulseAudio/PipeWire daemon in role, not implementation). +# It multiplexes multiple audio backends (HDA, AC97, USB Audio Class) +# into a single scheme:audiodev. Per AGENTS.md "WIP recipes MUST start +# with `#TODO` describing what is missing", this header documents the +# gaps: +# +# - [ ] Source: `source/` directory does not yet exist. Building +# this recipe will fail at fetch. +# - [ ] Backend contract: scheme:audiodev (stream/connect/disconnect) +# is not yet defined. +# - [ ] Integration: HDA/AC97/USB audio drivers (ac97d, ihdad, +# redbear-usbaudiod) do not publish to audiodevd. +# - [ ] Tests: at least one integration test playing audio through +# a QEMU guest with a HDA emulation is required. +# +# The right fix is to implement the daemon. Track under +# `local/docs/NETWORKING-AND-DRIVERS-CODE-ASSESSMENT-2026-07-27.md §3.6 +# (ghost-recipe gap) until implementation lands. [package] name = "audiodevd" version = "0.3.1" @@ -7,3 +28,4 @@ path = "source" [build] template = "cargo" + diff --git a/local/recipes/system/netd/recipe.toml b/local/recipes/system/netd/recipe.toml index 125df34f39..32b2eefc56 100644 --- a/local/recipes/system/netd/recipe.toml +++ b/local/recipes/system/netd/recipe.toml @@ -1,8 +1,29 @@ +# Red Bear netd — WIP skeleton +# +#TODO netd is the Red Bear network event/notification daemon (analogous +# to Linux's `networkd` for netlink-driven interface events, link state +# changes, and address acquisition). This recipe exists as a WIP +# skeleton so the build pipeline can reference it once the implementation +# lands. Per AGENTS.md "WIP recipes MUST start with `#TODO` describing +# what is missing", this header documents the gaps: +# +# - [ ] Source: `source/` directory does not yet exist. The current +# recipe is a placeholder; building it will fail at fetch. +# - [ ] Scheme contract: scheme:netd (or wired into an existing +# scheme:netcfg extension) is not yet defined. +# - [ ] Integration: redbear-netctl does not subscribe to netd +# events; netd is not in any redbear-*.toml [packages] list. +# - [ ] Tests: at least one integration test against a QEMU guest +# with two NICs is required before promoting to non-WIP. +# +# The right fix is to implement the daemon. Track under +# `local/docs/NETWORKING-AND-DRIVERS-CODE-ASSESSMENT-2026-07-27.md §3.6 +# (ghost-recipe gap) until implementation lands. [source] path = "source" - [build] template = "cargo" - [package] +name = "netd" +version = "0.3.1" bins = ["netd"] diff --git a/local/recipes/system/usbd/recipe.toml b/local/recipes/system/usbd/recipe.toml index 59d3d00da3..77c866c424 100644 --- a/local/recipes/system/usbd/recipe.toml +++ b/local/recipes/system/usbd/recipe.toml @@ -1,3 +1,25 @@ +# Red Bear usbd — WIP skeleton +# +#TODO usbd is the Red Bear USB device manager (analogous to Linux's +# udevd for USB-class hotplug, but specifically for the USB subsystem +# surface: class-driver autospawn policy, persistent device naming, +# and a scheme:usb namespace). Per AGENTS.md "WIP recipes MUST start +# with `#TODO` describing what is missing", this header documents the +# gaps: +# +# - [ ] Source: `source/` directory does not yet exist. Building +# this recipe will fail at fetch. +# - [ ] Distinction: redbear-usb-hotplugd (exists) already handles +# USB hotplug events. usbd is a higher-level manager that +# owns class-driver autospawn policy and persistent naming. +# The exact split between the two is not yet finalized. +# - [ ] Integration: usbd is not in any redbear-*.toml [packages] list. +# - [ ] Tests: at least one integration test exercising USB +# hotplug against a QEMU guest is required. +# +# The right fix is to implement the daemon. Track under +# `local/docs/NETWORKING-AND-DRIVERS-CODE-ASSESSMENT-2026-07-27.md §3.6 +# (ghost-recipe gap) until implementation lands. [package] name = "usbd" version = "0.3.1" @@ -7,3 +29,4 @@ path = "source" [build] template = "cargo" +