The Ultimate Do-It-Yourself Linux Box
Some of us just like to do it ourselves. There's something uniquely satisfying about selecting every component in a system. It allows you to balance the exact price/performance trade-off that suits you best. Do-it-yourself is also one of the best ways to ensure that you have a system that won't become obsolete within six months. For example, most AMD64 motherboards support only 4GB of RAM, but our favorite board supports up to 8GB of RAM. We may never upgrade it to the full 8GB, but it's nice to have that room for expansion. You may not get that kind of room for expansion with a pre-made system.
For those with little patience, we'll get right to the bottom line. Our favorite do-it-yourself combo includes the following:
Motherboard: ABIT AN8 32X 939
Processor: AMD64 4200+ Athlon X2
Power supply: Silverstone SST-ST65ZF 650 Watts
Memory: two sets of Corsair 1Gx2 TWINX2048-3200PRO modules (four total)
Video cards: matched pair of eVGA GF 7900GT 256 (NVIDIA SLI)
Case: Silverstone TJ07-S
Hard drives: 2x Seagate Barracuda 300GB 7200 RPM 8MB cache SATA 3.0Gb/s
DVD R+W: Plextor PX-716AL/SW SATA
Monitor: Samsung LCD 204B 20.1"
Keyboard: Logitech Cordless Comfort Duo (includes mouse)
Mouse: Logitech G7 Laser Cordless mouse
The above list includes the G7 Laser Cordless mouse simply because that is what we ended up using, but we do not include it in our price lists. Your choice of keyboard and mouse are more personal than just about anything else on your system (save, perhaps, your monitor). We like the keyboard in the Logitech Cordless Comfort Duo but not the mouse. So we replaced the mouse with a Logitech G7 Laser Cordless mouse. We don't assume any of you are going to do the same, so we don't make a fuss about keyboards and mice in this do-it-yourself system.
Our goal for the do-it-yourself system was to create a high-powered Linux desktop without breaking the bank. Bang for the buck was our motto. We created a powerful system with components that often fell just below the big price breaks, after which you tend to pay a lot more for only minimal performance gains. In addition, we opted for a fan-based enclosure instead of a more expensive (and usually harder to install) liquid-cooling system.
We also include an alternate budget-minded system. Our do-it-yourself budget system is still pricey, but it delivers a lot of power at a considerably lower price than our favorite configuration.
One very important consideration in our choices was, will this work with most Linux distributions “out of the box”? We installed Debian, Ubuntu/Kubuntu, Fedora Core 5, SUSE 10 and Mandriva on our do-it-yourself system. All of these distributions ran without any trouble and without the need for any additional drivers or special driver management. (We did, however, use the proprietary NVIDIA drivers, not out of necessity, but in order to make use of the SLI features of the motherboards.) We also ran Knoppix, MEPIS and Kanotix live CDs without problems.
We chose to configure our do-it-yourself system around the ABIT AN8 32X 939 motherboard and an AMD64 4200+ Athlon X2 (dual-core) processor. We chose the AMD64 4200+ based on price. By the time you read this, AMD will have lowered the prices on its line of dual-core processors, so you can get more CPU bang for the same bucks than we did. We used two sets of matched pairs of Corsair memory modules (1Gx2 TWINX2048-3200PRO) for a total of 4GB in four slots in dual-channel mode.
The motherboard is the foundation of any do-it-yourself system. We looked at three motherboards, all based on socket 939 AMD64: the ABIT AN8 32X, MSI KN8 Diamond Plus and ASUS AN832-SLI Deluxe. All three motherboards sell for around $200 US or less, depending on your source. The price difference is not significant enough to choose one over another. All of these motherboards support socket 939 dual-core AMD64 chips and dual-channel memory. All of the motherboards support two video cards configured in SLI mode. We tested the boards with two eVGA GeForce 7900GT video cards configured for SLI.
You aren't likely to be disappointed with any of these motherboards. The MSI comes with the Creative Sound Blaster Audigy system integrated on the motherboard, so Audigy fans will love the MSI. Both the MSI and ASUS boards include two LAN ports vs. one port on the ABIT. So if you want two LAN connections, the MSI or ASUS could be the board for you.
However, it is easy to add network cards and sound cards to motherboards. Despite the fact that the memory controller for the AMD64 is on the chip itself, not the motherboard, it is not possible to force a motherboard to support RAM differently than intended—at least it is impossible to make a motherboard support 8GB of RAM if it is designed to support 4GB or even just 3GB in practice. That is why we felt the ABIT trumped the other boards in the long run. It takes better advantage of the memory addressing capability of the AMD64 processor than the MSI or ASUS. The ABIT motherboard supports up to 8GB of RAM. The MSI and ASUS boards say they support up to 4GB of RAM, but they seem to be designed with 32-bit Windows XP in mind, and therefore use only up to 3GB of RAM by default, even if you have 4GB installed. The AMD64 version of Linux saw only 3GB of usable RAM on the MSI and ASUS boards. Although it may be possible to make all 4GB visible to Linux on the ASUS and MSI boards by playing with BIOS settings, the ABIT saw all 4GB without any BIOS modifications. (The MSI manual implies that it is not possible to make more than 3GB visible on that motherboard, but we did not attempt to prove or disprove the implication.)
We populated the ABIT with four 1GB RAM modules, for a total of 4GB. If you run 32-bit Linux, you should still be able to use all 4GB of RAM. A properly configured 32-bit Linux kernel will map the RAM such that a portion of it goes to the kernel and the rest goes to user space. Linux splits up the RAM depending on how you have compiled the kernel (or how it is precompiled on your distribution).
All of these boards have one more unexpected memory quirk. When you populate all four RAM slots, the motherboard clocks back the memory. In our case, it clocked back our memory from 400MHz to 333MHz. This happens regardless of the memory size of the modules you use. The motherboards will clock back the RAM based on the fact that you have populated all four slots, not based on the total RAM in the system.
Again, it should be possible on all of these motherboards to adjust the BIOS settings to reset the clock speed back to 400. The BIOS on one board may make it more difficult to do so than on another, but by the time we addressed this issue, we already were sold on the ABIT. We were able to change the clock speed back to 400 on the ABIT board very easily. We simply set the DRAM timing settings to run “By SPD” (by the speed of the modules). This reversed the clocking back of the RAM and set the speed back to 400. We haven't experienced any instability at this speed, so it appears to be quite safe to make this change. Granted, you may not notice a performance improvement with the higher speed. When it comes to RAM, latency settings tend to affect performance more than speed. We did not risk changing the latency settings to something other than the specifications of the memory modules.
At this point, you should ask yourself whether you really need 4GB or more RAM. A total of 4GB could easily be overkill for many, if not most, users. If you think you will be content with less RAM for the life of your system, that gives you more reason to consider the MSI or ASUS boards, because all three boards will handle two 1GB modules (for a total of 2GB) equally well. But if, like us, you're a glutton for RAM, the ABIT is the clear choice, regardless of whether you run a 32-bit or 64-bit Linux system.
- VMware's Clarity Design System
- Let's Go to Mars with Martian Lander
- My Childhood in a Cigar Box
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- Papa's Got a Brand New NAS
- Debugging Democracy
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- Tech Tip: Really Simple HTTP Server with Python
- Jetico's BestCrypt Container Encryption for Linux