Build your own? Suse 8.2 w/MSI Athlon 2600+

Rich Braun richb at pioneer.ci.net
Tue Sep 2 19:49:23 EDT 2003


I got my start on this list (and its predecessors) building Linux software
distributions--the first one was from scratch, on a 1989-vintage 386.  This
time almost felt like it was from scratch, and I ran into a few issues that
made me want to contribute my experience to the BLU archive for the benefit of
the tinkerers out there.

Scenario:  1998-vintage Pentium-II (333MHz) with 256Mb has almost but not
quite run out of gas, in this era of spam deluge and Apache-centered (LAMP)
bloatware.  At the very least, it was breathing quite hard during the SoBig.F
crisis.

Inspiration:  usually I upgrade old systems by going out and finding whatever
$400 box is on sale at Microcenter.  I saw a PC Magazine article suggesting
that top-quality components can be had in that price range.

Conclusion:  yes, the reporter at PC Magazine is right!  Whilst doing my
tinkering, I happened to take apart my most recent (1.3GHz P4) $400 Power Spec
econo-box.  It had such features as a 180W power supply...ugh, it'll be good
for landfill only.

So, to keep my old mid-tower chassis out of the landfill, I did my shopping at
PCs for Everyone instead:

  MSI K7N2G-L motherboard    $119
  PC2700 DRAM 256Mb (qty 2)  $110
  Athlon XP 2600+ (2.083GHz) $120

Since I already have chassis, power supply, hard drive, keyboard and all that
stuff, a total of $349 essentially got me a new machine.  (You don't need
add-in cards to build a server anymore...I got to retire a graphics adapter
and Ethernet adapter--though I did have to keep the differential-SCSI card
mentioned in my posting about tape drives a few months ago.)

The motherboard needed a tweak from its factory configuration to get the full
2.083GHz speed:  change the FSB rate from 100MHz to 166MHz.  If you have
add-in cards, you might not be able to crank up to full speed.  (I had an
Ethernet card during initial configuration, would only work at 133MHz bus
speed.)

I also picked up a Suse 8.0 CD.  But I wound up trashing that and just going
with my old standby, Internet download.  Suse makes its distro (current=8.2)
available for free via a 6.7-gig download (you only need about 4 gigs of it,
can skip the src directory).  Simply point ncftpget in batch mode at a Suse
mirror server, wait 12 or more hours, and enable an nfs export of the
directory from another system on your LAN.  Works better and more easily than
the CD, once you get the 3 floppies made (you need the boot and two images
named modules1 and modules3).

Hardware comments:

- The MSI board is based on the Nvidia chipset, which has proprietary drivers.
 It was worth it to me because it has dual-ported memory--a much hotter board
than anything else I could find for $120.  You have to get the driver source
kit separately from nvidia.com, and issue a 'make install' any time you build
a new Linux kernel to put the Nforce2 drivers into /lib/modules.
- During initial installation using the stock 2.4.20 kernel, none of the
Nforce2 components will work (USB2.0 ports, Ethernet, audio).  Don't try to
access these components until after you've built and installed a custom
kernel:  the Suse stock kernel will crash.
- Because you need Ethernet in order to do an NFS installation, dig through
your old Ethernet cards and find one that is supported in the modules3 disk
(there is a list of them in modules3.txt in the boot directory).
- This board is 12" high--mid-tower case is minimum.
- You'll be told that you need a 300W power supply.  Don't believe it; no need
to rush out and buy one if you've already got parts lying around.  I ran my
installation on a crummy 180W power supply (at full clock speed), and put the
system in production using my tried-and-true 250W supply.
- I bought two 256Mb DIMMs and am having second thoughts.  If I want to
upgrade to 1Gb or more, I will have to toss these DIMMs and buy 512Mb ones
(there are only 2 dual-ported slots).  The system would be a bit slower if I'd
bought a single 512Mb DIMM, but it will cost me more to do the upgrade once
bloatware gets even more bloated.

Suse installation comments:

