File: building.html

package info (click to toggle)
lg-issue18 3-1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 2,924 kB
  • ctags: 146
  • sloc: makefile: 30; sh: 3
file content (272 lines) | stat: -rw-r--r-- 14,636 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
<!--startcut ==========================================================-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>Building Your Linux Computer Yourself Issue 18</title>
</HEAD>
<BODY BGCOLOR="#EEE1CC" TEXT="#000000" LINK="#0000FF" VLINK="#0020F0"
ALINK="#FF0000">
<!--endcut ============================================================-->

<H4>
&quot;Linux Gazette...<I>making Linux just a little more fun!</I>&quot;
</H4>

<P> <HR> <P> 
<!--===================================================================-->

<center>
<H2>Building Your Linux Computer Yourself</H2>
<H4>By Josh Turial,
<a href="mailto:josht@janeshouse.com">josht@janeshouse.com</a></H4>
</center>

<P><HR><P>

<P>I've been in the habit for years of building my own PCs, partly for
the cost savings, partly because I'm a geek, and partly (mostly), because
I've found the best way to tune a system exactly to my liking is to pick
only and exactly the parts that I need. Once I discovered Linux a couple of
years ago, I had the perfect match for my hobby. I'll lay out on these
pages what I've learned by trial and error, what to look for in a DIY
computer, and how to best mix-and-match according to your desires and budget.

<P>For starters, the key to building your own system is to find the best sources
for parts. Computer Shopper is probably the DIY bible, crammed with
mail--order ads from companies selling parts. I prefer the face-to-face
purchase, myself. Most of my buying takes place at the ubiquitous
"computer flea markets" that take place every month or so in most
major metropolitan areas. In Greater Boston (my stomping grounds), there are
two major shows put on; KGP and Northern. These are held in halls around the
metro area, and there's one every few weeks within driving distance. 
Typically, many vendors attend all the shows in a given area.

<P>Most vendors are pretty reliable in my area (your mileage may vary), and are
usually willing to play the deal game. This is where your objectives come
into play.

<P>Fortunately, Linux isn't too picky about the hardware it runs on--just
about any old CPU will suffice. The major areas of concern are in deciding
whether or not to use IDE or SCSI drives and what type of video card to
install. Assuming that you will use a standard Linux
distribution, the screaming video card that plays Doom at warp speed under DOS
may not be supported by Xfree 86. For instance, the immensely popular Trident
9440 VGA chipset only recently became supported by X, though it shipped with
Windows 95and OS/2 drivers. Anyhow, in making these decisions, I have a
simple checklist:
<ul>
<li>Will the system only run Linux, or will you dual-boot another OS?

<li>Are you going to power-use the system?

<li>Will you connect to the Internet over a network, or will you use a modem
and dial-up?
</ul>
<P>The answers to these questions should help determine what you need to
purchase. First off, let's cover processor type/speed and RAM. Linux is
somewhat more efficient in its consumption of system resources than DOS (or
pretty much any other Intel OS), so you may not necessarily need the screaming
Pentium 200 that you need for your Windows 95 system. In the Pentium class
processors, currently the 100 and 133 MHz Pentiums are the best values in
bang-for-the-buck specs. Both chips are well under $200, and the
100 MHz processor is close to $100. I tend to suggest those processors that
operate on a 66 MHz motherboard bus clock (like the above two chips--the P166
and P200 are also in that category). Generally speaking, the faster clock
speed of the Pentium 120 and 150 are offset by the slower 60 MHz bus and
higher price. A good PCI motherboard to accompany the chip costs about
$100 to $150. Stick with boards that use the Intel chipset for safest results,
though I have had good luck with other vendors.

<P>If you don't need to go Pentium class, there are some bargains out there.
 AMD makes some very good 486 chips, running at up to 120 MHz. This is about
equivalent in horsepower to the original Pentiums, but without the math
errors. The most recent system I built uses a hybrid motherboard (one older
VL-bus slot, 4 PCI slots), and has an AMD 5x86-133 chip. This processor is
kind of a cross between a 486 and a Pentium, and competes very well with the
Pentium Overdrive upgrades that Intel sells to 486 owners. The 5x86's
performance is roughly on a par with a Pentium-90, and motherboard/processor
combined cost roughly $100 (as opposed to about $150 for the Overdrive itself).

<P>Basically; you can factor out the price/performance scale like this:

