Via EPIA 800

From Wildsong
Jump to navigationJump to search

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

wget ftp://debian.osuosl.org/debian/dists/stable/main/installer-i386/current/images/netboot/netboot.tar.gz

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.

Building a kernel on Debian

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)