- The system comes up in a KDE environment within something like 10 minutes
after you get the floppy-based yast2 installation going.  Out of the box you
get postfix and sshd, and not much else in the way of networking:  expect to
do a lot of tweaks to activate network services.  Software distributors have
learned over the years to shut basically everything off by default; users have
to consciously choose to turn things on.
- I found that the display configuration is *much* more user-friendly in 8.2
than in the 8.0 CD (which basically insisted that I do everything with a
flickering 600x800 display).
- My antique (6.3?) Suse installation had a better rc startup procedure. 
They've split out the /etc/rc.config file into separate parameter files for
each app, pretty similar to the difference between my old inetd.conf vs. the
xinet.d directory full of parameter files.  Progress is in the eye of the
beholder.
- Watch out for paranoid network settings.  For example, the sendmail startup
script contains command-line parameters which, among other things, refuse
remote connections.  I had everything working locally for hours before I
noticed that no mail was coming in.  You actually have to digging through
those dozens of files in /etc/sysconfig to make sure they do what you want.
- One tip for making system migration easier:  use RCS whenever you modify a
distributed file.  Then you can do a "ls -l `find / -name RCS -print`" next
time you need to reinstall a new distribution--and get a handy list of files
that probably will need to be modified in order to make the system work the
way you want.  (Suse includes rcs in an rpm, but it's not installed by
default.)
- My favorite email MUA seems to have gone the way of the dinosaurs.  You have
to get it from ftp.virginia.edu, Suse no longer even provides an rpm.
- I have a long list of downloaded software which needed to be rebuilt on the
new configuration.  Some of the Suse rpm's were out of date, unavailable, or
built with different compile-time options.  I don't have a complete list but
here are some of the packages I had to build or download:  apache, curl,
dcc-dccd, imapd, mysql, openssl, php, python, pyzor, razor2, samhain,
sendmail, squirrelmail, spamassassin, elm, phpmyadmin, gotmail, plus a few
cpan things to support spamassassin.  I might need to rebuild amanda, haven't
tested it yet.
- There was a bit of flakiness in the boot config of yast2.  Lilo seems to
have faded out; this distro comes with grub.  When I changed the hard drive
from hdb to hda, it prepended four extra characters to the file names in this
file:  for example, (hd0,0)/initrd came out (hd0(hd0,0)/initrd.  Fortunately
grub lets you edit all parameters at boot time, so never had an unbootable
system.  Also, you don't have to invoke grub after copying a new kernel to the
boot directory:  you can specify whatever file you want at boot time.  *But*
don't forget to reinstall the nforce2 drivers each time if you have
Nvidia-based motherboard and you want to use the Ethernet/USB/audio.
- If you run dhcpd, you need to specify CONFIG_PACKET (default) and
CONFIG_FILTER (change this!) when building a new kernel from the 2.4 kernel
distribution sites.
- On my old system, I disabled portmap.  It must be enabled in order to use
the NFS client (keep it running until you've gotten everything tested, yast2
will be hungry for rpm's for the first couple days...)
- Sendmail 8.9.12 wouldn't work when I simply rebuilt the version I had
running in my old Suse distribution.  It gave me me a 'class hash' error--I
had to go in with a sledgehammer and force -DNEWDB in a makefile somewhere to
get it to link in the Berkeley db libraries (I forget whether I also had to
manually install the db rpm, but I think so.)

There is a somewhat more technical analysis of the nVidia hardware available
at http://www.linuxhardware.org/features/03/07/10/1551245.shtml .  When
reading that article, remember that the "political" issue with nVidia is its
refusal to GPL its drivers, not a refusal to make source available.  All that
means is an extra step to compile a kernel (Linus can't add an nforce2 subdir
in the stock kernel).  I can't fathom why a company would publish driver
source but refuse to let Linux embed it in stock distributions.  But it's a
minor inconvenience, compared to all the other effort required to get 30 or 40
apps migrated over to a clean distribution from a 5-year-old environment.

My mail server has now been running stable for a few hours (after 3 or 4 days
of tinkering), and is at least 8 times if not 10 or 12 times faster than the
previous system.  If you haven't been tempted to build your own system in the
past, I hope this article whets your appetite.  My focus was on delivering the
best bang for a minimal buck; you might prefer to focus instead on getting
top-end hardware with better quality than you get off the shelf.  I focus on
the low end mainly because I run my old systems into the ground--sexy hardware
only stays top-end for a few months, a small fraction of the production life
of my typical server box.

A mid-tower chassis has indefinite lifespan, do your part for the environment
and consider building your own custom system within your old box.  PCs for
Everyone remains a good place to go for this sort of thing; they do a quick
burn-in test of the memory and processor while you wait.  I think Mainboard in
Waltham provides a similar way to shop.

Next up:  software vs. hardware RAID?

-rich



More information about the Discuss mailing list