<P>
<table>
<tr>
<td>ProcessorBus</td>		<td>Performance</td>				<td>Price</td>
</tr>
<tr>
<td>486 (66-120MHz)</td><td>VL bus</td>		<td>low-decent				$75-$100</td>
</tr>
<tr>
<td>5x86VL PCI or both</td>	<td>low-end Pentium</td>		<td>$100-$120</td>
</tr>
<tr>
<td>Pentium 100PCI only</td>		<td>Good for multiple OS</td>			<td>$200-$250</td>
</tr>
<tr>

<td>Pentium 133PCI only</td>	<td>Fast Linux, games'll rock</td>		<td>$300-$350</td>
</tr>
<tr>
<td>Pentium 166PCI only</td>	<td>Wow, that's fast!</td>	<td>$475-$550</td>
</tr>
<tr>
<td>Pentium 200PCI only</td>	<td>Ahead ludicrous speed, cap'n!</td>	<td>$700+</td>
</tr>
<tr>
<td>Pentium ProPCI only<td>	<td>If you need it, buy it built...</td>
</tr>
</table>


<P>When you buy the motherboard, there is another factor that has recently become
worth considering: what form factor do you use? Newer Pentium and Pentium
Pro-based motherboards are often available in the ATX form factor.
 The board is easier to service, and the cases are easier to take apart. ATX
boards and cases are a little tougher to find, but there is no real cost
difference between ATX and the traditional Baby-AT form factor, so
you may wish to consider the ATX alternative at purchase time.

<P>If you buy the motherboard and case from the same vendor, often they will
mount it in the case for you. If you do it ourself, be careful to make sure
that the power supply is properly connected, both to the motherboard and to
the power switch. Power supplies have two keyed connectors attaching them to
the motherboard. It is difficuly, but not impossible, to wire them wrong (I
have a friend who did), so make sure the black wires on the power leads are
touching on the inside:

ADD DIAGRAM HERE
<P>The motherboard also should be connected to the case with at least two
spacers that screw down in addition to all the plastic posts that will be in
the case kit. This insures that cards fit properly, and keeps the board
stable.

<P>Besides the processor/motherboard combination, there are other performance
issues, of course. RAM is finally cheap enough that you should buy at least
16 MB worth (about $100 at current street prices). Linux will run OK in 8 MB
(and even 4 MB is OK for text-based work), but why scrimp there when it costs
so little to do it right? If you buy from a show vendor, make sure they test
it in front of you. Any reputable vendor has their own RAM tester. 
Generally, there is no real price difference between conventional fast-page
RAM and the slightly faster EDO variety, but make sure your motherboard uses
the type of RAM you're buying. Most better motherboards will happily
auto-detect the type of RAM you use and configure themselves correctly. But
you can't mix, so make sure you only install one type, whatever that is. 
Newer Pentium chipsets support the newer SDRAM, which promises even more
speed. I have not yet tried it in a system, so I cannot tell you whether or
not that is so. Buy 32 MB if you can afford it--you won't regret it.

