Originally Published: Friday, 13 October 2000 Author: Ross Sanders
Published to: learn_articles_firststep/General Page: 1/1 - [Printable]

The Horror of All Horror, or Upgrading a Linux Box

What is the one word that gets a Linux person's blood flowing and migraine forming faster than anything? (OK, OK! Second word... after "You Know Who" and his OS). Hardware Upgrade! Don't worry! I have a few tips and pointers for those pondering hardware upgrades in their prized Linux machines.

   Page 1 of 1  

What is the one word that gets a Linux person's blood flowing and migraine forming faster than anything? (OK, OK! Second word... after "You Know Who" and his OS). Hardware Upgrade! Don't worry! I have a few tips and pointers for those pondering hardware upgrades in their prized Linux machines.

First, do your homework! We've all done it ... bought the latest and greatest hardware only to find it won't work with something already installed on the computer. Look up primary resources regarding the hardware you wish to buy and use. For a video card you should not only read the company's hype on the Web site, but dig as deep as you can for driver and compatibility issues. There are many things that can cause a piece of hardware to be flaky or not work at all.

Places you should look on the Web before adding new hardware include such sites as xfree86.org, linux.com, and linux.org for the various FAQs and HOWTOs that have cropped up down the ages of Linux history.

Under no circumstances should you neglect the documentation that accompanies the Linux distributions, since it's usually current to the software that is installed on your computer. Most of the time kernel documentation is listed under /usr/src/linux/Documentation. Other places are varied, but can include: /usr/documentation, /usr/local/documentation, /usr/X11R6/lib/X11/Documentation (for XFree86 docs including card or video chipset specific info). You should always check the kernel documentation no matter what hardware you are installing (no matter how insignificant). The kernel is extremely sensitive to hardware changes, especially from legacy ISA hardware.

One of the things that we all forget about in the rush for Linux drivers and kernel support for hardware is actually having software that can use the hardware. After you find if your prospective new hardware has device drivers (unless you like the almost titanic problem of writing drivers, don't buy it!), you should consider whether or not your software can use it. If it can't, either don't buy it or look for software that can use it.

For example, in my own system I have a Voodoo 3 video card. When I install a new version of Linux, I have to upgrade parts of the graphics system to have drivers and libraries that support it and it's accelerated features (Glide and 3dfx's own peculiar form of OpenGL). That includes upgrading Mesa, system libraries, and a kernel module.

So, assuming that you've done all your homework, buy the hardware, power down and ... Nope, not yet. You still have some work to do before you can put your brand spanking new/used hardware in your computer.

"WHY?" you ask. Because you need to do at least 2 other things before you put new hardware in your computer ... if it's an ISA card there are 3. If it's an ISA card you need to set the base I/O, IRQ, DMA settings to avoid system conflicts. The kernel will need that information. If it's a PCI or other kind of card (AGP, NUBUS ... if you don't know what a NUBUS is consider yourself blissfully ignorant), you need no special jumper tweaking. Next, you should recompile your Linux kernel to reflect and best use your new (and current) hardware. Before you start, be sure you know the exact model, brand name, and if possible chipset of the hardware you are installing. There might be strange things in the configuration you should know about. For example, in the networking configuration an SMC EZ 10/100 is actually a RealTek chipset, not SMC.

Once you have everything configured and compiled in the kernel (compiling the kernel would be an article all its own, it's in that documentation I told you about: /usr/src/linux/Documentation) you may or may not be finished. If you have a video card you are upgrading you should also reconfigure XFree86 (or whatever you use) BEFORE you change cards. This is especially true if you are booting directly to init level 5, that is, you boot to an XFree login prompt rather than a text console prompt. Most distributions have XFree86 v. 3.3.x installed so you can use XF86Setup. If you are using XFree 4.0 or 4.0.1 you don't have that luxury. Read thoroughly the documentation found in /usr/X11R6/lib/X11/Documentation (or its equivalent). Some cards in XFree86 4.0 must be manually configured, such as those that use the DRI subsystem (Voodoo 3 cards). Others can use xf86config.

Once all this is done and everything is compiled and configured then you can safely power down, install, and power up again with your new hardware. If all has gone well and nothing was forgotten or unexpected you can start using your new hardware now, barring, if necessary, minor configurations.

Below, I've listed some helpful sites in getting over the upgrade hump. By no means should you consider this an exhaustive list, but I hope it points in the right direction.

3D Video: http://linux.3dfx.com http://www.3dfx.com http://www.3dfxgamers.com http://www.nvidia.com/ http://www.matrox.com http://www.3dblaster.com

A list of vendors with Linux OS support: http://www.linux.org/hardware/components.html

For those installing multiple network cards: http://ipmasq.cjb.net/

Popular network device vendors: http://www.smc.com http://www.3com.com http://www.cisco.com http://www.intel.com

Audio card vendors or resources: http://www.soundblaster.com http://www.opensound.com http://www.alsa-project.org

Free86 info: http://www.xfree86.org http://www.suse.com/us/support/xsuse/index.html

New Linux Kernels: ftp://ftp.kernel.org, or it's various mirrors

---------------------------------------------------------------------------------- Ross Sanders is an ex UNIX administrator turned homemaker and house geek. He has been following the Linux community since kernel v .89. Non-standard disclaimer: most opinions I express tend to be in the minority in the Linux/OSS community, but that has never stopped me. Flames, fuss, cuss, and discuss sent to: Ross

   Page 1 of 1