Trouble with freebsd rc system.
Alfred Perlstein
alfred at freebsd.org
Sun Sep 14 22:26:22 UTC 2014
Hey folks,
We are building an appliance based on FreeBSD.
One of the issues we have is that during development we need to know
which rc script we are in during boot so that if something is hanging or
otherwise misbehaving we know which script it is.
I am contemplating this hack to /etc/rc.subr's run_rc_command() method:
run_rc_command()
{
_return=0
rc_arg=$1
if [ -z "$name" ]; then
err 3 'run_rc_command: $name is not set.'
fi
# Don't repeat the first argument when passing additional command-
# line arguments to the command subroutines.
#
shift 1
rc_extra_args="$*"
echo "===> $name $rc_arg"
As you can see I've added the call to echo so we know where we are.
This is somewhat suboptimal because we really only want that output
during startup.
So a few questions:
1. Is there a way to know we are booting when inside of
/etc/rc.subr:run_rc_command() ?
2. Is there a magic thing I'm missing that does what I want (output
which /etc/rc.d/ script I am about to run)?
3. How would I make a knob to turn off the "echo" so that I can
contribute this back to FreeBSD without getting into a bikeshed on
bootup messages.
Kindly please advise.
-Alfred
More information about the freebsd-arch
mailing list