Via EPIA 800

From Wildsong
Jump to navigationJump to search

Overview

I got 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 chose to use a Debian distribution. I tried Ubuntu but it is bulky. I had to build a kernel to get stability; modern distros are built for Intel processors and this thing really needs a C3 kernel or it will crash periodically. With the C3 kernel, it is completely stable.

Hardware

  • The Via board currently lives in a custom wood 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 is 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
  • VGA video: an Asus 15" flatpanel LCD

On this board, the northbridge chip is the PLE133 This is the lightweight. No hardware support for MPEG-2 so no DVD watching. I don't have a DVD drive anyway.

Audio -- see 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.

The board will support 6 channel audio.

Southbridge: 8231

Sensors: According to the EPIA howto, I can activate sensors by compiling the vt8231 module and loading it.

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.


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 Debian (I used PXEboot to boot the new system from my old server over the network.)

Here is a page about installing the old "Woody" version: http://www.debianplanet.com/node.php?id=818 But 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.

I have the drive set to spin down after 10 minutes of inactivity.

Settings are in /etc/hdparm.conf

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)

Mini-ITX links

Mini-ITX Madness an article from Linux Devices