tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: make module loading by boot installboot patchable?

On Tue, Dec 22, 2009 at 10:31:08PM +0100, Matthias Drochner wrote:
> If one drops a new "pxeboot" loader into an existing diskless
> boot installation it fails completely.

I have also found that certain fragile (but previously reliable)
diskless configurations will fail in the modular regime.

> So to make a diskless system boot unattended and reliably,
> module loading needs to be disabled for pxeboot in the standard
> case.

This may not be the only or best way to solve the problem you are

If you're booting with the help of a DHCP server, you probably have some
configuration like this in your dhcpd.conf:

        if substring(option vendor-class-identifier, 0, 19) =
           "NetBSD:i386:libsa" {


        } elsif substring(option vendor-class-identifier, 0, 9) =
                   "PXEClient" {
                filename "pxeboot_ia32.bin";

IIRC, in a "legacy" configuration, the configuration at "..." does not
switch on the "filename" parameter, but it always sends a kernel path.
Today, the bootloader requests either boot.cfg, a kernel, or a kernel
module, but the DHCP server always sends a kernel path because of the
legacy configuration.

I think that if the bootloader requests the kernel using the class
identifier "NetBSD:i386:libsa", as always, but requests all other files
using a versioned class identifier such as "5-NetBSD:i386:libsa", then
a legacy configuration can continue to work.  (The version number has
to go at the front of the class identifier, since legacy configurations
only look at the first 19 characters.)


David Young             OJC Technologies      Urbana, IL * (217) 278-3933

Home | Main Index | Thread Index | Old Index