Via EPIA 800
Overview
Got myself a Via C3 EPIA 800 board, so that I could build a tiny low power Linux server, with a LCD/kbd/mouse for surfing, listening to music and so forth.
These are my setup notes.
I powered it up connected to the drive for an existing Ubuntu server and it worked, so I put it into a PC case, attached a random hard drive I had lying around, and tried to do a network install of Trustix 3. That crashed. So...
Hardware
- The Via board currently lives in a PC case.
- It is connected to a 200 GB Maxtor DiamondMax 10 drive.
- Power supply is an Antec 65W MicroATX from an HP Vectra.
- Plugged into the serial port, a Magnavox MX-9212 GPS receiver.
- In the parallel port, an HP Laserjet 4ML
- USB port 1: an APC UPS
- USB port 2, a Logitech mouse
- Keyboard, a Belkin PS-2
- Audio line output: a pair of Acoustic Partner speakers
- Video: an Asus flatpanel LCD
Northbridge: PLE133
Audio -- trying to build Alsa support and trying to use the Via driver from http://www.viaarena.com/PageId=294#md
ALSA works fine. You get it when you build a 2.6 kernel. Run alsaconf to set up the kernel modules and set default audio levels.
It's still kind of crackley and noisy.
Southbridge: 8231
Sensors: There don't appear to be any sensors to speak of. The CPU fan is 3 wire so in theory it has a speed sensor. Hmm... disappointing.
Cooling
The standard C3 cooling fan was very whiny. The smaller they are the more annoying; 6000 rpm. I removed it and its heatsink and installed a Zalman Northbridge heatsink. I added a duct (cardboard) from the power supply fan, and put its fan and another 80 mm fan onto a speed controller / temperature monitor. Now it is both cool and quiet.
Software
Big note: VMware-player will not run on this machine. It requires the CMOV instruction which is not implemented in the C3.
Operating system
I did a network install of Ubuntu. The install worked fine, but the system crashed periodically. I found some notes saying this fellow has a kernel compiled that works better with the C3 processor. http://zagar.cactus.org/via/
But I don't especially like GNOME so I backed off and installed Debian.
Debian
The mirror is so close for Debian, seems a shame not to use it. (I live a mile away from the Oregon State Open Source Lab.) So I will.
I did a network install (booting system from the old server over network.)
Here is a page about installing the old "Woody" version: http://www.debianplanet.com/node.php?id=818
I don't want Woody, I want Sarge (current stable release) so
On the boot server
Unpack the tar in /var/lib/tftpboot (This assumes the dhcp and tftpd servers are already set up.)
Reboot the C3 from network card.
It should come up in the debian installer now.
Tuned the hard drive
Hard drive performance was ABYSMAL. After tuning with "-d1 -X66 -m16" performance jumped from 2 MBps to 88.
non-686 code
From http://five.nocrew.org/via/debian.html
Dealing with non-686 software
Although VIA C3 is i686 compliant, some software packages use non-i686 compliant instructions (like cmov) in their i686 distributions. Examples for this is libcrypto and libssl.
You should compile and use a i586/MMX compliant kernel for VIA C3. When using apt-get and install on some packages like libcrypto and libssl, you can have problems running them. Just copy the libraries in /usr/lib/i586 to /usr/lib/i686.
Building a C3 compliant kernel
Initially I compiled a 2.4.32 kernel setting it for C3 processor and the system is now very stable.
Today I broke down and installed a 2.6 series kernel. Now I have to get audio working again.
This C3 is a Samuel 2 processor and the recommended compiler flags are:
-march=c3 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx
See http://www.courville.org/phpwiki/Gcc
I had to build an initramfs too, installed initramfs-tools and used the command
VERS=2.6.15 mkinitramfs -o /boot/initramfs-$VERS $VERS
Services on this machine
ssh server
dhcp server
privoxy (dont think i really need squid)
apache2 + php
ntpd
nfs + samba
cups
New fun stuff
rrdtool
To collect data from the GPS, mostly.
rrdcollect rrdtool torrus-apache2, torrus-common (Torrus project)