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>