Notes from MSI Wind server installation

December 15, 2008: I wrote this post back in August but never got around to editing it. The server has been running perfectly since then.

The MSI Wind PC is a barebones Atom-based PC. The case is small but not tiny. With shipping and sales tax from NewEgg, the cost was $165.34.

The goal is to make this box into a simple but capable home Linux server. I already have an Infrant ReadyNAS, which is a fantastic file server, but just too slow to serve any other function such as a Squeezecenter server. I figure the two machines together will handle most of my home hacking needs, and most of the day they'll together consume less than 50 watts.

Step one: install required hardware. I plugged in a 512MB SO-DIMM from an old laptop, and then a 2GB CompactFlash card for the OS. I had to take apart the entire thing to get the CF card plugged in, because the socket ridiculously abuts the case wall. Otherwise, no problem.

Step two: install OS. The RTL8111C network adapter wasn't incorporated into the Linux kernel until 2.6.26 or so, which meant this would be challenging. I got a CentOS 5.2 DVD and put the RealTek driver source on a USB drive. The CF card's slow write speeds meant the installation was slow (45 minutes). After reboot, I copied the driver source to /root, then built and installed it. On reboot, sure enough, I had a working eth0. By the way, during the installation my Kill-A-Watt showed the box at a fairly constant 20W.

Step three: tuning. Added a few quick ramdisks to take care of most unnecessary CF writes in /etc/fstab:

tmpfs /tmp tmpfs defaults,mode=1777 0 0
tmpfs /var/cache tmpfs defaults,mode=1777 0 0
tmpfs /var/log tmpfs defaults,mode=1777 0 0
tmpfs /var/run tmpfs defaults,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,mode=1777 0 0
tmpfs /var/lib/squeezecenter/cache tmpfs defaults,mode=1777 0 0

(It seems like there must be a better way to do this, but I didn't want to muck with too much on the system that yum would then unravel.)

In order to get the system to boot after this, I had to switch SELinux to permissive; otherwise, it seems like all the startup scripts that wanted to write to the tmpfs filesystems during boot failed because the filesystems were read-only. And thus I blow right through another New Year's resolution to learn SELinux instead of being lazy.

Then yum -y update, and once again rebuilt the RealTek driver for the updated kernel.

Over the next couple days I'd occasionally do a query like this to see whether anything was being unexpectedly written to flash:

find /etc /var /tmp -type f -and -mmin -45

Based on these results, I configured ntpd to write its drift file to /var/tmp/ntp_drift. Otherwise, everything looked about right.

You might notice that I configured Squeezecenter to store its "cache" data -- which includes the MySQL database where it stores music metadata -- in ramdisk. Yes, this means that it does a full-library rescan on every reboot. I'll see whether this works in practice, but I expect this server to reboot very rarely. I had a home server a few years ago whose uptime was close to a year, so it seems realistic.

Categories

,

Leave a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

About this Entry

This page contains a single entry by Mike Tsao published on December 15, 2008 10:55 AM.

Good music for home movies? was the previous entry in this blog.

kaChing is on TechCrunch! is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.2-en