INFRA Signal 81
FreeBSD reportedly developing rcd, a new service manager to replace /etc/rc
Illustration only Photo by imgix on Unsplash
FreeBSD is testing a new service manager, rcd, designed to replace the traditional /etc/rc system with parallel startup and supervision
Service managers determine boot speed, reliability, and operational overhead for systems. A modern replacement for FreeBSD’s aging rc.d could reduce maintenance burden while improving performance. If rcd delivers on its compatibility promises, adoption may be seamless for existing deployments
Written by elseif from the cluster below · every claim links back to a sourceThe three things worth knowing
rcd reads service definitions from UCL unit files and starts services in parallel for faster boot times
The daemon remains active post-boot to supervise and restart failed services via a UNIX socket
rcd maintains full backward compatibility with existing rc.d scripts and requires no immediate migration
THE READ
What the cluster adds up to.
FreeBSD’s current service management relies on the decades-old /etc/rc system, which starts services sequentially and lacks built-in supervision. rcd replaces this by reading UCL-formatted unit files and constructing a dependency graph, enabling parallel startup. The change targets faster boot times and continuous process monitoring, features already standard in Solaris’ smf and Linux’s systemd.
rcd is designed to drop into existing FreeBSD systems without requiring modifications to rc.d scripts or configuration files. Users can install it on a running system and reboot to begin using it immediately. This backward compatibility reduces adoption friction, but the long-term goal is migration to rcd’s native unit files, with maintainers given indefinite time to transition.
The supervision daemon remains active after boot, automatically restarting failed services and accepting control commands via a UNIX socket. This introduces a persistent process that consumes additional memory and CPU cycles, though the overhead is likely minimal on modern hardware. The trade-off is improved service resilience and operational simplicity for administrators.
While rcd promises faster boot times, the actual performance gain depends on service dependencies and hardware. Parallel startup can only proceed as fast as the slowest critical path service. Systems with many independent services will see the most benefit, while those with tightly coupled dependencies may experience marginal improvements.
Written by elseif from the cluster below · checked for specifics the sources never containedTHE CLUSTER