Andrew Comech has written this article describing how to build a cheap but good Linux box.
Here's a nickel, kid. Get yourself a better computer.
The Cheap /Linux/ Box
How to build
a cheap reliable x86 box suitable for Linux.
Your contributions are appreciated.
How to contribute:
The page badly needs a revision of graphics cards.
Is ATI Xpert98 still the best value?
- download the page and make your changes;
the updated page and mention the changes you made;
- I will moderate and post it
Last complete revision date: April 12, 2000
- Generic parts
- Categories where incompatible parts are readily available:
- Assembly and installation
- Other links
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),
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
number of the slots for memory modules and the maximum amount of
cached memory, which is determined by the size of the motherboard cache
Certain restrictions on the supported memory.
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;
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
(for a more comprehensive list, see
CPU Sockets Chart.
For specifications of chipsets and processors, see
For recent chipset news, see
- Socket 7 (321 pin ZIF).
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).
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.
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).
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
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:
Slot A motherboards site,
- 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.)
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).
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),
(with error checking and correction),
(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!
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
(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.
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
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 :-)
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.)
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.
A monitor is the most expensive and important part,
which is to outlive a few generations of your computers.
To ask the least:
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.
- at least 16'' viewable area,
- at most .26mm pitch size,
- at least 80Hz refresh rate with
your preferred resolution.
I can not suggest much;
I think the best is to go for one of the
with huge bandwidth of 200MHz.
Look up the prices at both
As of April 2000, you can find PS790
for below $500, including shipping.
>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.
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
(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).
and in particular the list of
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).
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
mentioned in Xfree86 3.3.6 as supported.
Cheapies: Below $30 (do not buy them):
Video-87 AGP 3D
is based on
Trident 3DImage975 chipset which is listed as
supported by Xfree86 release 18.104.22.168,
although people have had many problems with it.
If you are interested,
have a look at
Configuring videocards with Trident 3DImage975 chipset.
S3 Virge DX, 4MB, AGP.
PCI version is mentioned to work with 3.3.2.
There are complaints about AGP version.
S3 Virge GX2,
4MB, 2x AGP.
Can require a lot of work.
People mentioned "xaa_no_color_exp" option and XF86_SVGA xserver.
DO NOT buy S3 Trio 3D: too many complains.
Number Nine Revolution 3D, 4MB, AGP.
Is mentioned as working (XF86_I128 xserver).
Diamond Multimedia Speedstar A50 and clones,
Many people complained about this card...
Still, the card is mentioned as working as of Xfree86 22.214.171.124
People mentioned options
"no_bitblt", "no_imageblt", "sw_cursor"
in XF86Config file
(and specifying the amount of VideoRam in the "Device" section);
others also mentioned "no_linear", "no_accel", and "fifo_moderate".
Better videocards for Linux:
ATI Xpert 98,
ATI 3D Rage Pro
8MB, 2x AGP, clocks up to 230MHz. Around $45.
I ran this card under Xfree86 126.96.36.199a and later
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.
Information for Matrox Millennium Users.
- 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.
Any modem with the standard serial interface, RS-232,
All you need is
to stay away from modems with USB interface
and from obsolete modems with
(among old 14.4 and 28.8 modems).
- Internal ISA modem:
you should avoid
controllerless modems and software modems.
The former are known as winmodems, aka
HCF (Host Controlled Family),
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.
controller-based ISA modem,
Very bad signs:
anywhere on the box,
Designed for Windows,
CPU: Pentium or higher,
Auto IRQ and COM Selection,
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
are not modems.
There are only a few PCI modems which work under Linux;
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
Where to buy Linux-compatible modems:
Only modems mentioned at
When placing an order,
match the model number and chipset against that list
(I tried to avoid confusing models..).
No responsibility is assumed whatsoever.
a hardware-based internal ISA modem,
V.90/K56Flex, jumper configurable, no PnP,
Rockwell RC56D/SP chipset.
an internal ISA modem, V.90/K56Flex, PnP or jumper configuration,
Rockwell RC56D/SP-PnP chipset.
an internal ISA modem, V.90 ONLY
be flashed to be either x2 or V.90), PnP or jumper configuration,
Cirrus Logic 5650/5652 chipset.
(There is also
an internal ISA modem with TI chipset,
V.90 & x2, PnP or jumper configuration.
Also works under Linux.)
an internal ISA modem, V.90 & x2, PnP or jumper configuration,
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.
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
database. Price comparisons can be found in those listings, or at
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).
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.
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
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):
It is a good idea to have a card
with both twisted pair and thinnet transceiver built-in.
10Base2, thinnet or thin ethernet cable.
RG-58 coaxial cable with the BNC (metal push and turn-to-lock)
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).
10Base5, the older thick ethernet (10mm coaxial cable), only found in
older installations. The 15 pin D-shaped plug (the AUI connector).
If you are starting from scratch:
The parts you need to get to at least boot up
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).
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:
As a boot disk, you may try a Rescue Disk
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.
Get rid of static electricity
(touch something grounded)
and never touch pins.
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.
Connect the motherboard
to the power supply
(Correctly!!! On AT motherboard,
the two black wires should be next to each other!!!).
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
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.
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"
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).
- Put a video card (solidly)
in a slot on a motherboard
and fix it with a screw.
- Connect the cables from the power supply
to the cooling fan
and to the disk drives.
When putting an internal modem (you may postpone this):
To install an external modem, read its manual
(or just plug it into COM2).
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.
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).
Throw in a boot disk (floppy or a CD),
fix a glass of whiskey,
and power everything on.
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).
contains suggested BIOS settings
for a variety of motherboards, but this fine adjustment
waits a year or two.
An additional source of information:
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.
For a few dollars you can order a CD
Most distributions can be downloaded from the net
(real hackers download Linux via modem :-)
Looking for low prices on the web:
Some people buy parts at auctions:
Perfecting your working environment:
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.
The home for this article is: http://www.math.sunysb.edu/~comech/tools/CheapBox.html
SUNY at Stony Brook
Stony Brook, NY 11794
He is however looking for someone to update and maintain this document. If you are interested take a look here.