Installing Linux is a nightmare

Linux certainly has strengths, as I discussed in "NT vs. Linux," March 2000. But just try to use Linux, and you'll discover it also has weaknesses.

In the research I've done on Linux, I found that the most difficult part of using the OS is installing it. Many people told me that after you set up Linux, it's stable and reliable, and in some respects, my experience confirms that impression. But make no mistake: Installing Linux is a nightmare. I installed five Linux distributions—SuSE Linux 6.3 beta, Red Hat Linux 6.0, Caldera System's OpenLinux 2.3, Corel LINUX, and LinuxMafia's Slackware Linux 7.0—on several systems. All five distributions have similar offerings but different setup routines. I had numerous problems installing all the distributions.

Linux and Graphics
Many of my Linux installation problems involved the GUI. Before I describe how the installations went, let me explain why a GUI is so important to the Linux distributions I used.

As I explained in "NT vs. Linux," using a GUI is optional in Linux. But most of today's computing audience relies on graphics, and the Linux world's commercial segment wants to increase that audience's acceptance of Linux. So, more recent Linux distributions either require or strongly suggest that you start up graphics when you boot. For example, SuSE Linux, Corel LINUX, and OpenLinux run graphically by default, booting straight into X Windows. If you want to make one of these distributions not use graphics, you need to monkey around with configuration files.

I had trouble getting graphics to work on Linux—I suspect because of the relative newness of mandatory graphics in the Linux world. I look for SuSE, Caldera, and other Linux distributors to solve their video-hardware detection problems by early 2001, if not sooner. For now, however, I strongly recommend that you not attempt to install Linux on a system until you know which video chip your system uses, how much video memory the system has onboard, and the range of horizontal and vertical frequencies your monitor can handle. You can get the video information for your system from the OS (i.e., Windows NT or Windows 9x). You can usually get the monitor information from the monitor's manual or the monitor vendor's Web site.

Installing Linux on Laptops
First, I tried to install Red Hat Linux on my Compaq DIGITAL HiNote Ultra 2000, a 266MHz MMX laptop with a common Chips & Technologies video chip, a built-in CreditCard Xircom Ethernet 10/100+Modem 56 (CEM56) modem, and a 1024 ¥ 768 LCD. Partway through the install, Red Hat Linux displayed the message You have a PS/2 mouse and prompted me to click OK to continue. But I couldn't; the system was locked up. (By press time, Red Hat Linux 6.1 was available and resolved this problem.)

Next, I tried to install Red Hat Linux on a Toshiba Satellite 335CDT, another 266MHz MMX system with a Chips & Technologies video card and an 800 ¥ 600 LCD. Because the Satellite 335CDT didn't have a built-in NIC, I added a 3Com 3C574 Fast EtherLink NIC. Red Hat Linux installed but told me that the graphics failed. A reboot revealed that the system didn't recognize the NIC; I had to tell the system the NIC's IRQ and I/O address. Even so, the 3C574 driver didn't work until I hardwired the NIC to use IRQ 300 and I/O address 300. (I was thankful that the NIC was a 3Com—you can't "tattoo" Xircom NICs with a particular IRQ and I/O address.) The video on both laptops (I managed to install Red Hat Linux 6.1 on the Ultra 2000 later, as you'll read) came up at 640 ¥ 480 resolution and refused to recognize any other resolutions until I bypassed the configuration programs and directly edited the configuration file, XF86Config.

OpenLinux also didn't work on the Ultra 2000—the distribution didn't like the NIC. However, OpenLinux's setup program had outstanding video detection and test routines. Earlier, I predicted that future Linux distributions will detect video far better than today's distributions. Well, the video portion of OpenLinux's setup program is the future. The setup program detected video chip types and RAM for every computer I tried to install the software on and reported the information in great detail. OpenLinux lets you test each possible video resolution right in setup so you can ensure that you don't commit your installation to a video resolution that doesn't work and that your system doesn't boot to a blank screen.

Like OpenLinux, SuSE Linux tried to be graphics-friendly. But SuSE Linux didn't pull it off, producing instead a sequence of odd-looking and unreadable graphics screens. The amusing finishing touch was a final mandatory screen that lets you adjust screen dimensions but whose controls are in German. (Remember, however, that I used a beta version of SuSE Linux.)

