booting PXE image with a menu

Alain Knaff alain at knaff.lu
Tue Mar 2 22:18:42 CET 2004


begin  Monday 01 March 2004 20:59, Donald Teed quote:
> An existing Windows PXE Server provides a numbered menu which
> can be used to select a specific boot image.  However it is
> not very robust.
>
> I'm wondering if anyone has encountered something similar for
> Linux (DHCP + TFTP).
>
> My idea is that a number of imaging types of tasks could be
> prepared with different initrd's from castomatic, and
> some initial boot loader could present the options in
> an easy to understand menu.
>
> Something like this:
>
> 1. Sender for full hard disk
> 2. Sender for Windows partition
> 3. Sender for Linux partition
> 4. Receiver for full hard disk
> 5. Receiver for Windows partition
> 6. Receiver for Linux partition
>
> udpcast is working very well in our smoke test with 20 machines.
> I really like the cast-o-matic PXE initrd generator. Pretty slick!
>
> --Donald Teed


That's easy:

1. Using cast-o-matic (or a local makeImage) make an initrd that has
everything preconfigured except disk partition, and send/receive mode.

2. In /etc/dhcpd.conf you set the following (in case you haven't this
yet):

class "pxe" {
   match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
   filename "udpcast/pxelinux.0";  # Uncomment
}

3. Place your linux and initrd files, and syslinux's pxelinux.0 under
/tftpboot/udpcast

4. Put the attached example into your into your
/tftpboot/udpcast/pxelinux.cfg/default file
The example assumes that you have Windows on /dev/hda1 and Linux on
/dev/hda2. Adapt as appropriate
(The idea is that you supply on the kernel command line those
parameters that are _not_ set in the initrd . Actually it would be
more elegant to supply _all_ parameters on the kernel command line,
but unfortunately the kernel only seems to take the first 6 params
into account...)


5. Put the attached message file into /tftpboot/udpcast/message

Alain


-------------- next part --------------
label 0
  localboot 0

label 1
  kernel linux
  append initrd=initrd disk=/dev/hda umode=snd auto=yes 

label 2
  kernel linux
  append initrd=initrd disk=/dev/hda1 umode=snd auto=yes 

label 3
  kernel linux
  append initrd=initrd disk=/dev/hda2 umode=snd auto=yes 

label 4
  kernel linux
  append initrd=initrd disk=/dev/hda umode=rcv auto=yes 

label 5
  kernel linux
  append initrd=initrd disk=/dev/hda1 umode=rcv auto=yes 

label 6
  kernel linux
  append initrd=initrd disk=/dev/hda2 umode=rcv auto=yes 

implicit	0
display		message
prompt		1
timeout		0
-------------- next part --------------

0. Boot from local hard disk
1. Sender for full hard disk
2. Sender for Windows partition
3. Sender for Linux partition
4. Receiver for full hard disk
5. Receiver for Windows partition
6. Receiver for Linux partition




More information about the Udpcast mailing list