Subject: | |
From: | |
Reply To: | |
Date: | Mon, 24 Sep 2007 17:00:54 +0100 |
Content-Type: | TEXT/PLAIN |
Parts/Attachments: |
|
|
You obviously also need a tftp server so the PXE rom (or etherboot) can
obtain the UNDI stage. I think that some people are using the UNDI
provided as part of some other package (e.g. the Intel one) rather than
the xelinux one which comes with syslinux.
Personally we use dhcp (the isc 3.x version as included in SL3/4/5), with
the standard SL tftpd and syslinux-3.11 (as included in SL5 but we have
used it with SL3/4 as well).
This is of-course not *really* obeying the PXE specs since that requires a
modified dhcp server but the ISC-3 dhcpd can be configured to reply with
enough magic options to get all but the most ancient PXE setups to tftp
over the UNDI which can then fetch it's config and so boot (pretty much)
anything you want...
The magic needed for the dhcpd.conf is something like:
...
# For PXE booting...
option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
...
# match the genuine PXE boot roms
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
# Always include the following lines for all PXELINUX clients
site-option-space "pxelinux";
option pxelinux.magic f1:00:74:7e;
if exists dhcp-parameter-request-list {
# Always send the PXELINUX options
append dhcp-parameter-request-list 208, 209, 210, 211;
}
# These lines should be customized to your setup
option pxelinux.configfile "configs/common";
option pxelinux.pathprefix "/tftpboot/pxelinux/files/";
option pxelinux.reboottime 30;
filename "/tftpboot/pxelinux/pxelinux.bin";
# This marker is replaced by the local hostname
next-server _MYHOST_ ;
}
# match the fake PXE boot roms/floppy
class "etherboot" {
match if substring (option vendor-class-identifier, 0, 13) = "Etherboot-5.3";
# Always include the following lines for all PXELINUX clients
site-option-space "pxelinux";
option pxelinux.magic f1:00:74:7e;
if exists dhcp-parameter-request-list {
# Always send the PXELINUX options
append dhcp-parameter-request-list 208, 209, 210, 211;
}
# These lines should be customized to your setup
option pxelinux.configfile "configs/common";
option pxelinux.pathprefix "/tftpboot/pxelinux/files/";
option pxelinux.reboottime 30;
filename "/tftpboot/pxelinux/pxelinux.bin";
# This marker is replaced by the local hostname
next-server _MYHOST_ ;
}
...
Obviously you don't need to match all the way to Etherboot-5.3 if you are
sure that ther versions work ok, but that happens to be the last etherboot
version we bothered with - since all (well >99%) recent machines support
PXE in rom anyway.
The pxelinux config file can specify many different options (we use it to
allow installs of various setups and booting checkers like memtest+,
disk-checkers, knoppix etc.
There is no need to have magic in the dhcpd.conf to pass ks paramenters
since the syslinug/pxelinux config can specify that, e.g. for SL50 (on
i386) we use an entry like:
label sl50
kernel sl/50/i386/vmlinuz
append initrd=sl/50/i386/initrd.img ks=nfs:instsset.damtp.cam.ac.uk:/local/ssetup/sl/5x/Config/ks/cfg.normal50 noipv6
which works well enough for us - and has done back as far as at least RH8
if not before. It also allows us to just add new test entries with
modified parameters (e.g. non-standard ks parameters) to check things
before we make them the default.
If you are just net-booting the boxes you can arrange to just have it boot
the relevant one and not prompt at all.
--
Jon Peatfield, Computer Officer, DAMTP, University of Cambridge
Mail: [log in to unmask] Web: http://www.damtp.cam.ac.uk/
|
|
|