# RootPrompt.org   Nothing but Unix.[Home] [Features] [Programming] [Mac OS X] [Search]


 Feature: The Cheap Linux Box

Andrew Comech has written this article describing how to build a cheap but good Linux box.

"You need to decide on the chipset/processor combination and then pick a motherboard with the layout you need. I would like to be impartial, but it is always a good idea to stay away from Intel: From Fall 1997 to Spring 2000, people witnessed recalls of pentiums due to "F0 0F" pentium bug, dropped L2 cache on original Celerons..."

 (Submitted by Noel Wed Oct 18, 2000 )

  

Here's a nickel, kid. Get yourself a better computer.
-- Dilbert.


The Cheap /Linux/ Box

How to build a cheap reliable x86 box suitable for Linux.

Your contributions are appreciated. How to contribute:

  1. download the page and make your changes;
  2. return the updated page and mention the changes you made;
  3. I will moderate and post it
The page badly needs a revision of graphics cards. Is ATI Xpert98 still the best value?

Last complete revision date: April 12, 2000

Contents


Most parts in a preassembled computer are not the right ones: non-ECC memory and a bad motherboard (computer may crash not only because of Windows, but also because of memory glitches; a combination of a motherboard with hardware-implemented error correction, or "ECC support", and 72-bit wide ECC memory prevents you from such glitches), a two-button mouse (many standard applications use three buttons), a winmodem, and non-supported or poorly supported videocard, soundcard, and a printer. Included monitors usually have .28mm dot pitch, small (15'') diagonal, and poor bandwidth (which leads to flickering at higher resolutions).


CPU and motherboard

You need to decide on the chipset/processor combination and then to pick a motherboard with the layout you need. I would like to be impartial, but it is always a good idea to stay away from Intel: From Fall 1997 to Spring 2000, people witnessed recalls of pentiums due to "F0 0F" pentium bug, dropped L2 cache on original Celerons (and dropped ECC support on "low-end" chipsets, to emphasize that those are "low-end" components), locked multipliers (to fight overclockers), notorious "processor serial number", locked 133MHz bus frequency of Pentium III (to force incompatibility with 440BX chipset), various chipset problems which ended with the recall of motherboards with 820 chipsets (all this resulted from a failed attempt to move the market to RAMBUS memory), recall of 1.13GHz processors... to be continued.

The chipset on the motherboard determines the main specifications of the system:

  • processor family (see below), number of processors, and frequency;
  • bus speed (e.g. 100MHz);
  • supported memory: types (e.g. SDRAM, RDRAM, SDDRAM) and speed (e.g. 100MHz), buffered or unbuffered;
  • ECC support (error checking and correction);
  • Support of UDMA/33 IDE drives (all recent chipsets); support of UDMA/66, /100 IDE drives (not crucial);
  • AGP support (all recent chipsets); AGP x2 and higher support is only important for gamers.
  • number of supported processors (one processor systems are a better value).

Chipset's specifications are usually dubbed in the specifications of a motherboard.

In the specifications of a particular motherboard one pays attention to

  • the number of the slots for memory modules and the maximum amount of cached memory, which is determined by the size of the motherboard cache (L2 cache);
  • Certain restrictions on the supported memory. Mostly determined by a particular chipset used on the motherboard, but keep attention to the voltage (3.3V [common] versus 5V), and unbuffered [common] versus buffered;
  • the number of PCI, ISA (older ones; you may need them for modem or maybe a soundcard), and AGP extension slots;
  • the types of connectors: serial, parallel, and USB ports; PS/2 connectors for a mouse and a keyboard; infrared ports;
  • the type of connector to the power supply: AT or ATX, or sometimes both (all newer systems are ATX);
  • Integrated peripherals, like graphics and sound (those are better to avoid);

