Re: RFC - per-host configuration of pxe booting

From: Danny Braniss <danny_at_cs.huji.ac.il>
Date: Sat, 22 Nov 2008 12:59:20 +0200
> On Sat, 22.11.2008 at 02:23:51 +0100, Luigi Rizzo wrote:
> > The goal of this email is to figure out how to load host-specific
> > configurations from pxeboot -- maybe as simple as loading
> > /boot/loader.conf.${hostname} and possibly something slightly more
> > flexible that allows me to define machine 'classes' (e.g. based on
> > similar hardware configurations etc.).
> > 
> >     loader_conf_files="/boot/device.hints /boot/device.hints.${dhcp.host-name} /boot/loader.conf /boot/loader.conf.${dhcp.host-name}"
> > 
> > It might be useful to let dhcp pass more parameters to pxeboot
> > so e.g. we can expand it to a 'machine class' which can be used
> > for multiple machines. This should be relatively trivial to impelemnt,
> > but it requires modifications to the pxeboot binary -- no big deal
> > since this is something centralized.
> 
> Hi Luigi,
> 
> while the dhcp host-name is a good start, you should definitely add a
> dhcp class-name (vendor-class-identifier) to make it useful for booting
> a whole range of thin clients, for example.

the bootp.c in
	ftp://ftp.cs.huji.ac.il/users/danny/freebsd/diskless-boot
sets it to
	FreeBSD
and so in dhcpd.conf:

class "freeBSD" {
        option FBSD.kernel "kernel";
        match if substring (option vendor-class-identifier, 0, 7) = "FreeBSD";
        option root-path "132.65.16.52:/vol/binary/bsd/amd64/7.0";
        vendor-option-space FBSD;
        option FBSD.rc-conf "conf/rc.conf";
	# the following only works if server is FreeBSD
        #option FBSD.boot-nfsroot-options "nfsv3";
}
...
and

group { # fbsd-6.1-bsd-i386-u
        filename "freebsd/pxeboot";
        option root-path "132.65.16.112:/d/3";
        option FBSD.conf-path="fr-01:/vol/system/share/conf";
        option FBSD.rc-conf0 "rc.conf";
        option FBSD.rc-conf2 "rc.conf-6";
        option FBSD.rc-conf4 "rc.conf-6.1";

        host wrap-3 {
                fixed-address wrap-3;
                hardware ethernet 00:0D:B9:04:C3:9C;
                #filename "freebsd/kernel.wrap";
                filename "freebsd/pxeboot-r";
                option root-path "132.65.16.112:/d/2";
        }
...
}

danny
Received on Sat Nov 22 2008 - 09:59:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:37 UTC