RFC - per-host configuration of pxe booting
Danny Braniss
danny at cs.huji.ac.il
Sat Nov 22 02:59:22 PST 2008
> 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
More information about the freebsd-current
mailing list