There are many more lilo.conf configuration options than those described previously, but you won't need to use most of them. The sample configuration file in Listing 1.2 is almost identical to the one built by the installation program on any other system. Basically, the small subset of options just described includes the options used to build 99 percent of all LILO configuration files.
The one percent of systems that cannot be configured with the usual commands are often those systems with hardware difficulties. The lilo.conf file provides several options for dealing with hardware problems.
The lba32 option is used when the boot partition is placed above the 1024-cylinder limit. This option requires a BIOS that supports 32-bit Logical Block Addresses (LBA32) for booting. The Red Hat installation program displays a "Force use of LBA32" check box in the boot loader installation screen. If this is available in your BIOS, it is the simplest way to boot from beyond the 1024-cylinder barrier.
The linear option forces the system to use linear sector addresses—sequential sector numbers— instead of traditional cylinder, head, and sector addresses. This is sometimes necessary to handle large SCSI disks. It is even possible to manually define the disk geometry and linear addresses of the partitions directly in the LILO configuration file. For example:
disk=/dev/hda bios=0x80 sectors=63
start=153216 partition=/dev/hda3 start=219744
This example defines the geometry for the first disk drive, which normally has the BIOS address of hexadecimal 80. The sectors, heads, and cylinders of the disk are defined. In the example, the linear address for the start of each partition is also given. This is an extreme example of defining the disk drive for the system; I have never had to do this.
The append command is another LILO option related to defining hardware. (I have used this one.) The append option passes a configuration parameter to the kernel. The parameter is a kernel-specific option used to identify hardware that the system failed to automatically detect. For example:
append = "ether=10,0x210,eth0"
This sample command tells the kernel the nonstandard configuration of an Ethernet card. This particular option line says that the Ethernet device eth0 uses IRQ 10 and I/O port address 210. (The format of the parameters that can be passed to the kernel is covered in "The Linux Boot Prompt," later in this chapter.)
Linux is very good at detecting the configuration of Ethernet hardware, and software-configurable cards are good at reporting their settings. Additionally, new PCI cards do not require all of these configuration values. By and large, kernel parameters are not needed to boot the system. However, this capability exists for those times when you do need it.
Was this article helpful?