Affected versions: FreeBSD 14

πŸ“– ~1 min read

Table of contents
  1. Symptom & Impact
  2. Environment & Reproduction
  3. Root Cause Analysis
  4. Quick Triage
  5. Step-by-Step Diagnosis
  6. Solution – Primary Fix
  7. Solution – Alternative Approaches
  8. Verification & Acceptance Criteria
  9. Rollback Plan
  10. Prevention & Hardening
  11. Related Errors & Cross-Refs
  12. References & Further Reading

Symptom & Impact

Custom or third-party service does not start after reboot although manual service start works later.

Environment & Reproduction

Seen on systems with recently added rc.d scripts or copied service templates.

service -e
service  onestatus || true
rcorder /etc/rc.d/* /usr/local/etc/rc.d/* | tail -n 60

Root Cause Analysis

The script lacks correct PROVIDE/REQUIRE/BEFORE keywords, so boot ordering omits or delays startup.

Quick Triage

Review script headers and enabled settings.

head -n 40 /usr/local/etc/rc.d/
sysrc -a | grep 
service  enabled

Step-by-Step Diagnosis

Map dependency chain and boot logs for ordering mismatch.

grep -E 'PROVIDE|REQUIRE|BEFORE' /usr/local/etc/rc.d/
rcorder /etc/rc.d/* /usr/local/etc/rc.d/* | nl | grep 
dmesg -a | tail -n 120
Illustrative mockup for freebsd-14 β€” terminal_or_console
Diagnosis commands for post 153 β€” Illustrative mockup β€” Progressive Robot

Solution – Primary Fix

Add correct dependency metadata and rcvar handling in the script, then reload service flow.

Still having issues? Our Server Management team can diagnose and resolve this for you. Get in touch for a free consultation.

vi /usr/local/etc/rc.d/
chmod 555 /usr/local/etc/rc.d/
service  rcvar
service  restart
Illustrative mockup for freebsd-14 β€” log_or_dashboard
Fix validation evidence for post 153 β€” Illustrative mockup β€” Progressive Robot

Solution – Alternative Approaches

Use late start hooks if strict dependency wiring is not immediately possible.

sysrc _enable=YES
echo 'sleep 10; service  start' >> /etc/rc.local

Verification & Acceptance Criteria

Service starts automatically after reboot with no ordering warnings.

shutdown -r now
service  status
grep  /var/log/messages | tail -n 20

Rollback Plan

Restore previous script and disable auto-start if startup regression affects boot critical path.

cp /root/backup/.rc.d /usr/local/etc/rc.d/
sysrc _enable=NO

Prevention & Hardening

Validate rc.d script headers in code review before deployment.

grep -R 'PROVIDE:' /usr/local/etc/rc.d
rcorder /etc/rc.d/* /usr/local/etc/rc.d/* >/dev/null

Can overlap with missing network-online behavior and jailed service startup assumptions.

Related tutorial: View the step-by-step tutorial for FreeBSD 14.

View all FreeBSD 14 tutorials on the Tutorials Hub β†’

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

rc.subr, rcorder, and FreeBSD service management documentation.

Need Expert Help?

If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today β€” we respond within one business day.