reload rc.conf during boot process

Giorgos Keramidas keramida at ceid.upatras.gr
Tue Sep 21 06:25:03 PDT 2004


On 2004-09-21 14:18, Markie <mark.cullen at dsl.pipex.com> wrote:
> "Giorgos Keramidas" <keramida at ceid.upatras.gr> wrote:
> | > After running my program in the rc.d mount script I then did a
> | >
> | > . /etc/rc.conf
> | >
> | > but rc.conf doesn't get reloaded.
> |
> | The /etc/rc script is a ``driver script'' that loads rc.conf before teh
> | mount script has a chance to run.  Even if you reload rc.conf in the
> | mountd script this cannot affect the parent process that runs /etc/rc.
>
> Oh I think I see what you're saying, it's kind of like variable scope,
> right? When I do . /etc/rc.conf in mountcritlocal that's loading the file,
> but only for that script? It's not actually replacing the variables at all,
> right?

They're environment variables and that's how environment variables work in
UNIX.  Environment variables can be changed in a process and this will affect
all the processes spawned off by the one with the changed environment but it
won't affect processes higher up the hierarchy.

The `/etc/rc' script starts `/etc/rc.d/mountd' after setting some of these
variables (by running . /etc/rc.conf as usual).  The mountd process inherits
the environment of /etc/rc and can make changes to its environment as much as
it wants.  The changes don't affect the parent process (the /etc/rc
invocation).

> I saw load_rc_config 'XXX' in early.sh or something, just a minute ago!
> Does the XXX do anything?

Not much.  It's just a placeholder to shuttup the checks near the beginning of
`load_rc_config'.  Passing an invalid `command name' to load_rc_config lets us
load /etc/rc.conf and any other config file listed in "$source_rc_confs"
without having to re-invent load_rc_config every time.

> I don't actually have rc.conf.d either, as far as I can tell?

This shouldn't be a problem.  Don't worry about it.

> My idea was so I could try out FreeBSD on my laptop and keep it usable on
> the University network, [...]

Yeah, I figured it was something of this sort :)

- Giorgos



More information about the freebsd-questions mailing list