Creating SUSE Linux Boot ISO Files

Introduction

One of the fastest ways to install Linux is to use a network installation source. Modern 100Mb and faster networks can transfer data many times faster than a CD-ROM/DVD. In addition with a CD-ROM/DVD based installation you will mostly likely have to be physically present to swap the media.

Once a network installation server has been configured, the network install must be initiated on the client. This is normally done by booting off of boot media.

Both SLES/SL and RHEL/FC come with images for creating boot media.

RHEL/FC ships with:

  • boot.iso (5MB)
  • diskboot.img (6MB)

The first file is meant to burned to a CD-R, while the second file is meant to be used on a bootable USB thumb drive. Either can be used to initiate the install.

While SLES/SL ships with the following floppy images (all 1.44MB in size):

  • bootdsk1
  • bootdsk2
  • bootdsk3
  • modules1
  • modules2
  • modules3
  • modules4
  • modules5

To initiate a network boot, at a minimum three floppies will have to be created: bootdsk1, modules3, modules4.

Needless to say, it is very time consuming to create and then boot off of the floppies to initiate a network install. Here at Guru Labs, within our classrooms, and around the office we are often performing network installations. When we first started offering SUSE Linux courses we quickly realized that the floppy boot method was not going to be a workable method.

Here we document how to create a boot.iso for SUSE Linux so that a single CD-R can be used to initiate a network installation quickly, and easily.

Generating the boot.iso file

To create a boot.iso file, the Linux kernel along with the initial RAM disk and a CDROM boot loader are required. Fortunately, SLES/SL has all the needed files on the first CDROM under the /boot/loader directory.

Mount the first CDROM on an existing Linux system, and then change to that directory, for example:

# cd /media/cdrom/boot/loader

Then use the mkisofs command to generate a boot.iso image file from the required files with the following command (all on one line):

# mkisofs -o /tmp/SUSELinux-boot.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .

After a moment, the desired file will be created at /tmp/SUSELinux-boot.iso.

Burning the image

The image can then be burned disc using the command (all on one line):

# cdrecord dev=/dev/hdc -v -eject /tmp/SUSELinux-boot.iso

Substitute the appropriate path to the CD-R burner as needed.

Taking it further

At Guru Labs, one of our philosophies is to get as much work done with the least amount of effort. In that line of thought, the easiest way to initiate the install is to use network PXE boot. This is the easiest as it requires no boot media at the client, however, this requires non-trivial extra configuration on the DHCP server as well as configuration and proper population of a TFTP server.

Both RHEL/FC and SLES/SL offer automated hands-free installation modes via Kickstart and AutoYaST. Combined with PXE, the ultimate easy and fast Linux deployment environment can be created.

The GL250 Enterprise Linux Systems Administration course has a very in depth detailed coverage of these topics.