Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Sep 2014 15:26:59 -0700
From:      Alfred Perlstein <alfred@freebsd.org>
To:        arch@freebsd.org
Subject:   Trouble with freebsd rc system.
Message-ID:  <54161633.60207@freebsd.org>

next in thread | raw e-mail | index | archive | help
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







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54161633.60207>