Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Jul 2007 21:36:41 +0200
From:      Bernd Walter <ticso@cicely12.cicely.de>
To:        Martin Cracauer <cracauer@cons.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: pxeboot and /boot filesystem, share /boot/kernel
Message-ID:  <20070701193640.GW50157@cicely12.cicely.de>
In-Reply-To: <20070701181334.GA77427@cons.org>
References:  <20070701181334.GA77427@cons.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jul 01, 2007 at 02:13:34PM -0400, Martin Cracauer wrote:
> I want to tighten up my spaces for diskless machines and I came across
> this puzzle with pxeboot:
> 
> I can share /usr and most other filesystems, but my individual roots
> for the machine each have to have the full kernel.  But /boot/kernel
> is rather large these days and totally identical, so I'd rather share
> it.
> 
> %%
> 
> You can only specify a root filesystem location via the dhcp options.
> Then, whatever kernel is there in location:/boot/kernel (or rather,
> loader.rc) will be booted, which will then pick up the / filesystem
> via location:/etc/fstab.
> 
> This is not quite what I want, because I want /boot/kernel to be
> shared, purely for filesize reasons.  But I can't specify a separate
> /boot filesystem.  I can't find an easy way to share /boot but not
> share /.
> 
> Or in other words, the core of the problem is that I want to share
> /boot/kernel but not share /etc/fstab.
> 
> %%
> 
> So, while writing this mail it occured to me that what I can do is put
> a /boot/loader.rc on the individual / filesystems that then redirects
> to a common kernel location.  But I don't see how I can make this work
> as I do not have the option to point to a new NFS mount in
> /boot/loader.conf, or do I?
> 
> So what I would want is (on the server):
> /diskless-usr/
> /diskless-kernel/ [has /boot/kernel/ in it]
> /diskless/root1/  [has /boot/loader.conf in it]
> /diskless/root2/
> 
> DHCP "root-path" is then addr:/diskless/root1
> 
> Where
>   /diskless/root1/boot/loader.conf 
> specifies
>   addr:/diskless-kernel/boot/kernel/kernel
> instead of just a filename.
> 
> Now, the question is how do I make loader.4th able to mount NFS or use
> tftp?
> 
> %%
> 
> I think I have three paths to go here:
> 
> 1) make pxeboot understand a separate "boot-path" dhcp option.
> 
> 2) make loader.4th able to use NFS or tftp.  IP is already up by the
>    time it is started.
> 
> 3) only share /boot/kernel/kernel and share a NFS mount for the
>    modules, but that's very messy.

4) Use different / on the same server filesystem with hardlinked /boot.

5) Use two / - one common for booting and a client specific.
   loader.rc in common will overwrite rootfs.
   But I'm unshure if you can get host specific data, e.g. MAC from net
   interface.

6) Don't install *.symbols and live with multiple file space usage for
   the rest.

-- 
B.Walter                http://www.bwct.de      http://www.fizon.de
bernd@bwct.de           info@bwct.de            support@fizon.de



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