-->
Previous Table of Contents Next


Troubleshooting

Many different problems can occur while setting up and installing a Linux system, although most of them are self-explanatory from error messages. A few commonly encountered problems can be easily dealt with, though, so we’ll look at them briefly.

Software Installation

You may encounter a few errors when installing Linux. If you get the message device full, it means you have run out of disk space and need to either break up the installation into several partitions or install fewer components. If you haven’t installed the basic system, you need more disk space. You must delete your partitions and start the installation process again, allocating more to Linux.

Errors such as read error, file not found and tar: read error are indicative of a problem with either the disk medium you are installing from or an incomplete Disk Set. These problems usually occur with floppies and tend to indicate a bad disk. All you can do in most cases is replace the disk with a new one.

Hard Disk and Disk Controller

When Linux boots it displays a few messages, one of the most important being a partition check. You will see messages like this:


Partition check:

hda: hda1 hda2 hda3

hdb: hdb1 hdb2

In this example, the first non-SCSI disk has three partitions and the second disk has two. Your system’s output will probably be different, of course. If you don’t see any partition information, either the hard disk controller is not recognized properly or the disk drives themselves are not accessible. These problems have a number of potential causes, including the obvious:

  Check the cables inside the computer. The hard disk cable should run from the adapter card to each drive’s connector. Make sure the cables are connected in the proper manner (the red strip on the cable is at pin 1 on the connector).
  Check that the power connector is attached to each disk drive. Without power, your drive won’t spin up, and Linux can’t touch it.
  Check the partition table to make sure you created a Linux partition properly.

After that, if the drive is not working properly with Linux but works okay when you boot DOS, it is probably a kernel driver for the hard disk that is at fault. Some IDE drives, for example, are not as well-behaved (not conforming to the IDE standards) as others, and your IDE kernel driver might not be able to talk to your drives. Try using a different kernel image and see whether the problem solves itself. If you are using a SCSI kernel and adapter and the drives are not recognized, use the utilities that came with the SCSI adapter card to force a check of the hard drives. They may have a SCSI ID set incorrectly.

Device Conflicts

One of the most common problems is when hardware is not recognized properly. This can happen to a CD-ROM, a network card, and even a hard disk. This is usually caused by a conflict in the IRQ (interrupt), DMA (Direct Memory Address), or I/O address settings. When two devices have the same settings on any one of the three characteristics, Linux and the BIOS may not be able to communicate with the device properly.

A symptom of this problem may be Linux hanging when it tries to find a specific device, as explained on the boot messages. When Linux boots up, it generates verbose messages on the console that explain what it is doing. If you see a message that it is trying to connect to the network card, for example, and it never gets past that point, chances are that the network card has a conflict with another device. (Totally failed cards are very rare and don’t usually stop the boot process because Linux ignores devices it can’t access. The problem with a working card with conflicting settings is that Linux is getting messages from two devices that don’t act the same.)

To check for conflicts, you should run a diagnostic utility under DOS, such as MSD or Norton Info. These can show you the current IRQ, DMA, and I/O addresses and pinpoint any conflicts. They can also be used for finding available settings.

Alternatively, you should check the settings of every device in your system for conflicts. Usually, network cards conflict with sound boards, non-SCSI tape driver cards, video cards, and similar add-on cards. Most cards use DIPs or jumpers to set these parameters, so check them against the documentation. To help isolate the problem, remove cards that are not necessary, such as a sound card, and see whether the boot process moves past the device that caused the hangup.

Another problem that can occur is with SCSI devices (and a few others, although much rarer), which must have specific settings in the kernel image. Some kernels were compiled with settings that are default values for adapters or disk drives, and if the settings have been changed, the kernel hangs. This is often the case with special-purpose kernels that have been developed for nonmainstream adapters. To check for this type of problem, investigate any documentation that came with the kernel image.

The most common devices in a PC (COM ports, parallel ports, and floppies) and their IRQ, DMA, and I/O addresses are shown in Table 3.1. These are the default values for a PC, but they may be changed by users. Because only two COM ports (serial ports) are usually supported by DOS, they share IRQ values. The I/O addresses are different, though. Both floppy disks share the same I/O addresses, IRQ, and DMA.

Table 3.1. Common devices in a PC and their IRQ, DMA, and I/O addresses.

Device IRQ DMA I/O address (hex)

COM 1 (/dev/ttyS0) 4 N/A 3F8
COM 2 (/dev/ttyS1) 3 N/A 2F8
COM 3 (/dev/ttyS2) 4 N/A 3E8
COM 4 (/dev/ttys3) 3 N/A 2E8
LPT 1 (/dev/lp0) 7 N/A 378-37F
LPT 2 (/dev/lp1) 5 N/A 278-27F
Floppy A (/dev/fd0) 6 2 3F0-3F7
Floppy B (/dev/fd1) 6 2 3F0-3F7

Network cards, SCSI adapters, sound boards, video cards, and other peripherals all must have unique IRQ, DMA, and I/O addresses, which can be difficult to arrange with a fully loaded system. For more information on available values, check your device or card installation manual for recommended values and potential conflicts.


Previous Table of Contents Next