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

Michael Ross gmx at ross.cx
Thu Jun 21 10:48:53 UTC 2012


Am 21.06.2012, 12:22 Uhr, schrieb Wojciech Puchar  
<wojtek at wojtek.tensor.gdynia.pl>:

> 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.


Nicely thought. Count me in for testing.

Do you think it would be possible to have something along the lines of

    ifconfig_em0="inet ..."   ( default (or unknown) runlevel )
    ifconfig_em0_foolevel="inet ..." ( foolevel runlevel )
    ifconfig_em0_maintenance="inet ..." ( maintanence runlevel )

too ?


Michael


More information about the freebsd-hackers mailing list