Re: pxeboot and /boot filesystem, share /boot/kernel



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.


look in rc.initdiskless, you'll see there the solution.
if you mount unionfs /etc, you can have a /(root) mounted read-only.
unless there is something I don't see, there is no real reason to separate
/ from /usr.

danny




_______________________________________________
freebsd-hackers@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: [00/41] Large Blocksize Support V7 (adds memmap support)
    ... kernel and already must have fallbacks.... ... I don't agree with using higher order pages to fix SLUB vs SLAB performance ... as well as something the filesystem people recommend to get good coverage ...
    (Linux-Kernel)
  • kernel BUG at mm/slab.c:610
    ... I'm experimenting this kernel panic on 3 different ... I don't think this is related to buggy hardware ... Filesystem "hda1": Disabling barriers, not supported by the ... # ACPI Support ...
    (Linux-Kernel)
  • Re: [RFC][PATCH] VFS: update documentation (take #2)
    ... > filesystem interface to userspace programs. ... > abstraction within the kernel which allows different filesystem ... > a pointer to the dentry and a set of file operation member functions. ... called when the VFS needs to get filesystem statistics. ...
    (Linux-Kernel)
  • kernel BUG at mm/slab.c:607 in 2.6.19.1
    ... kernel message event are written to /var/log/syslog). ... Allocating PCI resources starting at 10000000 ... Filesystem "hda1": Disabling barriers, ... EIP is at free_block+0xe2/0x100 ...
    (Linux-Kernel)
  • Re: booting without initrd
    ... One important job of the initrd is to load ... drivers which aren't compiled directly into the base kernel image. ... may be a good exercise to learn about the kernel/root filesystem startup; ... grub gets confused when you use the vmalloc and mem kernel parameters. ...
    (comp.os.linux.setup)