![]() |
Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU |
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
![]() |
|
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |