Setting up the bootloader on a media

The bootloader of udpcast version uses busybox.

The udpcast boot loader can be started in 5 different ways:

Udpcast also has a boot image generator, which should make it easy to upgrade to new kernels, when new cards, drivers, etc. come out.

The bootloader has a menu system that guides you through the various choices, and finally launches udcpast.

The menu system may be preconfigured (default choices, automatic starting) using a file on the boot media.

Downloadable boot images

The CD image

Burn it on CD as follows:
cdrecord dev=1,0,0 speed=4 udpcd.iso

The Etherboot image

Make a /tftpboot/udpcast directory on the boot server, and store the file in there. Then include the following text into your Dhcp configuration (either directly into the subnet section, or in the section for the specific workstation):

filename "udpcast/udpetherbt.img";
option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
next-server 10.0.0.1;
(replace 10.0.0.1 with the IP of your TFTP server).

PXE images

Make a /tftpboot/udpcast directory on your TFTP server, and place the following files in there (with the exception of the config file, which goes into a pxelinux.cfg subdirectory).

Then, add the following to your dhcp.conf:

filename "udpcast/pxelinux.0";
next-server 10.0.0.1;

Installing udpcast on a floppy

You may also generate a custom floppy disk using cast-o-matic with just the modules that you need. Install the resulting image on floppy as follows:
cat udpflop.img >/dev/fd0

The menu system

During the whole process alert boxes may pop up. If they are grey, they contain informational messages only, if they are red, they mean an error or abnormal condition.

For expert users, it's possible to press Alt+F2, Alt+F3, Alt+F4 to get a shell. There are unfortunately not many commands installed on the floppy version, except gzip, tar, mount, umount, modprobe and insmod. Sorry, space constraints on the floppy version.

The CD and netbootable versions are more fully featured, and include a shell with command line completion, a telnet client, wget, tftp, vi, as well as many common shell tools (cp, mv, ...). With these, the udpcast disk may double as a rescue disk.

The following virtual consoles are available:

The configuration file

The easyest way to obtain a configuration file is to boot from floppy, save the config when asked for, and then just copy the config file (udpcfg.txt) over to the other media.

However, you can also make it manually.

parameter explanation
auto If this is set to yes, everything happens automatically. The dialog only stops if an error occurs, or if a parameter is missing. If on the other hand auto is set to no, the user is prompted for all choice, but the choice from this file is pre-selected.
lang The language. Supported are US (English), DA (Danish), DE (German) and FR (France).
kbmap The keyboard map. Supported are US, SG (Swiss German), BE (Belgian), FR (French) and DE (German). Sorry for these "weird" choices, those are just the keyboard types that are popular here in Luxembourg (Luxembourg doesn't have an own mapping...)
netmodule The name of the network module chosen. If this is AUTO, use the first autodetected PCI module
netmodparm Network module parameters
dhcp If yes, configure IP with DHCP. If no, the config file should also contain an ip and netmask parameter
ip Ip address of client. Ignored if dhcp is yes
netmask Netmask. Ignored if dhcp is yes
port TCP port that udpcast should use
enableDiskmodule if yes, enable disk module (SCSI or SATA driver), if no disable it. If not set, prompt user
diskmodule The name of an optional disk module (for SCSI or SATA).
diskmodparm Disk module parameters
disk disk to be cloned
compr none for no compression, gz for compressed operation using gzip, lzop for compressed operation using lzop
umode rcv for receiver, and snd for sender
udpcparam any free-form command line parameters for udpcast

Example:

auto=yes
lang=US
kbmap=US
netmodule=pcnet32
netmodparm=
dhcp=yes
port=9000
disk=/dev/hda
mode=0
udpcparam=

Editing the config file manually allows to do interesting things. For instance, if you just delete the mode parameter, and leave everything else, you get a disk which does everything automatic, except to ask whether to send or receive.

Note: you can also pass the parameters that would normally go into the config file as kernel parameters. This is especially handy in the case of a boot via PXE, where the kernel parameters are in an easily accessible text file.

The config file may be either:

You may of course also use cast-o-matic which does all of this automatically for you.

Undulatus Asperatus Clouds