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
having.

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.)

Dave

-- 
David Young             OJC Technologies
dyoung%ojctech.com@localhost      Urbana, IL * (217) 278-3933


Home | Main Index | Thread Index | Old Index