Tuesday, December 1, 2009

Linux on the Micro-Client Sr

Linux on a small power efficient PC

The MicroClient Sr has a VIA UV 500Mhz processor and 512MB of RAM (or 1 GB, for $40 more, see Norhtec.com,). The CPU uses 1 Watt of power. The PSU block uses 15 Watts, at most.
This computer is a SFF (Small Form Factor) PC, and, it is smaller than a stack of 4 CD cases. It can boot from a CF card (the CF card slot is built-in) or from an (optional) internal 2.5 inches hard disk. It has three USB 2.0 ports which are convenient for adding external USB disks, if required.

Even though its CPU has modest power, this small PC can run recent versions of Ubuntu Linux. No need to build a custom kernel, off-the-shelf i386 Linux distros can be run.

It's easy to boot a Linux distro from an external USB CD/DVD unit and install it on a CF card (or on an internal hard disk). What is less obvious is to choose a light enough distro so that it will run comfortably within 480 MB of RAM (32MB are used for the video memory) on a low-power 512 MHz CPU.

That type of SFF PC would typically be used in a car or, bolted to a LCD monitor with VESA screw holes, for some specific applications, such has as monitoring or as a small file server or multimedia server (MP3, MP4). Yet, if the Linux installation is tuned a little bit, it can even play MP4 or AVI videos on a large LCD monitor -- "up to 1920 x 1440" according to the specs from Norhtec. With some simple tweaking, I have had Ok results at 1920x1080 (MP4 Part 2 video, not H264 which is too CPU-intensive).

After trying many Linux distros, including a few versions of Ubuntu, and, of Linux Mint (a descendant of Ubuntu) in June 2008, I managed to get a satisfying install with "Linux Mint 5.0 Fluxbox Community Edition". Since it's based on Ubuntu 8.04 LTS, it's supported for 3 years.

These are the notes from my experimentation in June 2008 (yes, time flies).

Required:
  • MicroClient Sr. with 512MB or 1GB RAM
  • PS/2 (or USB) keyboard
  • USB mouse
  • monitor with VGA connector
  • 4GB CF card (or larger)
  • external USB CD or DVD drive
  • bootable CD "Linux Mint 5.0 Fluxbox Community Edition"
How to install "Linux Mint 5.0 Fluxbox":
1. Download "LinuxMint-5-Fluxbox.iso" from http://www.linuxmint.com/edition.php?id=29 (after download check the MD5 checksum)
2. Burn it on a CD-R
3. When booting the MicroClient Sr, press [F11] to get the Boot Device menu.
Choose to boot from the external CD drive
4. Wait for Linux Mint 5.0 Fluxbox to finish booting. There is a moment when the "boot gauge" might seem stuck (10% roughly), be patient, give it a few minutes, get a cup of tea or coffee or juice.
5. Play with the desktop a little... Fluxbox shows a menu when you click on the desktop. The menu is quite complete.
6. Choose the "Install" menu item and follow the usual Ubuntu install procedures.
7. Reboot... wait for the system to be ready again... login with your userid and password.
8. If you want the system to be fast enough to play video, you need to disable the startup of some "daemon" processes. Edit the file ~/.fluxbox/startup and comment out the following lines:
volwheel # it sucks 40MB of RAM, just to control the volume
mintupdate # you can start it manually from the menu
scrollkeeper # when it indexes the man pages, the CPU slows to a crawl
wicd # useless if you do not have Wifi on that machine.

How to play video files :
You need to install "VLC", a free video and multimedia player. "Linux Mint 5.0 Fluxbox" already defines the "Medibuntu" repository in its apt-get configuration, so it's very easy. You can install VLC from the command line :
$ sudo apt-get update
$ sudo apt-get install vlc

Then, let's say you plug in a USB key with a .mp4 file on it. The Thunar file browser will start automatically. You can see the .mp4 file and right-click on it, and, and choose VLC to Open it.

Et voilĂ  !

Keeping your system up-to-date :
You should regularly run MintUpdate and update all the packages suggested.
NOTE: You do not need to "upgrade" to the new version of the distribution even if MintUpdate suggests it.

If you find some details missing or if you have comments, please write me an email.