A few weeks after the fiasco of trying to install Red Hat Linux 6.0 on my Ultra 2000, Red Hat released version 6.1. Red Hat Linux 6.1 loaded with far less trouble on both the Ultra 2000 and the Satellite 335CDT. Still, on the Satellite 335CDT, the newer Red Hat Linux version didn't recognize the NIC until I either popped it out and reinserted it or ran commands that made Red Hat Linux think I had replaced the NIC.

In my Red Hat Linux adventures, I encountered another odd behavior. Red Hat Linux's setup offers you two GUIs: one called KDE and another called GNOME. But no matter which GUI I selected, only GNOME appeared.

Of the distributions I played with, Slackware loaded best on the Ultra 2000. Slackware required no prompting to get both the graphics and the built-in NIC to work.

A funny part of my Linux-on-the-laptop adventure was the reactions of my friends in the Linux community. Whenever someone asked how my Linux project was going, I explained that I believed the people who wrote the Linux setup programs thought Linux was great but didn't want anyone else to find out how good it was. Typically, each person then asked what machine I was trying to run Linux on. When I answered "laptop," the responses were all some variation of, "Oh, that's it. You're trying to put Linux on a laptop!" But despite the difficulties, I attest that you can indeed install Linux on a laptop.

Installing Linux on Desktop PCs
I found that Linux installs on desktop PCs much more easily than it does on laptops. All my desktop PCs have 3Com 10/100 XL Ethernet cards. Because these cards are almost an industry standard, I expected no trouble from them, and they caused none during Linux installation.

The only problem I had installing Linux on my desktop boxes occurred because I'd installed Trident 975-based AGP boards on all six of my desktop PCs. Most of the Linux distributions didn't get along well with the Trident boards, so I yanked those boards and used some older boards from my junk drawer, as well as an ATI Technologies Mach 128 board. The ATI board taught me a valuable lesson in Linux hardware: Don't buy new boards. The Linux distributions I experimented with couldn't handle the ATI board, so it's now gathering dust in the junk drawer, awaiting future distributions that can support the board. For some reason, I found no Linux drivers on hardware vendors' Web sites.

Finally, I had mixed results making systems dual-bootable between Linux and Windows 2000 (Win2K), NT, or Wintendo. Linux uses a multibooting loader called LILO, which offers a fair set of options for booting Linux, as well as other OSs, from a 3.5" disk or from the hard disk. Configuring the various setup programs to make Linux bootable produced a range of results. In about half the cases, Linux wouldn't boot—after I rebooted my system, no sign of Linux existed no matter how much Fdisk-fiddling I did. The only way I could get SuSE Linux onto a system was to devote the system's entire hard disk to it—SuSe Linux didn't like sharing the disk with other OSs.

Lessons Learned
I drew some conclusions from these experiences. First, when choosing Linux hardware, don't select the latest equipment; the Linux driver world might not yet have caught up to new hardware. Second, before you install Linux, make sure you have handy the manufacturer's name, model number, and chipset for all cards in your PC and the IRQ levels and I/O addresses of your network and sound cards. If you're running Win2K or Win9x, you can obtain this information easily from the Device Manager (right-click the icon for any peripheral, such as a network card, and choose Properties; the Resources tab shows information such as the IRQ and the I/O address). NT 4.0 can supply the information you need from its Windows NT Diagnostics tool (click the Resources tab). Finally, expect to reinstall your Linux distribution a few times to figure out which LILO settings work on your computer.

After you collect all the information for the cards in your PC and the LILO settings that work for you, write down the information. I write it on a mailing label and stick the label on the CPU.

Is having to gather all this hardware information unreasonable? No—it's just frustrating, and it might be time-consuming if you're putting Linux on a box that doesn't have an OS on it. But such research is certainly not unheard of—we all had to do similar research years ago when we installed NT 3.1, Windows 3.x, or OS/2.

Many people who install Linux are NT users who want to dual-boot a desktop system, alternately using Linux or NT. Here's an idea for an enterprising Linux vendor: Design a setup program to check for an NT Registry and, when one exists, read its list of hardware and settings. The program could compare Linux's list of available drivers with the Registry's list of boards and report which pieces of system hardware that distribution doesn't support.