C.4. Prepare a network install floppy diskette

The Red Hat Linux web site has a floppy diskette image for a network installation. For Red Hat Linux 7.1 the image is ftp://ftp.redhat.com/pub/redhat/linux/7.1/en/os/i386/images/bootnet.img.

Install this image on a floppy disk.

bash# mkfs -t msdos -c /dev/fd0
mkfs.msdos 2.2 (06 Jul 1999)
bash# dd if=bootnet.img of=/dev/fd0 bs=1440k
1+0 records in
1+0 records out
bash# sync

Now mount the diskette and check that the installer files are present.

bash# mount -t vfat /dev/fd0 /mnt/floppy
bash# ls /mnt/floppy
boot.msg    general.msg  ldlinux.sys  rescue.msg    vmlinuz
expert.msg  initrd.img   param.msg    syslinux.cfg

This floppy disk uses the SYSLINUX boot loader which was discussed in Section 4.3 and in Section 5.3. Firstly, we alter the boot loader configuration file /mnt/floppy/syslinux.cfg to use the serial port. If you are going to use the vi editor to alter this file, use the -n option to avoid writing a swap file to the floppy disk.

bash# vi -n /mnt/floppy/syslinux.cfg
serial 0 9600

Secondly we add a new boot option. This is modeled upon the other boot options in the file. Our variant passes the serial console parameters to the kernel, the same parameters that we pass during normal operation when using serial console. "serial" seems an appropriate name for the boot option.

label serial
 kernel vmlinuz
 append initrd=initrd.img lang= text serial expert devfs=nomount console=ttyS0,9600n8

text, serial and expert are parameters to the Red Hat anaconda installer. Specifying text ensures that the graphical installer does not start. Specifying serial prevents scans for possibly non-existent video hardware. You will need to run Xconfigurator manually if you do have a video card. Specifying expert allows all the configuration options to be seen, giving one floppy image that can be used for all purposes.

Thirdly, we make this new configuration start automatically. As there is no-one at the site, there's no need to issue a boot: prompt.

default serial
prompt 0

Fourthy, we write the new configuration to diskette.

bash# umount /mnt/floppy

Check that the diskette boots. If it does not then write a new boot sector by downloading and running the most recent SYSLINUX.

bash# syslinux /dev/fd0

Finally, create a new boot image for copying to the computers to be upgraded.

bash# dd if=/dev/fd0 of=bootserialnet.img bs=1440k
1+0 records in
1+0 records out

If you test the new boot floppy on a machine with a serial console you should briefly see SYSLINUX booting

SYSLINUX 1.52 2001-02-07  Copyright (C) 1994-2001 H. Peter Anvin

and then presenting the boot.msg file and then the Linux kernel should be loaded

Loading initrd.img..............
Loading vmlinuz............. ready.

and run.

Linux version 2.4.2-2BOOT (root@porky.devel.redhat.com) (gcc version 2.96 200001

Next the init system flashes by

Red Hat install init version 7.0 starting
mounting /proc filesystem... done
mounting /dev/pts (unix98 pty) filesystem... done
Red Hat install init version 7.0 using a serial console
remember, cereal is an important part of a nutritionally balanced breakfast.
checking for NFS root filesystem...no
trying to remount root filesystem read write... done
checking for writeable /tmp... yes
running install...
running /sbin/loader

before the installation application, called anaconda, is started

Welcome to Red Hat Linux
+----------+ Devices +-----------+
|                                |
| Do you have a driver disk?     |
|                                |
|    +-----+          +----+     |
|    | Yes |          | No |     |
|    +-----+          +----+     |
|                                |
|                                |
<Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen

There does not seem to be a way to access the function keys, fortunately the user interface does not require their use.

Now that the floppy has been tested, eject the disk and reboot the machine into normal operation.