nextbsd-freebsd-compat 3-way auditEvery component the FreeBSD-compat closure installs into the NextBSD base (99 srclist.txt entries), cross-referenced against (1) what NextBSD overwrites with Apple-sourced code, and (2) what could be ported from Apple open source instead — each with a port-difficulty rating.
0 of 99 are currently overwritten by Apple code. NextBSD's Apple userland (libsystem_kernel, libdispatch, libxpc, configd, the *_cmds tools) installs into a parallel /usr/lib/system/ namespace or is vendored-but-deferred; the FreeBSD-compat set is the live base.
Three buckets emerge:
reboot, shutdown, login, su, nologin, nmtree/mtree are already vendored from Apple system_cmds/shell_cmds/file_cmds but deferred behind missing shims (IOPMLib for power, BSM-audit + login.c PAM drift). Finishing those shims flips them over. caroot data could come from Apple's open security_certificates root store (Easy, data-only).libbsm is OpenBSM (Apple-commissioned); the C++/builtins trio and the third-party libs (zlib, lzma, zstd, expat, sqlite3, ncurses, libedit, libarchive, xz) share the exact upstream Apple ships — no Apple-specific port buys anything.libc, rtld-elf, libthr — Apple's are Mach-O + XNU-coupled), the UFS tooling (newfs/tunefs/fsck_ffs — Apple has no UFS code; only newfs_hfs/apfs), the kernel-ABI libs (libkvm, libgeom, libjail, libcasper, libprocstat…), MIT Kerberos, and OpenSSL (Apple = closed corecrypto).Difficulty: Trivial Easy Moderate Hard Impractical
Overwritten: No No — Apple port vendored, deferred
| Item | Installed as | Purpose | Overwritten? | Apple port source | Difficulty | Notes |
|---|---|---|---|---|---|---|
lib/csu | crt1.o, Scrt1.o, crti/crtn.o | C startup glue (_start → __libc_start1) | No | Inside Apple Libc (Mach-O crt1.o) | Impractical | ELF crt vs Apple's Mach-O LC_MAIN/dyld model; no _start equivalent. |
lib/libc | /lib/libc.so.7 | C standard library + FreeBSD syscall stubs | No | Libc | Impractical | Apple Libc is split over Mach-O/XNU syscalls; replacing it = replacing the kernel ABI. The whole NextBSD premise is FreeBSD libc + Apple on top. |
lib/libsys | /lib/libsys.so.7 | Split-out raw FreeBSD syscall wrappers | No | ~ libsystem_kernel | Impractical | NextBSD's libmach→libsystem_kernel provides Mach-trap stubs only, parallel namespace; not FreeBSD ELF syscalls. |
libexec/rtld-elf | /libexec/ld-elf.so.1 | ELF dynamic loader | No | dyld | Impractical | dyld loads Mach-O via the shared cache + code-signing, XNU-coupled. Cannot load FreeBSD ELF. |
lib/libthr | /lib/libthr.so.3 | POSIX 1:1 threads | No | libpthread + libplatform | Impractical | Apple libpthread uses XNU thread/workqueue traps + Mach thread ports; libc-interposed on the FreeBSD side. |
lib/libgcc_s | /lib/libgcc_s.so.1 | Unwinder + compiler builtins shim | No | LLVM libunwind (Apple has no libgcc_s) | Hard | libunwind is portable but the libgcc_s soname is a FreeBSD artifact; no upside. |
lib/libssp_nonshared | /usr/lib/libssp_nonshared.a | __stack_chk_fail_local shim | No | Folded into Apple Libc | Trivial | A few lines of C; no discrete Apple analog. Pointless to source from Apple. |
lib/libssp | /usr/lib/libssp.so.0 | _FORTIFY_SOURCE helpers | No | Folded into Apple Libc | Easy | Small; FreeBSD's is fine, no standalone Apple libssp. |
lib/msun | /lib/libm.so.5 | IEEE math library | No | Apple Libm | Moderate | Apple Libm is portable-ish but arch-tuned for Apple ABI/long-double; FreeBSD msun is the proven fit. |
lib/librt | /usr/lib/librt.so.1 | POSIX realtime (mqueue, clock_*, aio) | No | None standalone (in Apple libsystem) | Hard | Apple folds RT into libsystem with XNU semantics; FreeBSD-syscall bound. |
lib/libdl | /usr/lib/libdl.so.1 | dlopen/dlsym shim to rtld | No | In Apple dyld/libdyld | Impractical | Coupled to the loader; same Mach-O blocker as rtld-elf. |
lib/libcompiler_rt | /usr/lib/libcompiler_rt.a (+libgcc.a) | LLVM compiler builtins | No | llvm-project/compiler-rt (same upstream) | Easy | Identical LLVM upstream; FreeBSD already builds from llvm19. Redundant to port. |
lib/libc_nonshared | /usr/lib/libc_nonshared.a | clang link-spec companion archive | No | Folded into Apple Libc | Trivial | FreeBSD link-spec artifact; no Apple equivalent. |
lib/libcxxrt | /usr/lib/libcxxrt.so.1 | C++ ABI runtime (exceptions/RTTI) | No | Apple uses libc++abi (different project) | Moderate | FreeBSD uses libcxxrt; swapping to libc++abi is a FreeBSD-base decision, not an Apple win. |
lib/libc++ | /usr/lib/libc++.so.1 | LLVM C++ standard library | No | llvm-project/libcxx (same upstream) | Easy | Same LLVM upstream Apple uses; FreeBSD builds the matching v19. No value. |
| Item | Installed as | Purpose | Overwritten? | Apple port source | Difficulty | Notes |
|---|---|---|---|---|---|---|
lib/libxo | libxo.so.0 | Structured (JSON/XML/HTML) CLI output | No | Same upstream (Juniper); not in stock macOS | Easy | Portable leaf lib. Missing it left / read-only (the libxo symptom). |
lib/libmd | libmd.so.6 | Message digests (MD5/SHA/RIPEMD) | No | Same upstream (BSD libmd) | Trivial | macOS uses CommonCrypto, but BSD libmd builds cleanly. |
lib/libnv | libnv.so.0 | nvlist name/value marshalling | No | None — FreeBSD nvlist ABI | Easy | FreeBSD invention; portable C but no Apple analog. |
lib/libelf | libelf.so.2 | Arch-independent ELF read/write | No | Same upstream (ELF Tool Chain) | Easy | macOS is Mach-O so ships no libelf; the BSD lib is portable. |
lib/libkvm | libkvm.so.7 | Kernel memory / proc-table access | No | None — reads FreeBSD kernel VM | Impractical | Bound to FreeBSD kernel proc/VM internals. |
lib/libexpat | libbsdxml | XML parser | No | Same upstream (Expat); Apple ships it | Trivial | Identical upstream. |
lib/liblzma | liblzma.so.5 | XZ/LZMA compression | No | Same upstream (xz); Apple ships it | Trivial | Same upstream. |
lib/libzstd | libprivatezstd.so.5 | Zstandard compression | No | Same upstream (zstd) | Trivial | Built private; libarchive links it. |
lib/libz | libz.so.6 | DEFLATE/zlib | No | Same upstream; apple-oss/zlib is cosmetic | Trivial | No Apple port needed. |
lib/libbz2 | libbz2.so.4 | bzip2 compression | No | Same upstream (bzip2) | Trivial | Same upstream. |
lib/libsbuf | libsbuf.so.6 | Safe auto-growing string buffers | No | None — FreeBSD sbuf API | Trivial | Portable C, FreeBSD-only API. |
lib/libcrypt | libcrypt.so.5 | crypt(3) password hashing | No | None (macOS = Open Directory/CommonCrypto) | Easy | No Apple drop-in; keep FreeBSD's. |
lib/libutil | libutil.so.10 | login/pty/pidfile/property utils | No | None — FreeBSD util grab-bag | Moderate | Touches kld/login_cap; no clean Apple port. |
lib/libbsm | libbsm.so.3 | BSM audit-record API | No | OpenBSM — Apple-commissioned; Apple ships it too | Trivial | FreeBSD copy already is the Apple lineage (VENDORED.md: "identical"). No work. |
lib/libexecinfo | libexecinfo.so.1 | backtrace() | No | macOS has backtrace in libSystem | Trivial | Standalone BSD lib builds trivially. |
lib/libufs | libufs.so.7 | UFS/FFS filesystem manipulation | No | None — FreeBSD UFS on-disk format | Impractical | Apple (HFS+/APFS) has no analog. |
lib/libnetbsd | libnetbsd.so | NetBSD-compat build shims | No | None — build glue | Trivial | No Apple relevance. |
lib/libdevctl | libdevctl.so.0 | devctl(8) device-control wrappers | No | None — FreeBSD newbus | Impractical | Apple IOKit is entirely different. |
lib/libjail | libjail.so.1 | jail(2) management | No | None — FreeBSD jails | Impractical | macOS sandboxing is unrelated. |
lib/lib80211 | lib80211.so.1 | net80211 wireless ioctls | No | None — FreeBSD net80211 | Impractical | Apple's 80211 stack is private/different. |
lib/libipsec | libipsec.so.4 | PF_KEY/IPsec policy | No | None — KAME PF_KEY ABI | Impractical | No Apple OSS port. |
lib/ncurses | libncursesw.so | Terminal UI library | No | Same upstream; apple-oss/ncurses | Trivial | Apple fork is minor; no port needed. |
lib/libedit | libedit.so.8 | readline-style line editing | No | Same upstream; apple-oss/libedit | Trivial | Same NetBSD-origin libedit. |
lib/libcasper | libcasper.so.1 | Capsicum privilege-separation helper | No | None — needs Capsicum | Impractical | Depends on the Capsicum kernel framework. |
lib/libgeom | libgeom.so.5 | GEOM storage introspection | No | None — FreeBSD GEOM | Impractical | Apple IOStorage is different. |
lib/libefivar | libefivar.so.1 | EFI variable access | No | None on macOS (no libefivar.so.1) | Easy | Talks to efirt via FreeBSD; portable concept, no Apple port. |
lib/libarchive | libarchive.so.7 | Multi-format archive read/write | No | Same upstream; apple-oss/libarchive | Easy | Apple fork adds Mach-O/codesign quirks not needed here. |
lib/libsqlite3 | libsqlite3.so.0 | Embedded SQL DB (pkg needs it) | No | Same upstream (SQLite) | Trivial | No Apple port needed. |
lib/libucl | libucl.so.1 | UCL config parser (pkg needs it) | No | Same upstream (vstakhov/libucl) | Trivial | No Apple relevance. |
lib/libfetch | libfetch.so.6 | HTTP/HTTPS/FTP retrieval (pkg, fetch) | No | None (macOS = CFNetwork/curl) | Easy | FreeBSD-only API; portable C over OpenSSL. |
lib/libdevinfo | libdevinfo.so.7 | Device-tree introspection | No | None — FreeBSD newbus | Impractical | Apple IORegistry is different. |
lib/libprocstat | libprocstat.so.1 | Per-process file/socket/vm info | No | None — reads FreeBSD kernel state | Impractical | Bound to FreeBSD kernel struct layout. |
lib/libulog | libulog.so.0 | utmpx login-record helper | No | None — FreeBSD utmpx | Easy | macOS deprecated utmpx; FreeBSD's is the needed one. |
lib/librpcsvc | librpcsvc.so.5 | Sun ONC RPC service stubs | No | Same upstream; macOS ships rpcsvc | Trivial | Standard ONC RPC lineage. |
lib/libmagic | libmagic.so.4 | file(1) type detection | No | Same upstream (Ian Darwin's file) | Trivial | Same upstream. |
| Item | Installed as | Purpose | Overwritten? | Apple port source | Difficulty | Notes |
|---|---|---|---|---|---|---|
share/zoneinfo | /usr/share/zoneinfo | IANA tz database (+zic) | No | system_cmds (zic); data = upstream IANA | Trivial | Data identical either way; keep in-tree zic build-tool. |
share/vt | /usr/share/vt | vt(4) console fonts/keymaps | No | None — FreeBSD newcons | Impractical | No Apple console equivalent. |
share/mk | /usr/share/mk | BSD make ruleset (sys.mk, bsd.*.mk) | No | Apple bsdmake .mk (incompatible) | Hard | Tightly coupled to FreeBSD bmake + src.opts.mk; Apple's NetBSD-make set differs. |
usr.bin/bmake | /usr/bin/make | The make(1) binary | No | Apple bsdmake (NetBSD make) | Hard | Not API-compatible with FreeBSD's share/mk; must stay paired. |
stand | /boot/loader*, gptboot, boot1.efi | EFI/i386 boot blocks + Lua loader | No | None (Apple boot.efi/iBoot load XNU, closed) | Impractical | Loads the FreeBSD kernel. |
share/keys | /usr/share/keys/pkg/… | pkg(8) signing fingerprints | No | None (FreeBSD pkg-specific) | Impractical | Bound to FreeBSD pkg. |
usr.sbin/pkg | /usr/sbin/pkg | pkg(8) bootstrapper | No | None (Apple uses installer/.pkg) | Impractical | NextBSD relies on FreeBSD pkg. |
bin/sh | /bin/sh | POSIX shell (FreeBSD ash) | No | shell_cmds (sh) — vendored, never installs /bin/sh | Moderate | macOS /bin/sh is this same BSD ash. Swap possible, low value. |
bin/kenv | /bin/kenv | kernel-environment access | No | None — FreeBSD kenv(2) | Impractical | XNU has no kenv(2). |
sbin/devfs | /sbin/devfs | devfs ruleset management | No | None — FreeBSD devfs | Impractical | macOS devfs has no ruleset CLI. |
sbin/fsck | /sbin/fsck | Generic fsck front-end | No | diskdev_cmds (dispatches HFS/APFS) | Hard | Apple's fsck only knows HFS/APFS backends; still needs UFS fsck_ffs under it. |
sbin/fsck_ffs | /sbin/fsck_ffs | UFS/FFS checker | No | None — Apple has no UFS code | Impractical | diskdev_cmds ships fsck_hfs/apfs only; "porting Apple's" = a different filesystem. |
sbin/ldconfig | /sbin/ldconfig | Build rtld hints | No | None (macOS = dyld shared cache) | Impractical | No ldconfig/hints model on macOS. |
sbin/mount | /sbin/mount | Mount front-end | No | Apple mount targets XNU VFS | Hard | FreeBSD nmount(2) ABI; not drop-in. |
sbin/newfs | /sbin/newfs | Create a UFS/FFS filesystem | No | None — Apple has newfs_hfs/apfs, not UFS | Impractical | The "hard to port" case: there is no Apple UFS code; a port would create a different FS. Stays FreeBSD permanently. |
sbin/tunefs | /sbin/tunefs | Tune UFS/FFS parameters | No | None — UFS-specific | Impractical | UFS superblock tuning; no Apple equivalent. |
sbin/umount | /sbin/umount | Unmount filesystems | No | Apple unmount(2) differs | Hard | Counterpart to mount; same ABI mismatch. |
sbin/reboot | /sbin/reboot (+halt) | reboot(2) reset | No — deferred | system_cmds (reboot) — needs IOPMLib shim | Moderate | Apple reboot vendored but deferred on PowerManagement IOPMLib. |
sbin/shutdown | /sbin/shutdown | Orderly shutdown scheduler | No — deferred | system_cmds (shutdown) — IOPMLib | Moderate | Vendored, deferred; FreeBSD's is live (setuid restored, 2dc7f7a). |
sbin/geom | /sbin/geom | GEOM framework control | No | None — FreeBSD GEOM | Impractical | XNU has no GEOM. |
usr.bin/ldd | /usr/bin/ldd | List dynamic deps (via rtld) | No | None (macOS = otool -L) | Hard | Drives FreeBSD rtld LD_TRACE. |
usr.bin/su | /usr/bin/su (setuid) | Substitute user identity | No — deferred | shell_cmds (su) — needs BSM stub | Moderate | Vendored, deferred; FreeBSD's setuid su is live (PAM via pam.d/su). |
usr.bin/login | /usr/bin/login (setuid) | Authenticate + start session | No — deferred | system_cmds (login) — login.c PAM drift + BSM | Moderate | Apple login.c diverged; deferred. FreeBSD's is load-bearing for getty. |
usr.bin/fetch | /usr/bin/fetch | HTTP/FTP file download (over libfetch) | No | None (macOS uses curl) | Easy | Portable C over libfetch; no Apple "fetch" tool. Keep. |
usr.bin/xz | /usr/bin/xz | XZ/LZMA (de)compression | No | Same upstream (tukaani xz) | Easy | No Apple-specific fork. |
usr.sbin/crashinfo | /usr/sbin/crashinfo | Summarize kernel crash dumps | No | None (macOS = spindump) | Impractical | Parses FreeBSD vmcore/kgdb. |
usr.sbin/certctl | /usr/sbin/certctl | Build hashed CA trust store | No | None (macOS = Keychain/Security) | Easy | Pairs with secure/caroot; no certctl analog on macOS. |
usr.sbin/devctl | /usr/sbin/devctl | Device control (attach/detach) | No | None — FreeBSD newbus | Impractical | XNU uses IOKit. |
usr.sbin/diskinfo | /usr/sbin/diskinfo | Disk geometry/speed (GEOM) | No | None (macOS = diskutil/IOKit) | Impractical | FreeBSD DIOCG ioctls. |
usr.sbin/fstyp | /usr/sbin/fstyp | Detect filesystem type | No | None (Apple uses different probing) | Hard | Recognizes FreeBSD-relevant fs set. |
usr.sbin/gstat | /usr/sbin/gstat | GEOM I/O statistics | No | None (macOS = iostat/fs_usage) | Impractical | XNU has no GEOM. |
usr.sbin/kldxref | /usr/sbin/kldxref | Build linker.hints for kld | No | None (macOS = kextcache) | Impractical | NextBSD loads ELF kexts via OSKext, but module metadata is FreeBSD kld. |
usr.sbin/nologin | /usr/sbin/nologin | Refuse-login shell stub | No — deferred | system_cmds (vendored, not installed) | Trivial | Tiny POSIX program; trivial future swap. |
usr.sbin/nmtree | /usr/sbin/nmtree (mtree) | Verify/create filesystem spec | No — deferred | file_cmds (mtree) — needs libacl/xattr shims | Moderate | Apple mtree deferred; FreeBSD's NetBSD-derived nmtree is live. |
usr.sbin/pciconf | /usr/sbin/pciconf | PCI enumeration/config | No | None (macOS = IOKit) | Impractical | FreeBSD pci(4) ioctls. |
usr.sbin/pw | /usr/sbin/pw | Unified user/group management | No | None — macOS uses dscl/Open Directory | Impractical | No single Apple user/group CLI; NextBSD uses flat-file master.passwd, so pw fits. |
libexec/save-entropy | /usr/libexec/save-entropy | Persist entropy across boot | No | None (macOS = kernel/SecureBoot) | Easy | Shell script; could become a launchd job later. |
| Item | Installed as | Purpose | Overwritten? | Apple port source | Difficulty | Notes |
|---|---|---|---|---|---|---|
secure/lib/libcrypto | /usr/lib/libcrypto.so.* | OpenSSL crypto primitives | No | None practical (Apple = closed corecrypto) | Impractical | corecrypto can't be redistributed; Apple's old OpenSSL fork is EOL. Keep FreeBSD OpenSSL. |
secure/lib/libssl | /usr/lib/libssl.so.* | OpenSSL TLS layer | No | None (Apple = Secure Transport/Network.framework) | Impractical | Not an libssl.so drop-in; ports expect the ABI. |
secure/usr.bin/openssl | /usr/bin/openssl | openssl(1) CLI | No | None (Apple ships same deprecated fork) | Impractical | Tracks the libcrypto/libssl decision. |
secure/caroot | /etc/ssl/cert.pem, /usr/share/certs/ | Trusted CA root bundle | No | apple-oss/security_certificates (open root store) | Easy | The one genuinely feasible Apple swap — but data only; consumers need the PEM/CApath form FreeBSD's certctl produces. (SecTrust mechanism is closed/Moderate.) |
krb5/util/support | libkrb5support | MIT krb5 portability runtime | No | Apple = Heimdal (different impl/ABI) | Hard | This tree is MIT krb5 1.22.1 (FreeBSD 15.0 default), not Heimdal — Apple's Heimdal isn't a drop-in. |
krb5/util/et | libcom_err | error-table (com_err) infra | No | Heimdal com_err (ABI-incompatible) | Hard | MIT-vs-Heimdal mismatch. |
krb5/util/compile_et | compile_et (build tool) | Compile .et tables | No | Heimdal ships its own | Hard | Build-time only; flavor-locked to MIT. |
krb5/util/profile | libprofile | krb5.conf parser | No | Heimdal uses a different config lib | Hard | MIT-specific. |
krb5/include | /usr/include krb5 headers | Build-time krb5 API | No | Apple/Heimdal headers differ | Hard | curl/git compiled against the MIT API. |
krb5/lib/crypto | libk5crypto | MIT krb5 crypto backend | No | Heimdal hcrypto is separate | Hard | Tied to MIT libkrb5. |
krb5/lib/krb5 | libkrb5.so.122 | Core MIT Kerberos 5 client lib | No | Heimdal libkrb5 (different SONAME/ABI) | Hard | Load-bearing: curl/git need this exact MIT SONAME; Heimdal can't supply it. |
krb5/lib/gssapi | libgssapi_krb5.so.122 | GSS-API over MIT krb5 | No | Apple GSS.framework (closed, over Heimdal) | Hard | curl links the MIT name; GSS.framework is neither that SONAME nor open. |
The inverse of the tables above: the Apple userland the nextbsd repo builds + installs on top of the FreeBSD-compat base. Command-level, with real install status verified on the live box. Key caveat: many Apple commands are vendored in-tree but deferred (their Makefile doesn't install them, pending a shim) — for those, the binary you see on the box at that path is still the FreeBSD-compat tool, not Apple's.
Status: Installed built + installed from Apple source (active) Deferred vendored, not installed (FreeBSD-compat tool is live) Not built tests-only / build-tool / absent
All Apple system libraries install to the parallel /usr/lib/system/ namespace (found via baked -rpath), layering on top of FreeBSD libc — never replacing it. The lone in-place replacements are PAM and syslogd.
| Artifact | Installed as | Status | Purpose | Replaces / layers |
|---|---|---|---|---|
libsystem_kernel (libmach) | /usr/lib/system/libsystem_kernel.so.0 | Installed | Userland Mach trap stubs (mach_msg, port mgmt) | Layers (new path) |
libdispatch | /usr/lib/system/libdispatch.so (+libBlocksRuntime) | Installed | GCD queues/sources (swift-corelibs portable build) | Layers |
libxpc | /usr/lib/system/libxpc.so.4 | Installed | XPC IPC (bootstrap_check_in/look_up) | Layers |
liblaunch | /usr/lib/system/liblaunch.so.1 | Installed | launchd client library | Layers |
libCoreFoundation | /usr/lib/system/libCoreFoundation.so.6 (+libicucore) | Installed | CoreFoundation (CFString/plist), pure-C build | Layers |
libSystemConfiguration | /usr/lib/system/libSystemConfiguration.so.1 | Installed | SCDynamicStore client (configd MIG) | Layers |
libIOKit | /usr/lib/system/libIOKit.so.1 | Installed | IOKit userland facade (registry walk) | Layers |
libnotify | /usr/lib/system/libnotify.so.1 | Installed | Apple libnotify client (notify_ipc MIG) | Layers |
libsystem_asl | /usr/lib/system/libsystem_asl.so.1 | Installed | Apple ASL client (asl_ipc MIG) | Layers |
libpam (OpenPAM-35) | /usr/lib/libpam.so.6 | Installed | PAM framework | Replaces FreeBSD-pam in place |
pam_*.so.6 (8 modules) | /usr/lib/pam_{unix,deny,permit,self,rootok,uwtmp,nologin,env}.so.6 | Installed | OpenPAM (3) + pam_modules (5) | Replaces FreeBSD-pam modules |
syslogd | /usr/sbin/syslogd | Installed | Apple syslogd (Mach-ingest) | Replaces FreeBSD syslogd |
notifyd | /usr/sbin/notifyd | Installed | notify server daemon | New |
aslmanager | /usr/sbin/aslmanager | Installed | ASL log rotator | New |
syslog(1) | /usr/bin/syslog | Installed | ASL user CLI (post/search/control) | New (no FreeBSD /usr/bin/syslog) |
notifyutil | — | Not built | notify CLI | Absent on box |
9 Apple-sourced daemons run at boot (launchd-managed except sshd-mdns-register). Several control CLIs (scutil, diskutil, dns-sd, kextutil) are not yet built.
| Binary / daemon | Installed as | Status | LaunchDaemon | Purpose / supersedes |
|---|---|---|---|---|
launchd | /sbin/launchd | Installed (PID 1) | — (is init) | Replaces init(8) + rc/rc.d; owns the bootstrap port |
launchctl | /bin/launchctl | Installed | n/a | Service control; replaces service(8) |
configd | /usr/sbin/configd | Installed (active) | com.apple.configd | SCDynamicStore registry (no FreeBSD analog) |
scutil | — | Not built | n/a | configd CLI — deferred |
hostnamed | /usr/sbin/hostnamed | Installed (active) | com.apple.hostnamed | Hostname daemon; supersedes rc.conf hostname write |
ipconfigd | /usr/sbin/ipconfigd | Installed (active) | com.apple.IPConfiguration | DHCP/IP config; replaces dhclient + rc.d/netif |
ipconfig | /usr/sbin/ipconfig | Installed | n/a | Apple ipconfig CLI (MIG) |
diskarbitrationd | /usr/sbin/diskarbitrationd | Installed (active) | com.apple.DiskArbitration | Disk/volume arbitration + mount events; supersedes devd/autofs glue |
diskutil | — | Not built | n/a | DA CLI — deferred |
mDNSResponder | /usr/sbin/mDNSResponder | Installed (active, -debug) | com.apple.mDNSResponder | Bonjour/mDNS (new; FreeBSD base ships none) |
dns-sd | — | Not built | n/a | mDNS query CLI — deferred |
sshd-mdns-register | /usr/libexec/sshd-mdns-register | Installed (sshd-forked) | — (sshd spawns) | Advertises _ssh._tcp via mDNSResponder |
kextd | /usr/libexec/kextd | Installed (active) | com.apple.kextd | Kext autoload daemon (OSKext); supersedes kld boot autoload |
kextload / kextunload / kextstat | /usr/sbin/kext* | Installed | n/a | Replace kldload/kldunload/kldstat |
kextutil / kextcache | — | Not built | n/a | Diagnostic/cache tools — deferred |
migcom / mig | /usr/libexec/migcom, /usr/bin/mig | Installed | n/a | MIG generator (build tool and shipped) |
nextbsd-version | /bin/nextbsd-version | Installed | n/a | OS version/identity tool |
bootstrap_server | /usr/sbin/bootstrap_server | Inert | none | Vendored validation daemon; launchd subsumes it |
mach (COMPAT_MACH) | in-kernel | In kernel | n/a | Mach IPC/syscalls compiled into the kernel (#181) — no mach.ko |
Five POSIX command suites are ported from Apple open source. The Makefile install: target is the authority for origin (live-box presence alone doesn't prove it — a deferred command's path holds the FreeBSD-compat tool).
adv_cmds — 8 installed, 6 deferred| Command | Installed as | Status | Note |
|---|---|---|---|
tabs · tty · whois · cap_mkdb · finger · locale | /usr/bin/* | Installed | |
stty | /bin/stty | Installed | |
lsvfs | /usr/sbin/lsvfs | Installed | |
ps · pkill | — | Deferred | Needs Apple kinfo_proc shim; FreeBSD-compat live |
last · ac | — | Deferred | Needs getutxent_wtmp(); FreeBSD-compat live |
gencat · localedef · genwrap | — | Deferred | Apple msgcat / yacc-lex machinery |
shell_cmds — 39 installed, ~7 deferred| Command(s) | Installed as | Status | Note |
|---|---|---|---|
true false echo sleep basename apply dirname env getopt hostname jot kill logname mktemp nice nohup printenv printf pwd realpath renice tee uname what yes chroot date hexdump od lockf script shlock stdbuf test [ whereis which xargs find who locate (+locate.* helpers) | /bin/*, /usr/bin/*, /usr/sbin/chroot, /usr/libexec/locate.* | Installed | od→hexdump, [→test (hardlinks) |
sh | — | Deferred | fbsdglue owns /bin/sh for now (planned Apple swap) |
su | — | Deferred | Needs BSM-audit stub; FreeBSD-compat su live |
id | — | Deferred | Needs libopendirectory shim |
killall · w | — | Deferred | Needs KERN_PROCARGS2 (+kvm for w) |
lastcomm | — | Deferred | Legacy struct acct vs acctv3 |
system_cmds — 12 installed, ~25 deferred| Command(s) | Installed as | Status | Note |
|---|---|---|---|
mkfile · vifs · vipw · accton · pwd_mkdb | /usr/sbin/* | Installed | |
sync · wait4path | /bin/* | Installed | wait4path is Apple-specific |
pagesize · newgrp · getconf | /usr/bin/* | Installed | |
passwd | /usr/bin/passwd (setuid 4555) | Installed | PAM; OD/NIS backends stubbed |
getty | /usr/libexec/getty | Installed | com.apple.getty |
reboot · shutdown · halt · dynamic_pager · nvram | — | Deferred | Need IOPMLib / IOKit-NVRAM bridge; FreeBSD-compat live |
login | — | Deferred | Vendored login.c drifted (auth_pam signature); FreeBSD-compat live |
sa · dmesg · sysctl · chpass · nologin | — | Deferred | BSM / libproc / Open Directory / no-gain; FreeBSD-compat live |
lsmp hostinfo vm_stat fs_usage gcore zprint latency stackshot taskpolicy (Mach/VM introspection family) | — | Not built | Need Mach-IPC introspection / kdebug traps absent on FreeBSD |
arch | — | Not built | Mach-O multi-arch, N/A on ELF |
file_cmds — 18 installed, 11 deferred| Command(s) | Installed as | Status | Note |
|---|---|---|---|
chflags mkdir mkfifo rmdir dd ln rm | /bin/* | Installed | |
df | /bin/df | Installed | |
pathchk cksum compress touch truncate shar stat du | /usr/bin/* | Installed | |
mknod | /sbin/mknod | Installed | |
chown | /usr/sbin/chown | Installed | |
cp · mv | — | Deferred | Need clonefile/copyfile; FreeBSD-compat cp/mv live |
ls · chmod · install · gzip · pax · mtree | — | Deferred | Need libacl/xattr shims; FreeBSD-compat live |
ipcrm · ipcs | — | Deferred | XNU SysV-IPC struct layout; FreeBSD-compat live |
xattr | — | Not built | Needs xattr shim; absent on box |
text_cmds — 34 installed, 2 deferred| Command(s) | Installed as | Status | Note |
|---|---|---|---|
cat ed red | /bin/* | Installed | red→ed (hardlink) |
head tail wc tr col colrm comm csplit cut expand fmt fold nl paste rev ul unexpand uniq lam look pr rs split vis unvis join column sed | /usr/bin/* | Installed | |
banner | /usr/games/banner | Installed | |
md5 (+sha1/224/256/384/512/512t256/rmd160/skein, 11 links) | /sbin/md5 | Installed | Digest family (hardlinks) |
bintrans (+base64/b64encode/b64decode/uuencode/uudecode) | /usr/bin/bintrans | Installed | Binary-transform family |
grep (+egrep/fgrep/rgrep/zgrep/zegrep/zfgrep/bz*/xz*/lz*, 16 links) | /usr/bin/grep | Installed | grep family (hardlinks) |
sort | — | Deferred | Apple file.c uses Mach semaphores (the deliberate Mach-IPC wedge); FreeBSD-compat sort live |
jq | — | Not built | Apple wrapper dir, no buildable source |
/usr/lib/system/ Apple library stack, OpenPAM replacing FreeBSD-pam, Apple syslogd, and ~110 ported POSIX commands (most of shell_cmds/text_cmds/file_cmds/adv_cmds).reboot/shutdown/login/su) wait on IOPMLib + BSM; file tools (cp/mv/ls/chmod/mtree) wait on clonefile/copyfile/libacl/xattr; process tools (ps/w/killall) wait on kinfo_proc/PROCARGS2 shims. Until then those paths run the FreeBSD-compat tool.arch, lsmp, vm_stat, fs_usage) and CLIs with no buildable source (jq).Filed 2026-06-21. From a 4-agent audit of nextbsd-freebsd-compat srclist.txt (99 entries) cross-referenced against the nextbsd Apple-userland tree and apple-oss-distributions sources. "Overwritten?" reflects current state: 0/99 are replaced today; the deferred set is vendored-from-Apple but blocked on shims (IOPMLib, BSM-audit, libacl/xattr).