Date: Sun, 14 Sep 2014 16:40:53 -0600 From: Ian Lepore <ian@FreeBSD.org> To: Alfred Perlstein <alfred@freebsd.org> Cc: arch@freebsd.org Subject: Re: Trouble with freebsd rc system. Message-ID: <1410734453.66615.2.camel@revolution.hippie.lan> In-Reply-To: <54161633.60207@freebsd.org> References: <54161633.60207@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 2014-09-14 at 15:26 -0700, Alfred Perlstein wrote: > 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 A bit further down in run_rc_command, in the start) case, is: check_startmsgs && echo "Starting ${name}." and that output is controlled with rc_startmsgs=yes, which is the default. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1410734453.66615.2.camel>