5.1. Booting the Installer on IA-64

5.1.1. Booting from a CD-ROM

The easiest route for most people will be to use a set of Debian CDs. If you have a CD set, and if your machine supports booting directly off the CD, great! Simply insert your CD, reboot, and proceed to the next chapter.

Note that certain CD drives may require special drivers, and thus be inaccessible in the early installation stages. If it turns out the standard way of booting off a CD doesn't work for your hardware, revisit this chapter and read about alternate kernels and installation methods which may work for you.

Even if you cannot boot from CD-ROM, you can probably install the Debian system components and any packages you want from CD-ROM. Simply boot using a different media, such as floppies. When it's time to install the operating system, base system, and any additional packages, point the installation system at the CD-ROM drive.

If you have problems booting, see Section 5.3, “Troubleshooting the Install Process”.

CD Contents

There are three basic variations of Debian Install CDs. The Business Card CD has a minimal installation that will fit on the small form factor CD media. It requires a network connection in order to install the rest of the base installation and make a usable system. The Network Install CD has all of the packages for a base install but requires a network connection to a Debian mirror site in order to install the extra packages one would want for a complete system . The set of Debian CDs can install a complete system from the wide range of packages without needing access to the network.

The IA-64 uses the next generation Extensible Firmware Interface (EFI) from Intel. Unlike the traditional x86 BIOS which knows little about the boot device other than the partition table and Master Boot Record (MBR), the EFI can read and write files from FAT16 or FAT32 formatted disk partitions. This simplifies the often arcane process of starting a system. The system boot loader and the EFI firmware that supports it have a full filesystem to store the files necessary for booting the machine. This means that the system disk on an IA-64 system has an additional disk partition dedicated to the EFI instead of the simple MBR or boot block on more conventional systems.

The Debian CD contains a small version of the EFI partition where elilo, its configuration file, the installer's kernel, and initial filesystem (initrd) are located. The running system also contains an EFI partition where the necessary files for booting the system reside. These files are readable from the EFI Shell as described below.

Most of the details of how the elilo actually loads and starts a system for the most part transparent to the system installer. However, the installer must set up an EFI partition prior to installing the base system. Otherwise, the installation of elilo will fail, rendering the system un-bootable. The EFI partition is allocated and formatted in the partitioning step of the installation prior to loading any packages on the system disk. The partitioning task also verifies that a suitable EFI partition is present before allowing the installation to proceed.

5.1.1.1. Booting from the EFI Shell

The EFI Boot Manager is started as the last step of the firmware initialization. It displays a menu list from which the user can select an option. Depending on the model of system and what other software has been loaded on the system, this menu may be different from one system to another. In any event, there should be one option called EFI Shell [Built-in]. Boot the Debian Installer CD with the following steps:

  • Insert the CD in the DVD/CD drive.

  • Select EFI Shell from the menu. The EFI Shell will read all of the bootable devices and display them to the console before displaying its command prompt. The recognized bootable partitions on devices will show a device name of fsn:. All other recognized partitions will be named blkn:. If you inserted the CD just before entering the shell, this may take a few extra seconds as it initializes the CD drive.

  • Examine the output from the shell looking for the CDROM drive. It is most likely the fs0: device although other devices with bootable partitions will also show up as fsn.

  • Enter fsn: to select that device where n is the partition number for the CDROM. The shell will now display the partition number as its prompt.

  • Enter elilo. This will start the boot loader. elilo will display its prompt and wait for a kernel name to load. It will pick the default kernel if it receives no input within the timelimit (~20 seconds).

  • Select a boot option, typically linux or linux26. Simply press Enter or wait for the timeout to take the default. It will display messages as it uncompresses the kernel and loads and uncompresses the initial root filesystem.

These steps start the installer kernel. You can also enter the shorter fsn:elilo command at the shell prompt. Once the kernel finishes its initialization along with the usual console messages, it will start the Debian Installer.

5.1.2. Booting with TFTP

Booting an IA64 system from the network is similar to a CD boot. The only difference is how the installation kernel is loaded. The EFI Boot Manager can load and start programs from servers on the network. Once the installation kernel is loaded and starts, the system install will proceed thru the same steps as the CD install with the exception that the packages of the base install will be loaded from the network rather than the CD drive.

Booting from the network requires that you have a network connection and a TFTP network boot server (DHCP, RARP, or BOOTP).

The installation method to support network booting is described in Section 4.3, “Preparing Files for TFTP Net Booting”.

Network booting an ia64 system requires two architecture-specific actions. On the boot server, DHCP and TFTP must be configured to deliver elilo. On the client a new boot option must be defined in the EFI boot manager to enable loading over a network.

5.1.2.1. Configuring the Server

A suitable TFTP entry for network booting an ia64 system looks something like this:


host mcmuffin {
        hardware ethernet 00:30:6e:1e:0e:83;
        fixed-address 10.0.0.21;
        filename "elilo.efi";
}

Note that the goal is to get elilo.efi running on the client.

Create an ia64/ subdirectory in your tftpboot directory, and populate it with the vmlinuz and initrd.gz files from the Debian installer netboot directory.

Copy elilo.efi to your tftpboot directory and make it world readable. This file can usually be found in the elilo package in IA64 distributions, or in /usr/lib/elilo or in a subdirectory of /boot/efi. A suitable copy is provided in the Debian installer netboot directory.

Create an elilo.conf file in your tftpboot directory. This will be loaded by elilo.efi once it is running on the client, and controls what happens next, including the choice of kernel, initrd image, etc. An example file is provided in the Debian installer netboot directory, review the contents and update as needed for your choice of paths, etc. It is possible to have different config files for different clients by naming them using the client's IP address in hex with the suffix .conf instead of elilo.conf. See documentation provided in the elilo package for details.

5.1.2.2. Configuring the Client

To configure the client to support TFTP booting, start by booting to EFI and entering the Boot Option Maintenance Menu.

  • Add a boot option.

  • Select the line saying Load File [Acpi()/.../Mac()] and press Enter.

  • Name the entry Netboot or something similar, save, and exit back to the boot options menu.

You should see the new boot option you just created, and selecting it should initiate a DHCP query, leading to a TFTP load of elilo.efi from the server.

The boot loader will display its prompt after it has downloaded and processed its configuration file. At this point, the installation proceeds with the same steps as a CD install. Select a boot option as in above and when the kernel has completed installing itself from the network, it will start the Debian Installer.

Proceed to the next chapter to continue the installation where you will set up the language locale, network, and the disk partitions.