Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Feb 2015 20:08:33 -0500 (EST)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Beeblebrox <zaphod@berentweb.com>
Cc:        freebsd-net@freebsd.org
Subject:   more re: NFS and diskless: some questions re nfs_diskless.c
Message-ID:  <553358175.3932227.1424048913197.JavaMail.root@uoguelph.ca>
In-Reply-To: <20150215174056.34912959@rsbsd.rsb>

next in thread | previous in thread | raw e-mail | index | archive | help
Beeblebrox wrote:
> I have several questions on implementing the features in
> nfs_diskless.c. Understanding these parameters are necessary to get
> a decent menu-driven (grub2) boot process working for clients.
> 
> 1. <root> for diskless clients get mounted as V2 instead of V3. I
> have defined { boot.nfsroot.options="nfsv3" }, but has no effect.
> Does the kernel need (options BOOTP_NFSV3)?
If you are using the BOOTP + BOOTP_NFSROOT case then, yes, you also
need "options BOOTP_NFSV3" to get it to use NFSv3 instead of NFSv2.
The environment variables (except vfs.root.mountfrom, see below)
are ignored for the BOOTP + BOOTP_NFSROOT case.

> Considering that
> nfs_diskless.c routine checks "get handle size. If this succeeds,
> it's an NFSv3 setup" and {nd3->root_fhsize = len; is_nfsv3 = 1;}
> might there be easier solution?
This executes for the "options NFSROOT" case, not the BOOTP + BOOTP_NFSROOT
one.

> 
> 2. My DHCP server has {option root-path} defined and correctly mounts
> the NFS root. However, I would like to offer amd64/i386 choice from
> menu, which requires different root-path. I therefore plan to remove
> {option root-path} from dhcp.conf and pass nfsroot parameter in the
> boot menu using params ( boot.nfsroot.server="192.168.2.1"  \
>  boot.nfsroot.path="/data/amd64" )
> Yet when I do that, the kernel is booted, NIC goes up but:
>   re0 link state changed to UP
>   Received DHCP Ack packet on re0 from 192.168.2.1 (accepted)
>   DHCP/BOOTP timeout for server 255.255.255.255
> The client is on 192.168.2.0/26 (broadcast is 192.168.2.63), Kernel
> has (options BOOTP/ options BOOTP_NFSROOT). Is there a solution to
> this?
> 
Oh, if the only thing you want to override is the root fs, I think you can
set this environment variable (look at bootpc_init() in sys/nfs/bootp_subr.c)
if you are using the BOOTP + BOOTP_NFSROOT case.
vfs.root.mountfrom

rick

> Regards.
> --
> FreeBSD_amd64_11-Current_RadeonKMS
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to
> "freebsd-net-unsubscribe@freebsd.org"
> 



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