<P>There's also the IDE-SCSI decision. IDE interfaces are built into most
modern motherboards, so it costs nothing extra. And IDE hard drives are a
little cheaper, and IDE CD-ROMs are fast, cheap (under $80 for a 4x drive),
and easy to set up. But the controllers only support four devices total (two
ports, with two devices each), and each IDE channel is only as fast as the
slowest device on it (meaning you really can only have two hard drives, and
the CD-ROM has to go on channel 2). And modern multitasking OSs like
Linux can't get their best performance out of IDE. But it's cheap
and easy. SCSI is higher performance, and has none of IDE's restrictions
(up to 7 devices per controller, no transfer rate limit beyond the
adapter's), but the controller will set you back $70 (for a basic Adaptec
1522) to $200 (a PCI controller) plus. The drives don't cost much more,
and you can only get the highest performance drives in SCSI versions. SCSI
CD-ROM drives are a little harder to find, but the basic 4x drive will only
cost you about $125. And SCSI tape drives (you were planning to back up your
data, weren'>t you?), are much easier to install and operate than their
non-SCSI counterparts (faster, too). I'd say the decision is one to be
made after you've priced the rest of the system out. If you can afford
it, SCSI will make for a better system in the long run.

<P>The video card decision is also an important one. The critical part of this
decision is picking a card that uses a chipset (the actual brains of the card)
which is supported by XFree86, the standard Linux XWindows with most
distributions. A few distributions (Caldera, Red Hat) ship with commercial X
implementations that have a little more flexibility in video support. I find
S3-based video cards to be the most universally supported--the S3 driver in
XFree86 is very solid and works even with most of the generic, no-name video
cards on the market. The S3 cards generally have a large (about 1.5" x
1.5") chip with the S3 brand name prominently displayed on it. Diamond
and Number Nine make extensive use of S3 chips in their video card lines, to
name a couple of brands. Among other SVGA chipset makers, Cirrus and Trident
are also well-supported. Only the latest X versions include support for the
popular Trident 9440 chips, so be careful before buying a video card with that
chipset. XFree86 includes a very complete readme with the status of support
for most video cards/chipsets, so consult it if you have any questions.

<P>Your sound card (if you want one) is a relatively simple decision. The
SoundBlaster 16 is the defacto standard for sound cards, and is supported by
virually all software. Some motherboards even include the SB16 chipset on
them. If at all possible, buy your card in a jumpered version, rather than
the SoundBlaster 16 Plug-and-Play that is popular today. Most vendors have
jumpered versions available. There are also SB16-compatible cards out on the
market, and they are definitely worth considering. Expect to pay around $80
for your sound card.

<P>Possibly the choice that'll get me in the most trouble is the Ethernet
card selection (if your system is going on a LAN). A Novell NE2000 clone is
the cheapest choice you can make (the clones cost around $20), but most clones
will hang the machine at boot time if the kernel is probing for other Ethernet
card brands when the NE2000 is set to its default address of 300h. The
solution is to either boot from a kernel with no network support (then
recompile the kernel without the unneeded drivers), or to move the address of
the NE2000 to another location. I've used 320h without problems to avoid
this hang.

<P>But the best way around the problem is to use a major-brand card. I currently
rely on 3Com's EtherLink III series cards (the 3C5x9), which are
universally supported, and software-configurable (from DOS, so keep a DOS
floppy around). It's available in ISA or PCI versions, ISA being
cheaper. This card costs around $90 from most vendors. I know that's
more expensive than some motherboards, but it's a worthwhile investment.

<P>If you are using dial-up access to the Internet instead (or just want a modem
anyways), you can approach buying a modem with two alternatives. If your
motherboard has built-in serial ports (almost all the non-VL bus boards do),
then you could buy an external modem. I prefer them to internal modems, since
the possibility of setting an address incorrectly is then gone, ad you can
always tell if it is working from the status lights on the front of the modem.
 Internal modems generally cost a little less, but there's a greater risk
of accidentally creating an address or interrupt conflict in the process of
installing it. An additional problem is that many modems sold now are
plug-and-play compatible. Unless you're already running Windows 95,
P&P is a scourge on the Intel computing world (Macs do P&P in a
fashion that actually works). Because most Intel-based OSs need to know
the interrupt and memory location of peripherals at boot time, any inadverdent
change caused by a P&P device can adversely impact the boot process. 
Linux can find many devices regardless (SCSI controllers, most Ethernet
cards), but serial ports and sound devices are hard-mapped to interrupts at
the OS level. So try to make sure that any such devices can be operated in a
non-P&P mode, or in the case of modems, buy an external one if possible to
avoid the situation entirely.

<P>Remember, there are really two bottom-line reasons to build your Linux box
yourself. One is to save money (and I hope I've shown you how to do
that), but the real main reason is to have fun. Computing is a fun hobby, and
building the system yourself can be a fun throwback to the early days when a
computer was bought as a bag of parts and a schematic. I've been
building machines like this for several years, and never had trouble--not to
mention that I've gotten away with bringing in a lot of stuff under my
wife's nose by buying them a part at a time! (Oops, the secret's out)
So, for your next computer, give homebrewing a whirl. It'ss
easier than you think, and what better companion for a free, home-brewed OS
than a cheap, home-brewed PC?

<!--===================================================================-->
<P> <hr> <P> 
<center><H5>Copyright &copy; 1997, Josh Turiel<BR> 
Published in Issue 18 of the Linux Gazette, June 1997</H5></center>

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc18.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif" 
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../lg_frontpage.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./gnu.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./tmp.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 
<!--startcut ==========================================================-->
</BODY>
</HTML>
<!--endcut ============================================================-->