Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jan 2013 06:35:54 -0700
From:      Ian Lepore <ian@FreeBSD.org>
To:        "Eggert, Lars" <lars@netapp.com>
Cc:        Craig Rodrigues <rodrigc@crodrigues.org>, "freebsd-current@freebsd.org" <freebsd-current@FreeBSD.org>
Subject:   Re: mounting root from NFS via ROOTDEVNAME
Message-ID:  <1359552954.93359.224.camel@revolution.hippie.lan>
In-Reply-To: <D4D47BCFFE5A004F95D707546AC0D7E91F69BF73@SACEXCMBX01-PRD.hq.netapp.com>
References:  <D4D47BCFFE5A004F95D707546AC0D7E91F671642@SACEXCMBX01-PRD.hq.netapp.com> <CAG=rPVergKVKUO=VySvM65WPJO_Od1tkWvx45tM_sEyO65mwUg@mail.gmail.com> <19F92E0C-F004-4F16-A5FC-A10DF84BDCCF@netapp.com> <D4D47BCFFE5A004F95D707546AC0D7E91F674CDE@SACEXCMBX01-PRD.hq.netapp.com> <CAG=rPVezTjcTp_AXsOMWYCSM1_xFJDvmUwdguHdZBABanGGrxw@mail.gmail.com> <D4D47BCFFE5A004F95D707546AC0D7E91F69BF73@SACEXCMBX01-PRD.hq.netapp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2013-01-30 at 09:32 +0000, Eggert, Lars wrote:
> Hi,
> 
> On Jan 29, 2013, at 20:22, Craig Rodrigues <rodrigc@crodrigues.org> wrote:
> > What kind of architecture are you trying to do this on?  Is this
> > i386/amd64 or something else?
> 
> amd64
> 
> >  I am not familiar with netboot compared to
> > PXE.  Is TFTP involved at all with netboot?
> 
> TFTP is not involved. The kernel gets booted by our custom loader (over HTTP) and the root FS is supposed to be mounted over NFS.
> 
> > What does your dhcpd configuration file look like?
> 
> Completely standard, with the addition of a "root-path" option. (Which I would like to get rid of by setting ROOTDEVNAME in the kernel.)
> 
> > Also, are you using the FreeBSD loader, or something else?  What kinds of
> > customizations have you done on the loader?
> 
> Custom loader. 
> 
> > If through your setup you have already managed to load the kernel over
> > the network, then a lot of the hard work has been done.  Telling the kernel
> > where the root file system is located becomes the next tricky part.
> 
> Right, that's the step I am struggeling with. 
> 
> > In src/sys/boot/common/boot.c which is part of the loader (not the kernel),
> > if you look in the getrootmount() function,
> > you will see that the loader will try to figure out where the root file
> > system
> > is by parsing /etc/fstab, and looking for the "/" mount.
> > 
> > So, if your kernel is located in:
> > 
> >       /usr/home/elars/dst/boot/kernel/kernel
> > 
> > Then create a file /usr/home/elars/dst/etc/fstab file with something like:
> > 
> > # Device                                         Mountpoint    FSType
> > Options  Dump Pass
> > 10.11.12.13:/usr/home/elars/dst/       /         nfs      ro        0    0
> 
> Thanks, will try that!
> 
> > Alternatively, if you don't want to create an /etc/fstab file, then
> > you could put something like this in your loader.conf file:
> > 
> > vfs.root.mountfrom=nfs:10.11.12.13:/usr/home/elars/dst
> 
> Will try that too, but not sure if this works with our custom loader.
> 
> Lars
> 
> > 
> > If you can get this to work without introducing new kernel options,
> > that would be ideal, because the kernel options you are
> > enabling are triggering behaviors.
> > 

Just FYI, I believe the current behavior of BOOTP and BOOTP_NFSROOT is a
bug, and I've entered a PR for it 

  http://www.freebsd.org/cgi/query-pr.cgi?pr=175671

I also put a little effort into changing the behavior so that BOOTP
without BOOTP_NFSROOT gets you an address and then moves on to use the
ROOTDEVNAME you have configured, but I didn't have any success yet (it
stays stuck in the state of waiting for the root path).  I intend to get
back to it after wrapping up some other work, if someone else doesn't
get to it first.

-- Ian





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