Command-Reference: DiskArbitration does not use devctl(4)
It subscribes to disk arrival and removal through the in-kernel IOKit
registry -- IOServiceAddMatchingNotification over IOREGIOCWATCH on
/dev/ioregistry (src/DiskArbitration/da_iokit_subscribe.c). libgeom is
for enumeration; the event path is IOKit.
devctl(4) is the devd interface, which is precisely what the IOKit
registry replaces -- so the old text contradicted the architecture it was
documenting. The hwregd fallback was retired too: the kernel is now the
registry.
Command-Reference: point at the static-addressing tickets
Says what is coming and where to watch it, instead of either staying
silent or documenting the machine-wide ipconfigd workaround that was
pulled. Links nextbsd-userland#58 (daemon support) and nextbsd#396 (the
Network preference pane that will expose it), plus Discussions.
Remove the static-IP page; that gap is work to do, not a doc to write
The page documented a machine-wide workaround -- unload ipconfigd, then
hand-configure and replay it from a launchd job -- which reads as an
apology for a missing feature rather than guidance a user should follow.
Tracking it as issues on nextbsd-userland instead.
Also drops the paragraph in Command-Reference enumerating what ipconfig
does not implement yet.
Document static IP addressing, including why it is a workaround
There is no supported static-IP path today, and the page says so up front
rather than pretending otherwise. Three findings from the source:
- ipconfig ships two subcommands, getifaddr and ifcount. Apple's has
~25 including set, so `ipconfig set em0 MANUAL ...` does not exist
(ipconfig.c commands[]).
- ipconfigd has no config file, no preferences plist and no
per-interface opt-out.
- Its rule is: every non-loopback interface whose link comes up gets
DHCP, and it admin-ups down interfaces so their link can negotiate
(on_link_event). So a hand-configured address is overwritten at the
next link event -- address, default route and /etc/resolv.conf alike.
The only lever is the ipconfigd launchd job, which is machine-wide. The
page states that cost plainly before the procedure: unloading it kills
DHCP everywhere, wlan0 included.
Procedure is unload ipconfigd -> ifconfig + route -> resolv.conf ->
persist via a launchd job, with KeepAlive false since it runs a script
that exits. Also covers reverting, and the ifconfig-only path for a
throwaway address with its overwrite caveat stated.
Command-Reference now says why ipconfig has only two subcommands and
links here.
NOT YET TESTED ON HARDWARE -- derived from source; the test VM was down.
Document the wlan tool; Command-Reference named it without showing it
Command-Reference had a wlan section that described who owns wireless and
never showed a single command. It now carries the five verbs.
Adds Wireless-Networking, drawn from wlan(8) and wland(8):
- the scan / connect / status workflow with real output
- all five commands, and the optional trailing interface argument
- networks are remembered on connect, so wland autojoins at next boot
- the associated vs connected distinction, which the man page rightly
calls the most confusing thing about 802.11: at "associated" the port
is not keyed, ipconfigd holds DHCP on purpose, and a stuck
"associated" is nearly always a wrong passphrase
- the three diagnostics with what each actually means
- plaintext passphrases in the known-networks plist, stated plainly
- the two real limits: no WPA-Enterprise, and scan under-reports on the
first call because it sleeps rather than waiting for scan-complete
Linked from Home and the sidebar.
Drop the leading H1 from every page
GitHub renders the page name as a heading on every wiki page, so a file
that also opens with "# Page Name" prints its title twice. All eleven
pages did.
Home's H1 read "NextBSD" rather than "Home", so it was not a literal
duplicate, but it goes too -- eleven pages with one convention beats ten
plus an exception, and the bold opening sentence works as the lead.
Section headings inside the pages are untouched.
Build out the wiki as user-facing documentation
Adds nine pages and a sidebar, drawn from the repo READMEs, PORTING notes,
the shipped man pages and the userland source tree.
Home welcome, navigation, the three surprises
Getting-Started download, verify, boot under QEMU, log in
Installing-NextBSD nextbsd-installer walkthrough
Installing-Packages pkg repo config, NextBSD-everything
Command-Reference Darwin commands with their man sections
Service-Management-with-launchd plists, launchctl, the foreground trap
Filesystem-Layout four-domain model, empty /boot/kernel
How-NextBSD-Differs the BSD comparison table, boot diagram
Project-Repositories build chain and who owns what
The existing UTM guide keeps its content and gains a title, an intro and
cross-links. Its page name contains parentheses, so links to it use
angle-bracket destinations -- a bare ](Apple-Silicon-Mac-(UTM)-Guide)
terminates at the first close paren and renders broken.