Replacing rc(8) (Was: FreeBSD Boot Times)

Wojciech Puchar wojtek at wojtek.tensor.gdynia.pl
Thu Jun 21 10:22:14 UTC 2012


Lets make a summary.

What functionality would be good to have in FreeBSD that doesn't exist:

1) "runlevels" with arbitrary names. runlevel change would start and stop 
right services.
2) exploit startup parallelism.


What we do not want to change:

- file structure which is simple. one file in rc.d/ per service and one 
global config file (rc.conf)
- anything else that would make things more complicated.


As for

1) i propose in rc.conf an option to put "NO", "YES" (or ALL) or runlevel 
list for each service or runlevel exclusion list for service.


examples:

service1_enable="YES"
service2_enable="NO"
service3_enable="foolevel maintenance"
service4_enable="YES -foolevel" (or ALL -funkyrunlevel)

name of default runlevel may be "full" or "multiuser"

service 1 will always work, service 2 never, service 3 only at runlevels 
"foolevel" and "maintenance", service4 with any runlevel except 
"foolevel".

still single rc.conf, not much bigger in practice.

2) no change in rc.d/* scripts and rc.conf, but change in scripts.


If everyone agree i think i may write this new scripts.


More information about the freebsd-hackers mailing list