HOWTO: Installing and Configuring Xubuntu 7.10 on the Data Evolution decTOP

Introduction

The Data Evolution decTOP (previously known as the AMD PIC)
is a small, low-power, fanless PC originally designed as an "internet
appliance" for developing markets. While an earlier version of the
decTOP/PIC used a locked-down BIOS to prevent installation of
alternative operating systems, current units can be used with Linux and
NetBSD.

This document explains the process of installing and configuring Xubuntu 7.10 on the decTOP.
My guide for installing the previous release, Xubuntu 7.04, is still available here.
HOWTOs for installing the older Ubuntu 6.06 release can be found here and here.

While the details of this guide apply to Xubuntu, it should work equally well for the other Ubuntu versions and for
Debian. Note that you'll need to upgrade your decTOP's RAM to at least 256 MB (maximum is 512 MB) if you want to use Ubuntu or
Kubuntu instead of Xubuntu.

What you'll need:

the decTOP system and a monitor

a 1 GB or larger USB flash drive

another PC running Linux or Windows (this HOWTO assumes a Debian or Ubuntu Linux system)

a reasonably fast internet connection for downloading a CD image

Getting the Installation Files:

Download the Xubuntu 7.10 i386 alternate install CD image from a local mirror. The alternate installer
(really Debian's debian-installer) is needed due to its lower RAM requirements and greater flexibility. The file you want is
xubuntu-7.10-alternate-i386.iso.

Go here and download the vmlinuz and initrd.gz
files. These files are special versions of the Linux kernel and initial ramdisk that have been made for use with this installation method.
Don't decompress the initrd.gz file; just save it to disk.

Preparing the USB Drive:

Since the decTOP doesn't have a CD/DVD drive, the normal CD installation procedure isn't an option (unless you happen to have an external, USB CD drive available).
Fortunately, Ubuntu retains some of Debian's flexibility when it comes to installation techniques. My method uses a USB flash drive to boot the system and run the
text-based installer from an ISO image of the installation CD.

You'll need to install a few packages on your existing system so you can set up the USB drive. Again, this guide assumes you're working with an existing Ubuntu or Debian system.
If you're running Ubuntu 7.04 or earlier, install syslinux and mtools. Run:

sudo apt-get install syslinux mtools

Or if you're running 7.10, install syslinux and mbr.

sudo apt-get install syslinux mbr

Plug in the flash drive. Under Ubuntu, the drive should automount to a point under the /media directory and appear on your desktop. Copy off any files that you want
to save and then delete everything on the flash drive.

Verify the drive's device name and format. Flash drives are
usually FAT16 formatted, which is what you want, but it doesn't hurt to
make sure. On my system,

cat /etc/mtab | grep media

returns:

/dev/sdb1 /media/disk vfat rw,nosuid,nodev,shortname=mixed,uid=1000,utf8,umask=077 0 0

That output indicates that the flash drive's device name is sdb, the drive's partition (sdb1) is mounted to /media/disk, and the file format
is FAT (vfat). Make a note of the device name on YOUR system; it may differ from this example.

The flash drive will need a bootloader installed so the decTOP can boot from it; the SYSLINUX bootloader is convenient and simple to use.
To install it to the flash drive, run:

syslinux /dev/sdb1

The SYSLINUX MBR is sometimes flaky. I prefer to use the MBR provided by the install-mbr program. To
install it to the flash drive, run:

install-mbr /dev/sdb

NOTE: SYSLINUX is installed to the partition (/dev/sdb1), while the MBR is installed to the device (/dev/sdb).

WARNING: Be absolutely sure to use the correct device name for YOUR flash drive, as determined in the previous step.

Use the text editor of your choice to create a new file named syslinux.cfg. The contents of the file should be:

default vmlinuz

append acpi=force initrd=initrd.gz

Copy the xubuntu-7.10-alternate-i386.iso, vmlinuz, initrd.gz, and syslinux.cfg files to the flash drive. To verify that you
have the right files on the flash drive,

ls -a /media/disk

should return:

. .. initrd.gz ldlinux.sys syslinux.cfg vmlinuz xubuntu-7.10-alternate-i386.iso

At this point, the flash drive is ready and you can to start the installation. Unmount and remove the flash drive from your PC, plug it into the decTOP, and hit the power button.

The Installation Process

Installing Xubuntu to the decTOP is much like installing on any other PC and the process is much simpler under 7.10 than under 7.04, but there's still one quirk to work around. This
is explained below.

After the decTOP completes its self-tests, you'll see this prompt:

MBR FA:

Press the "a" key and the prompt will change to:

MBR 1234F:

Press the "1" key and the system should boot into the text-based installer.

Follow the prompts to start the installation. The process is fairly self-explanatory and the Ubuntu team has good documentation available
here. Everything should go smoothly up until the kernel installation stage.

Eventually, the installer will complain that "No installable kernel was found in the defined APT sources" and will ask if you want to continue without a kernel. Instead of
answering the prompt, press Alt+F2 to switch to a console. Press Enter to activate the console, and then:

chroot /target

apt-get install linux-generic

Once the kernel installation is complete, exit twice, once to leave the chroot and again to leave the console. Press Alt+F1 to switch back to the installer.
Answer "Yes" to the "Continue without installing a kernel?" question. The installer picks up where it left off and eventually gives you the option of installing the Xubuntu desktop
package; go ahead and install it.

The rest of the installation is smooth sailing; just sit back and wait until the installer tells you to reboot. Be sure to disconnect the flash drive so the system starts up from the
hard drive.

Post-Install Configuration

A few tweaks are necessary to get everything set up properly. I like to take care of these issues on the first boot by booting into single-user mode. When the system reboots
after finishing the installation, press the "ESC" key as soon as the GRUB loading message appears. Pay attention, because you only have about 3 seconds before the system automatically
boots in multi-user mode. Choose the "recovery mode" option and press Enter to boot into single-user mode.

Video/X.org

Unlike the 7.04 release, Xubuntu 7.10 includes the correct video driver for the decTOP's Geode graphics as part of the default installation. Unfortunately, the system doesn't
configure the xorg.conf file to use that driver; it falls back to the generic vesa video driver instead.

To reconfigure your xorg.conf file, you can either run:

dpkg-reconfigure xserver-xorg

and follow the prompts, or manually edit your /etc/X11/xorg.conf file. The proper driver for the decTOP is amd. If you're manually editing your
xorg.conf, look for this section:

Section "Device"

Identifier "Generic Video Card"

Driver "vesa"

BusID "PCI:0:1:1"

EndSection

and change vesa to amd. Note that dpkg-reconfigure will automatically back up your original xorg.conf for you, but if you edit
manually be sure to back up the original file first. For reference, my xorg.conf is available at the bottom of this page.

With my monitor, X.org kept defaulting to 640x480 resolution until I manually specified the horizontal sync and vertical refresh rates and added a modeline to my
xorg.conf file. If you find yourself in a similar situation, there are several online modeline calculators you can use; I've had good luck with
this one.

The EXA acceleration architecture, which was buggy under 7.04, is now enabled by default and seems to work fine. Support for
DPMS has also been added.

ACPI

The kernel automatically disables ACPI because the BIOS doesn't report its age properly. You'll want to enable ACPI (see the Ethernet section for the reason why), so run:

nano /boot/grub/menu.lst

Scroll down to the line that begins with # kopt=root= and add acpi=force to the end of the line. Save the file, then run:

update-grub

ACPI will be enabled on the next boot.

Ethernet

Xubuntu recognizes the decTOP's bundled USB Ethernet adapter as a Realtek RTL8150 and loads the appropriate driver automatically. Unfortunately, on my decTOP the adapter was
flaky to the point of uselessness until I enabled ACPI. After making that change my Ethernet worked perfectly.

Sound

Xubuntu detects and configures the CS5535 sound device automatically; no configuration necessary.

Modem

The decTOP has a Lucent/Agere Winmodem. The modem is supported by the proprietary ltmodem and ltserial
kernel modules. Unfortunately, those modules don't work with the linux-generic kernel provided by the installer. If you want to use the modem,
you'll have to install the linux-386 kernel package. I believe the incompatibility between the linux-generic kernel and the modem drivers may be related to
this long-standing bug.

Minor Issues/Tips:

You'll probably want to edit your APT sources file (/etc/apt/sources.list) and comment out the deb cdrom line near the top of the file. This will prevent Xubuntu from asking for the installation CD while installing packages.

One reader reported that his decTOP refused to boot from a 500 GB drive formatted with a single, very large ext3 partition and a swap partition; making a 100 MB /boot partition solved the problem.

I highly recommend upgrading the RAM to 512 MB; the decTOP takes a single 200-pin PC2700 SO-DIMM. Opening the case is a bit challenging. You'll need a screwdriver or other thin, flat tool to pry up the six plastic tabs holding the case shut.

TODO/Unresolved Issues

When shutting down the decTOP, the hard drive spins down, then spins
back up and remains spinning after the rest of the system shuts off.
I've experimented with various changes to the /etc/init.d/halt script but haven't found a solution yet. I suspect it may be an ACPI quirk. Any help from readers would be appreciated.

Files for Reference:

dmesg output

my xorg.conf file

Copyright © Joseph Gidi 2007

This work is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 3.0 License.