OpenBSD on the VIA ML-series Mini-ITX

Contents

Introduction

This page describes my experience installing and running OpenBSD on a VIA ML Mini-ITX fanless workstation. This is a small, quiet black box, running on a laptop power supply, that performs wonderfully as a firewall/router and occasional desktop machine. The machine I bought came diskless and ramless from elx.com.au, for $350 AUD (around $270 USD).

Relevant Documentation

dmesg

Here is the dmesg from a 3.6-current machine.

Xorg

The graphics run on the CLE 266 chipset. This is supported by the "via" driver in Xorg. I had a bit of trouble setting this up, as the console screen is corrupted by Xorg (however the machine can still be logged into over the network). The amount of AGP memory is configurable in the BIOS.

Here is an xorg.conf for 1600x1200, 24 bit mode.

Installation

I was able to install OpenBSD on this machine in 3 different ways:

  1. From a pre-installed hard disk
  2. From a cdrom attached to the second IDE bus
  3. By PXE booting a kernel from another machine on the network

The first two methods are straight forward, the 3rd is probably the easiest and most fun. Network boot support on this machine is flawless (using the vr nic), and recommended for new installations. I was able to install from my laptop on the internal LAN with very minor configuration, following the guide here.

Problems

The only trouble I had installing was with the older hdd I plugged in. This disk would boot a kernel correctly, but if it was written to would immediately become corrupted and cause a lot of "Signal 11" faults from the kernel. Booting from a cd drive also causes fs corruption on the disk, as did network booting.

The solution to this was to use the kernel config editor to disable the pciide device a boot time, so that bios defaults for the disk would be used. At the OpenBSD boot prompt, type "boot -c", which then boots the kernel and enters the kernel editor. Here you can "disable pciide", and "quit", then continue booting. To make this permanent, edit the kernel on the disk, along the lines of:

     # config -e -o bsd.new /bsd
     OpenBSD 3.6-current (GENERIC) #4: Thu Feb 10 12:53:59 MST 2005
        pvalchev@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
     Enter 'help' for information
     ukc> disable pciide
     ukc> quit

And then boot from the bsd.new kernel.

Power Management

It was important for me to keep this machine quiet and cool (I'm sick of loud and hot boxes), and the old hard disk was fairly noisy. Additionally, the disk is rarely accessed. The solution is to enter the BIOS at boot time (hit "Del" on start up) and set the HD to power down after a couple of minutes idle in the power management settings. The BIOS on this machine is friendly and configurable, as far as BIOS' go.

Changelog