Files
RedBear-OS/local/recipes/system/redbear-netctl
vasilito 7b8a1b2838 release: open 0.3.2 and sync Cat 1/Cat 2 version labels
New release branch per the release-branch model (operator decision;
local/AGENTS.md reserves branch creation to the operator).

sync-versions.sh, driven by bump-release.sh, rewrites:
  - Cat 1 in-house crates  -> version = 0.3.2
  - Cat 2 upstream forks   -> <upstream-tag>+rb0.3.2

Labels only; no fork source was rebased in this commit. bump-release.sh
reports these forks as having newer upstream tags, to be taken next:
  relibc   0.2.5  -> 0.6.0
  syscall  0.9.0  -> 0.9.1
  libredox 0.1.18 -> 0.1.19
redoxfs and redox-scheme are already current. kernel, bootloader and
installer are 'diverged' in the fork map and stay report-only (manual
rebase); bootloader additionally has no merge-base with upstream.
2026-08-03 11:04:40 +03:00
..

redbear-netctl

Network control CLI — manages network interfaces, profiles, and connections on Red Bear OS

Status: FEATURE-INCOMPLETE Category: system Build: cargo build --release --manifest-path source/Cargo.toml

Purpose

redbear-netctl is the primary network control utility for Red Bear OS. It manages network connection profiles (Ethernet and Wi-Fi), handles DHCP and static IP configuration, and provides status/scan/start/stop commands for network interfaces. It installs as both netctl and redbear-netctl.

The tool reads and writes profile configuration through the /scheme/netcfg/ runtime surface. Wi-Fi scanning and connection are handled via the redbear-wifictl scheme. Ethernet interfaces use DHCP by default.

CLI Usage

netctl [--boot|list|status [profile]|scan <profile|iface>|retry <profile|iface>|
        start <profile>|stop <profile>|enable <profile>|disable [profile]|
        is-enabled [profile]]

Commands:
  --boot              Apply boot-time network configuration
  list                List all configured profiles
  status [profile]    Show status of a profile (or all)
  scan <profile>      Scan for Wi-Fi networks using profile config
  retry <profile>     Retry connection for a profile
  start <profile>     Bring up a profile (DHCP or static)
  stop <profile>      Tear down a profile
  enable <profile>    Mark profile for auto-start at boot
  disable [profile]   Disable auto-start (or all)
  is-enabled [profile] Check if profile is enabled at boot

Profile Model

  • Ethernet: Interface-based, DHCP or static IP
  • Wi-Fi: SSID + security (Open or WPA2-PSK), DHCP or static IP
  • Profiles stored in /scheme/netcfg/profile/

Examples

netctl list
netctl status ethernet
netctl scan my-wifi
netctl start ethernet
netctl enable home-wifi

Architecture

  • Single file: src/main.rs (1093 lines)
  • No external dependencies — uses only std (process, fs, net, thread, time)
  • Key types: Profile (name, interface, connection mode, IP mode), ConnectionMode (Ethernet/Wifi), WifiSettings (SSID, security), WifiSecurity (Open/Wpa2Psk), ProfileIpMode (Bounded/Dhcp/Static)
  • DHCP: Runs dhcpd as a subprocess for DHCP lease acquisition
  • Wi-Fi: Delegates to /scheme/wifictl/ for scan and connect

Consumers

  • redbear-netctl-console — TUI frontend (dev-dependency only, for testing)
  • redbear-info — reads /scheme/netcfg/ independently
  • Init system--boot command invoked by init service at startup

Status Notes

  • Profile management (list/status/start/stop/enable/disable/is-enabled) — implemented
  • Wi-Fi scan/retry — implemented
  • DHCP via subprocess dhcpd — implemented
  • Static IP configuration — implemented
  • Boot-time auto-start — implemented (with --boot + enable/disable)
  • Lacking: VPN profiles, bridge/bond profiles, IPv6 configuration, interactive profile creation wizard