Re: dhclient existing when run early in startup

From: Kevin Oberman <oberman_at_es.net>
Date: Mon, 20 Feb 2006 20:53:24 -0800
> Date: Mon, 20 Feb 2006 18:37:50 -0800
> From: Brooks Davis <brooks_at_one-eyed-alien.net>
> 
> 
> --qMm9M+Fa2AknHoGS
> Content-Type: text/plain; charset=us-ascii
> Content-Disposition: inline
> Content-Transfer-Encoding: quoted-printable
> 
> On Mon, Feb 20, 2006 at 05:20:29PM -0800, Kevin Oberman wrote:
> > I have a script (Tobias Roth's profile) that runs right after root is
> > mounted r/w. With the new OpenBSD dhclient, it fails completely. If I
> > run it later (after the system is up), it works fine.
> > 
> > The only messages I get are:
> > chroot
> > exit;
> > 
> > Any idea what is causing this and if there is a work-around other than
> > ISC dhclient?
> 
> I really don't have any idea where to start debugging this.  Can you
> verify that profile runs before netif?  If it doesn't, profile is
> probably messing with the interface in an unsupported way and killing
> dhclient.  With the base doing a better job of supporting dynamic
> configuration, we're diverging more and more from the 4.x model profile
> is based on so it's going to be increasingly difficult to make it work
> without major rewrites.

I should have spent a bit longer looking at the sources before posting
the question.  Sorry.

I think I've got it, but I won't be able to test it until tomorrow.

profile.sh wants to run as early as possible as it allows you to pick a
different set of files in /etc depending on where you are. It runs after
root and before mountcritlocal. If you run a startup script before
mountcritlocal, you don't have /var/empty and the chroot(_PATH_VAREMPTY)
fails, printing out the less than useful "chroot" message. 

BTW, profile was originally written for V5 as it needs RCng to do many
of its things for suspend and resume. (I am not positive that Tobias
didn't have a V4 version of it, but I don't think so and the code would
have had be have been almost totally re-written.)

profile.sh runs when there is really not much system to work with. I
modified the script to create /var/empty and then clean it up. It
already creates a config file in /var and specifies that the lease file
goes into /var, as well. (Of course, at this point /var is just a
directory; not a mountpoint.)

I'll try it tomorrow morning and see if it's working.

Thanks for the reply, Brooks!
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman_at_es.net			Phone: +1 510 486-8634
Received on Tue Feb 21 2006 - 03:53:29 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:52 UTC