Here is a sketchy list of different families of motherboards and the corresponding CPUs (for a more comprehensive list, see CPU Sockets Chart. For specifications of chipsets and processors, see processor specifications at ugeek.com. For recent chipset news, see ugeek.com/procspec and comp.sys.ibm.pc.hardware.chips.

  • Socket 7 (321 pin ZIF). Processors: Pentium, K6, Cyrix, C6 (Winchip), K6-2 266. The market has moved to Super 7 (socket 7 with 100MHz bus frequency). Good chipsets were VIA Apollo's VP2 and VP3. Avoid all Intel 430 chipsets and SiS chipsets (no ECC support or no SDRAM support or no more than 64MB RAM..).
  • "Super 7" (Socket 7 with 100MHz bus speed). Processors: K6-2, K6-III. The right chipset with ECC support: VIA Apollo MVP3. Super 7 (with MVP3 chipset and with K6-2 450 or 500MHz CPU) seems optimal in price/performance (although Socket A (or Socket 462: newer interface for K7) is probably more exciting). K6-III is less widely available and hence more expensive. It is also barely overclockable (while K6-2 usually runs 50MHz faster its rating). With Super 7, you can go up to 550MHz, and you can put up to 256MB onto a motherboard with 1MB cache.
    • Processors slower than 400MHz are no longer a good value. Avoid 333/380/475/533 MHz versions and Cyrix'es which may only run at 95MHz bus).
    • About chipsets: Pick a motherboard with VIA Apollo MVP3 chipset.
      ALI Aladdin 5 chipset does not allow to use non-PC100 memory and is said to have some AGP incompatibilities.
      VIA MVP4: a newer chipset oriented towards integrated peripherals (the linux support of these integrated peripherals is being worked on, but you are likely to spend some time to make everything work). The chipset has no advantages over MVP3 except for UDMA/66 mode. Later on, motherboards with this chipset may be cheaper, but so far they are not, while most of them only have 512k L2 cache, restricting the amount of cached memory to 128MB.
    • Get 1MB of on-board (L2) cache; this is enough for caching up to 256MB of RAM. Make sure there are spare DIMM slots for adding memory. (There are also motherboards with 2MB of L2 cache, but figure out whether you will ever have above 256MB of today's PC100 RAM.)
  • Slot 1. Processors: Pentium II, Celeron, Pentium III. Some recent Pentium III processors would support 133MHz bus ONLY (this is Intel's standard practice to force people to "upgrade" motherboards, this time to the motherboards with 133MHz bus speed). Chipsets with ECC support which seem good are VIA Apollo Pro 133 (133MHz bus), VIA Apollo Pro 133A (133MHz bus and 4x AGP), and older Intel 440 BX (100MHz bus speed).
  • Socket 370 (PPGA): another (cheaper) interface for Celerons and now also VIA's Cyrix III (Joshua). Good chipsets: same as above.
  • Slot II is made for Xeon. Overpriced to be even mentioned.
  • Slot A is made for AMD K7 (Athlon).
    • It could be worth waiting for newer Socket A motherboards. Slot A is to disappear in favor of Socket A.
    • Probably, all current chipsets for Slot A boards have ECC support (that's because Intel is not on this market). Double check. VIA's KX133 offers faster 133MHz bus than AMD 750 chipset, but is said to be incompatible ("would not operate reliably") with AMD Thunderbird processors (Slot A version only; Socket A version of Thunderbirds will apparently require Socket A motherboards).
    • Slot A motherboard-Athlon 600 or 650MHz combination is about $100 more expensive than Super 7 + K6-2 500. The former is more exciting, but the latter is fast enough for many users.
    • An important issue with Athlon motherboards is some very particular requirements to the power supplies; there may be a list of recommended power supplies for a particular motherboard at the manufacturer's web site (see e.g. FIC's Power Supply Module and Chassis Recommendation for SD11 K7 motherboard).
    • Putting this aside, a cheap SD11 motherboard (rev. 1.8 or later) is mentioned as very good at Anandtech's site.
    • For more information: Tom's Hardware: mainboard guide, Slot A motherboards site, and AMDZone.
  • Socket A, or Socket-462: An interface for newer AMD processors: cheaper Spitfire ("Duran"), Thunderbird, and Mustang. (There will also be a limited number of Slot A Thunderbirds, but they will be primarily made for PC makers.)

Hints:

  • Make sure the motherboard has the same form factor as your case (AT or ATX). If you are buying a new case, get an ATX case and motherboard. Some AT motherboards have ATX power connector and could be placed into an ATX case.
  • Read the characteristics of the chipset, paying attention to the ECC support, maximum amount of cacheable memory, the bus speed, and the memory speed and type (which better be PC100 or PC133 SDRAM, not Rambus RDRAM).
  • Check which expansion slots the motherboard has. Some Slot A boards (FIC, Biostar) have a single ISA slot (which is a manufacturer's option).
  • AMR (Audio/Modem Raiser) slot: for some weird modems and soundcards. waste of the space on the board. Extra PCI slot would be better.
  • If you are planning on a newer motherboard with UDMA/66 support, you would also want to buy a UDMA/66 hard drive. This is probably not worth a premium (if there is any); try to find some reasonable UDMA/33 vs. UDMA/66 benchmarks for Linux. My guess is, the speed increase for kernel compiles is below 1%.
  • A rule of thumb is to avoid all Intel chips (many parts seem to be made worse on purpose, to justify a hefty premium for the high-end parts.. which are bad as well).


Memory

If you choose memory for a super 7 motherboard, the key words you want to hear from the vendor are probably SDRAM DIMM (a long 168 pin card), ECC (with error checking and correction), and PC100 (for 100MHz bus speed). Two more attributes are unbuffered and 3.3V; probably all current PC100 modules are of this kind. Please compare all this with the on-line manual of "your" motherboard!

Hints:

  • Bad memory (and memory with no error correction) may lead to compilation crashes and even spontaneous reboots. Still, since PC100 memory is common, there is no much reason to pay 50% premium for the brand names. If the module hangs the system, then it is defective and is to be exchanged, although you might have a hard time arguing with the vendor. The best way to check a new memory module is to do something memory extensive while compiling a kernel in the background.
  • Avoid ECC compatible memory: it is opposite to memory with ECC. If in the specifications of a memory module the layout is 16x64 or 32x64, there is no ECC. Should be ...x72 (extra 8 bits per 64 bit word are necessary for error correction). Physically, a DIMM of memory with ECC carries nine (or eighteen) chips (as opposed to eight (or sixteen) chips on a DIMM of non-ECC memory).
  • The memory speed is not as important for performance as the bus speed, hence faster rated memory may be not worth the money. Overclocking the memory is not a good idea either. The best way to improve performance is to have enough memory so that the computer could restrain from using the swap space. Rambus memory is just a waste of money.
  • Practically, it seems reasonable to buy DIMM modules with possibly higher capacity, to have spare slots for memory upgrades. There is no premium for that as long as you do not exceed 128MB: one 128MB module costs about the same as two 64MB modules (this changes if you take into account shipping charges). Do not buy modules below 64MB (64MB to 32MB price ratio is less than 2).
  • If you want to use older slower memory modules with ECC, choose a proper motherboard: you may need a motherboard with MVP3 chipset (for non-PC100 memory) and with both SIMM and DIMM slots. You could have a hard time if you mix the different sorts of memory, though.

Hard drive

Usually, the main question is SCSI vs. EIDE. There is no much reason to use SCSI components for the home system with a hard drive and a CD-ROM. Besides, good SCSI controller would already cost you some money, while there are "bonus" EIDE controllers on the motherboards. Forget SCSI and you have one thing less to worry about. But things are different if you are planning on perhaps scanners or printers with SCSI interface, or if you need to use several storage devices simultaneously, or if you are planning on CD burners (cost of SCSI and ATAPI CD burners is very close, while SCSI burners are better supported).

Speaking of EIDE disks, they are all Linux-compatible. Look up the newest ones at The Red Hill Guide to Hard Drives. Quantum CX Series Ultra DMA/66 EIDE and Seagate seem to be cheaper among better ones. (Quantum's better series is Fireball EX, CR, CX; the newer drives tend to cost cheaper while having better characteristics.)

A few hints:
  • One does not save money buying old or no-name drive or going below 10GB. The graph size/price becomes steep after around 20 GB point.
  • Because of the lack of manufacturers' drivers, Linux is not supposed to benefit much from expensive "fastest" hard drives.
  • Regarding different DMA modes (under Linux kernel 2.2.5):
    • Quantum EX UDMA/33, 6.4GB drive: hdparm -t shows buffered disk reads of about 12 MB/sec with DMA enabled (hdparm -d1 /dev/hda); this drops to about 6MB/sec without DMA.
    • If you want UDMA/66 hard drive and want to run it in UDMA/66 mode, you would need a motherboard which supports UDMA/66 mode. (As far as I know, among Super 7 chipsets only MVP4 supports UDMA/66.) There may be certain incompatibility of UDMA/33 motherboards with UDMA/66 drives; To enable the DMA mode for Quantum UDMA/66 drives, one may need to upgrade motherboard's BIOS (see the manufacturer's website), or to switch the hard drive from Ultra DMA/66 to Ultra DMA/33 mode (for Quantum UDMA/66 drives, follow the instructions at Ultra ATA/66 Compatibility with Award BIOS).
    • On my system, all above amounts to less than 1% (!) speed difference for kernel compiles :-)


CD-ROM

  • Any internal EIDE/ATAPI CD-ROM connected to the IDE interface of the motherboard is supposed to work just fine. (I did encounter some weird misreads under Linux with an old EIDE/ATAPI CD-ROM which worked OK under Windows.)
  • Avoid proprietary CD-ROM drives (something which is not a true EIDE/ATAPI).
  • Make sure it reads both CDs and CDRs, and perhaps also CDRWs (regular, ``home-written'', and ``home-rewritten'' compact disks).
  • Get a SCSI CD-ROM only if you are planning to get a SCSI controller, and are willing to pay twice as much.
  • If you are buying a CD-Writer, then do consider one with SCSI interface: Those seem to be much better supported and it seems that there is no much premium for SCSI CD-R versus IDE CD-R. Not to mention that SCSI is much better at accessing multiple drives.

See also CDROM HOWTO and CD-Writing HOWTO.


Monitor

A monitor is the most expensive and important part, which is to outlive a few generations of your computers. To ask the least:

  • at least 16'' viewable area,
  • at most .26mm pitch size,
  • at least 80Hz refresh rate with your preferred resolution.
This imposes certain requirements on the bandwidth of the monitor. Very briefly, the highest physically possible resolution on a 16'' viewable monitor with .25mm dot pitch is only 1152x864 (if everything is perfect, then 1280x1024). The bandwidth for this resolution at 80Hz refresh rate should be well above 1152x864x80Hz=79.6MHz (the beam of electrons needs some time margin); 160MHz would be enough. E.g., in the specs of Acer 79g (16'' viewable with .25mm dot pitch) shameless guys wrote that it runs 1600x1200 at 75Hz refresh rate. This apparently means that the bandwidth is above 1600x1200x75Hz=144MHz (in fact it is 160MHz), although the resolution 1600x1200 does not make sense on a 16'' monitor (even with .25mm dot pitch): the picture will be non-sharp. There is a short nice guide Snake Oil, Miracle Cures, and Monitors.

I can not suggest much; I think the best is to go for one of the ViewSonic monitors, like PS775, PT775 (16'' viewable), or PS790, G790 (18'' viewable), with huge bandwidth of 200MHz. Look up the prices at both PriceWatch and Shopper. As of April 2000, you can find PS790 for below $500, including shipping.


Cases
>From Wayne (thank you!):

A good case (with power supply) should have low noise and good cooling, and an appealing style. There are middle tower case, full tower case, and rackmount chassis. Power supply should be adequate to power the CPU and devices. It is a good idea to recon how much power your complete system actually needs. Do not buy the case with razer sharp edges, your finger will not last long if the the case with sharp edges.
If you have problems with the power supply, have a look at atx power supply frequently asked questions.

From Compute Aid, Inc., you can select different styled cases and power supply. If you are getting a 1U or 2U rackmount chassis from them, mentioning the Cheap /Linux/ Box page will get you $10 off from the order (rackmount chassis only). Their 1U rackmount is identical to $300+ from others, but at much lower price.


Videocard

Keep in mind that certain chipsets are not supported by Linux, or there are known difficulties. One first needs to find out whether the card is already supported by Xfree86 (a freely redistributable implementation of the X Window System; that runs on UNIX(R) and UNIX-like operating systems; this is the standard graphical user interface in Linux and FreeBSD). See XFree86-3.3.6 documentation, and in particular the list of supported chipsets.

Hints:
  • If there is an AGP slot on a motherboard, get an AGP card.
  • Videocards with less than 4MB memory are a waste of money. The highest resolution of a 4MB card with 32bpp (32 bits per pixel, or 2^32 colors) could be just 1024x768, which is not enough for 16'' monitor (which could do 1152x864 or even 1280x1024).
  • If you do not have any particular video requirements (gaming), then 8MB memory is enough for at least 1280x1024 resolution with 32bpp, which is enough for 16'' and 18'' viewable monitors. One probably needs at least 16MB for 1600x1200 at 32bpp (for 20'' viewable monitors).
  • Even when a card is mentioned as supported, certain modes may be broken (particularly at higher color depths). Search SearchLinux.com to find out whether certain resolutions at certain color depths are mentioned as working. Cheap videocards, although claimed as supported, may drive you crazy. Add $15 and get a well-supported AGP card with 8MB of memory.
  • Although supported by latest Xfree86, a particular chipset could be still not supported by your favorite Linux flavor, so you'd have to upgrade to the latest Xfree86 by hand.
  • You could wait with picking a videocard: An old generic ISA videocard with 512K memory will already get you into X. (if you have a reasonable monitor, try to use XF86_SVGA server which is superior to VGA16).
  • Various features like MPEG or DVD decoding, TV out, 4x AGP, 3D acceleration are beyond the scope of this page. It is easier not to pay attention to these features before you know you badly need them. For 3D acceleration, have a look at Linux 3D Hardware list.

Here is a list of a few cheap videocards which are mentioned in Xfree86 3.3.6 as supported.

Cheapies: Below $30 (do not buy them):

Better videocards for Linux:

  • ATI Xpert 98, chipset: ATI 3D Rage Pro Turbo [Shopper, PriceWatch], 8MB, 2x AGP, clocks up to 230MHz. Around $45. I ran this card under Xfree86 3.3.2.3a and later (XF86_Mach64 xserver), with all resolutions up to 1280x1024 and all color depths up to 32bpp, and at resolution 1600x1200 at 8bpp and 16bpp. Not a single problem. Theoretically, one can push this card to 1600x1200 at 32bpp, although there would not be any memory left for acceleration, and this mode does not work out of the box. My guess is that this card is the best value for 16'' and probably 18'' monitors.
  • Matrox Millenium G200 (and probably newer), uses MGA driver in the XF86_SVGA xserver. >From the features: Makes extensive use of the graphics accelerator. This server is very well accelerated, and is one of the fastest XFree86 X servers. See Information for Matrox Millennium Users.


Modem

  • Figure out which standard is best supported by your provider: K56Flex, x2, or V.90 (there may be some incompatibilities). Probably, V.90/K56Flex modems suit needs of most people. These are cheap enough, and there is no reason to buy V.34 or older slower modems.
  • External modems: Any modem with the standard serial interface, RS-232, will work. All you need is to stay away from modems with USB interface and from obsolete modems with RPI (among old 14.4 and 28.8 modems). Look up External 56K modems@PriceWatch.
  • Internal ISA modem: you should avoid controllerless modems and software modems. The former are known as winmodems, aka HCF (Host Controlled Family), the latter are known as softmodems or HSP (Host Signal Processing) modems. Both families of nonmodems are often referred to as `winmodems'. It becomes increasingly harder to tell a true modem (hardware modem) from a nonmodem. There is a list of modems known to be modems or instead nonmodems: Winmodems are not modems. There are a few proprietary drivers for several software modems at that site; look up. Still, you should try to get a good old jumper-configurable controller-based modem.
    • Good signs: controller-based ISA modem, DOS-compatible, Windows 3.1-compatible, with jumpers.
    • Very bad signs: HCF, HSP, PCI, USB anywhere on the box, Windows only, Designed for Windows, CPU: Pentium or higher, Drivers required, "lite" something, Auto IRQ and COM Selection, RPI (obsolete).
    • It is better to avoid Plug-and-Play modems, although there are ISAPNPTOOLS which take care of PnP things.
    • There are binary-only drivers available for a few internal modems; see Winmodems are not modems.
  • There are only a few PCI modems which work under Linux; see PCI modems and Linux. There is no advantage in having a standard modem on a PCI bus, but some newer motherboards may have no ISA slots at all.
  • For a PCMCIA modem, see the list at Winmodems are not modems.
  • Going to a store is not an easy way to spot a hardware modem. It is usually much faster and cheaper to buy it via the internet, but one has to be definite that the particular model is supported.
  • Many problems with modems are caused by wrong initialization strings: Get the list of AT commands for your modem from the manufacturer's web site. Or simply try AT&F, which (usually) restores factory settings which are (usually) rather reasonable.
  • There are reasons to choose 56K modems above older V.34: on noisy lines K56Flex modems are still capable of connecting around 45,000bps when V.34 modems would not climb above 26,400bps.
  • There is a Modem-HOWTO.

Where to buy Linux-compatible modems:

Only modems mentioned at http://www.o2.net/~gromitkc/winmodem.html are included. When placing an order, match the model number and chipset against that list (I tried to avoid confusing models..).
No responsibility is assumed whatsoever.

  • AOpen FM56-ITU/2 [Shopper, PriceWatch], a hardware-based internal ISA modem, V.90/K56Flex, jumper configurable, no PnP, Rockwell RC56D/SP chipset.
  • Jaton Modulator 56 [Shopper, PriceWatch] , an internal ISA modem, V.90/K56Flex, PnP or jumper configuration, Rockwell RC56D/SP-PnP chipset.
  • Jaton Communicator 56 [Shopper, PriceWatch], an internal ISA modem, V.90 ONLY (could be flashed to be either x2 or V.90), PnP or jumper configuration, Cirrus Logic 5650/5652 chipset. (There is also Communicator II, an internal ISA modem with TI chipset, V.90 & x2, PnP or jumper configuration. Also works under Linux.)
  • Powercom M56VI-ST1: an internal ISA modem, V.90 & x2, PnP or jumper configuration, TI chipset:
  • NewCom 56K ISA V/F/D, an internal ISA modem, 56K (V.90 upgradable). There are several cheap (around $30) ISA K56 NewCom modems around; some are explicitly mentioned to have jumper configuration and to be DOS/Win3.1/...-compatible. Those must be fine with Linux.


Printer

Beware: there are many printers which require special software only available for Windows. Their common feature is the lack of Postscript support. This is probably true for most cheap printers.

Grant Taylor maintains a list of suggested printers known to work well with Linux. It's perhaps easiest to buy one of these.

For more information on printer compatibility, see the LinuxPrinting.org database. Price comparisons can be found in those listings, or at PriceWatch.


Sound card

In Sound HOWTO, most Creative Lab's Sound Blaster cards (e.g. 16, ..., 128, AWE32, AWE64) are said to work under Linux, and are probably best supported. The quality of these cards is said to be very close. The price is as low as $20. PCI card is faster to configure than ISA PNP, and also PCI interface is preferred (for cheap cards, the interface does not really matter, but there are fewer and fewer ISA slots on newer motherboards). Sound HOWTO explains how to recompile the kernel. Most people would not need a high end card in a cheap box, so the quality does not seem to matter. In any case, if there are some particularly good sound cards worth mentioning here, please let me know.


Ethernet card
  • For a single user with low traffic, any old card which has the right connector would likely do the job just fine.
    The best source of information for more demanding users is Ethernet-HOWTO.
  • No reason to buy anything less than 10/100BT PCI card. (All PCI cards are 32bit, and most of them are 10/100.)
  • Cables/connectors (from Ethernet-HOWTO, Section 2.6):
    • 10Base2, thinnet or thin ethernet cable. RG-58 coaxial cable with the BNC (metal push and turn-to-lock) connectors. Could suit a small ``personal'' network.
    • 10BaseT, the twisted pair cables with the RJ-45 (giant phone jack) connectors. Also called UTP (Unshielded Twisted Pair). Fairly common.
    • 10Base5, the older thick ethernet (10mm coaxial cable), only found in older installations. The 15 pin D-shaped plug (the AUI connector).
    It is a good idea to have a card with both twisted pair and thinnet transceiver built-in.


Prerequisites

If you are starting from scratch:

The parts you need to get to at least boot up are:

All newer motherboards already have on-board connectors for IDE and floppy drives and for the serial ports (for a 386 you probably need an add-on controller card).

Those case/keyboard/mouse/monitor you found on a street will do just fine. To run X, you need a mouse (better from the breed of 3-button serial mice, Logitech or alike, or a 3-button PS/2 mouse if there is a PS/2 mouse socket on a motherboard), and a videocard which is supported by XFree86.

The best way to get those parts is to ask the system administrator or another friend of yours whether she has an old 386 or 486 to be thrown away, and if YES, get it. Before you disassemble things, you may want to connect the box to the monitor and turn everything on, to make sure that the power supply, the video card, the disk drives, and the monitor are not dead. Keep a fire extinguisher handy and make sure you could switch the power off unplugging the power cable. If it is 486 or better and if it boots alright and has at least 16MB of memory (or at least 4MB if you do not want X), you may try to install Linux on it and see if you are happy.


Assembling the box

After you saw the interior of a computer, you certainly have some idea about what to do:

  1. Get rid of static electricity (touch something grounded) and never touch pins.
  2. Following the manual and common sense, configure the motherboard with jumpers (do not overclock until everything works fine), install the processor and the memory module(s), fix a cooling fan on the processor, and screw solidly the motherboard to the case.
  3. Connect the motherboard to the power supply (Correctly!!! On AT motherboard, the two black wires should be next to each other!!!).
  4. Attach the wires from LEDs, speaker, and reset buttons to the motherboard. Usually, "red" is "plus" and/or "black" is minus. It is a good idea not to connect any of these wires with the motherboard. On the other hand, particular beeps during the boot-up give you information about particular problems with the computer, and RESET is handy if the kernel halts at boot, e.g. when it can not mount the root partition.
  5. Drives:
    • Write down Cylinders/Heads/Sectors information from the table on the hard drive.
    • If you only have one EIDE hard drive and one EIDE CD-ROM, set them both with jumpers to "master" (this is usually the default).
    • Mount hard disk drive, floppy drive, and a CD-ROM.
    • Connect the hard disk drive to "primary HDD" and the CD-ROM to the "secondary HDD" outlets on the motherboard (under Linux, primary master is /dev/hda, secondary master is /dev/hdc; under FreeBSD, primary master is /dev/rwd0, its first partition is /dev/rwd0s1, etc). The marked cord of a cable connects pins #1 of a drive and of a motherboard; this pin is usually closer to the middle of a disk drive (by the power connector), try to spot "1" there. Things will not blow up if you make a mistake. The system will refuse to boot, though: as far as I remember, the drive's LED will stay on.
    • Connect the floppy drive to the corresponding outlet on the motherboard. For the first floppy drive (/dev/fd0), use the farthest end of the cable (after the "twist" in the cable). "1" is usually on the other side from the power connector on the floppy drive (the bigger connectors are for old 5.5'' drives).
  6. Put a video card (solidly) in a slot on a motherboard and fix it with a screw.
  7. Connect the cables from the power supply to the cooling fan and to the disk drives.
  8. When putting an internal modem (you may postpone this):
    • Usually there are two built-in serial ports (COM1 and COM2) on the motherboard; if you are only going to use COM1 (for a serial mouse), then you may disable COM2 at boot-up (entering BIOS setup), and set the modem to COM2 (which is /dev/ttyS1 in Linux, /dev/cuaa1 in FreeBSD) and IRQ 3.
    • If you want to keep COM2 for something else, you may set modem's jumpers to COM3 (/dev/ttyS2) and IRQ 5, 6, or 7 (whichever is not used by e.g. soundcard, ethernet card, or parallel port). You would then need to configure that port with e.g.
      man setserial
      setserial -b /dev/ttyS2 autoconfig auto_irq
      setserial -g /dev/ttyS2
      
      before you can use a modem.
  9. To install an external modem, read its manual (or just plug it into COM2).
  10. If you would like to play audio CDs on the CD-ROM, you need to connect its audio output with the sound card. There should be some 4-pin cord for this.
  11. Connect a monitor, a keyboard, and a mouse: if it is a serial mouse, plug it into COM1 (/dev/ttyS0 in Linux and /dev/cuaa0 in FreeBSD).
  12. Throw in a boot disk (floppy or a CD), fix a glass of whiskey, and power everything on.
  13. Press DEL to configure BIOS and follow the manual of your motherboard. Set the Cylinders/Heads/Sectors information about your hard drive (usually "primary master"). Newer disks and motherboards are usually happy when you use AUTO and LBA settings in BIOS. Also set AUTO to where CD-ROM is (the "secondary master"?). Specify the boot sequence in BIOS Features Setup (to boot from a floppy (A) or CDROM). (Note that some old cd-rom drives may refuse to boot, so that you would need to access them after booting from floppy.) If you have ECC memory, enable Memory ECC check (in Chipset Features Setup). Turn off the on-board COM2 if you have an internal modem set to that port (in Integrated Peripherals).
  14. AnandTech contains suggested BIOS settings for a variety of motherboards, but this fine adjustment waits a year or two.
As a boot disk, you may try a Rescue Disk from Debian (see Installing Debian Linux) or a boot/rescue disk from any other Linux distribution. When the kernel boots, it lists what it sees on your system, so that you know whether you are on a right track. To scroll back, press Shift-PageUp. Instead of /dev/ttyS1 and alike, a kernel may say /dev/ttyS01. If the drivers corresponding to certain hardware (like ethernet cards and soundcards) were not originally compiled into the kernel, that hardware would not be mentioned.

An additional source of information: Installing a Motherboard.

If the system does not boot:

  • Grin and say "I knew it".
  • Check all connections. Is there power? Make sure that everything (videocard, memory, and CPU) fits solidly. Pool away as many add-on cards and things as you can (soundcard, modem, etc.).
  • Some peculiar beeps with no signal to the monitor (monitor power light stays or slowly blinks yellow and does not turn green) may mean that the videocard does not sit nicely in its slot (or that the monitor is not connected or that the cable is bad; look at its pins).
  • If there is a video signal but not much else, reset the memory (or replace it if you have another module).
  • If there are disk drive problems, you would see some error messages (if the drive's light does not go off, the connection may be wrong).
  • If you are still reading: bad luck.
    • Try to check memory and CPU on a working system.
    • See if the pins of CPU are bent (never touch pins with hands or anything metal!). I once had to straighten several bent pins with a plastic toothpick (and then the system booted).
    • Try setting moderate parameters (non-PC100 memory, etc.). Reduce clock rate.


Installing Linux

For a few dollars you can order a CD from CheapBytes or LinuxMall.

Most distributions can be downloaded from the net (real hackers download Linux via modem :-)


Other links

Looking for low prices on the web: PriceWatch and Shopper

Some people buy parts at auctions: PCAuctioneer.com and Onsale.com

Hardware information:

Perfecting your working environment:


Disclaimer

    No responsibility for any loss and/or damages incurred as a result of using this document (or otherwise not using it) is assumed whatsoever. This manual is most probably not suitable for you if you have some specific needs, such as running particular hardware-sensitive applications, or using special hardware. Proceed at your own risk and use your own judgment.


Andrew Comech
Mathematics Department
SUNY at Stony Brook
Stony Brook, NY 11794

The home for this article is: http://www.math.sunysb.edu/~comech/tools/CheapBox.html

He is however looking for someone to update and maintain this document. If you are interested take a look here.


Our content can be syndicated: Main page Mac Page

Copyright 1999-2005 Noel Davis. Noel also runs web sites about sailing and kayaking.
All trademarks are the property of their owners.
All articles are owned by their author