Linux distros for AMD Geode LX800 CPU
Some time ago i was searching for a tiny fanless computer to use as an ecological, always-on server to run services on. Computer-based services are increasingly conquering our homes and workplaces, and it makes sense to me that new devices have to appear to make computers less obtrusive in everyday life (noise, heat dissipation, high power consumption, mechanical breakdowns, …) for 24/7 operation.
At this time, the Atom platforms was just apprearing (the eeepc had just appeared), and the alternatives were among Mini-ITX systems, VIA C7 processors, Geode LX800 CPUs, and ARM platforms. Single Board Computer based products were the gradually appearing, and embedded/mobile platforms were developing as well.
The device had to:
- be energy-efficient
- be totally fanless (and possibly, mechanics-less) for zero-dB operation
- run Linux out of the box with Open Source drivers
- fit a tight budget (~300€)
- offer minimal multimedia capabilities (audio support
After some LinuxDevices.com browsing and reading some reviews (like this one), i opted for a 500 Mhz i486 AMD Geode processor, to have x86 compatibility and efficient energy consumption (~3-6W), with 1GB Flash hard drive and 512 MB RAM.
You will want to look for a lightweight (1 GB/i486/500Mhz !) Linux distribution for the device, get ready to fight a capricious BIOS (especially USB Flash disk booting which doesn’t work without some hiccups) and a surprisingly slow CPU. By elimination:
- Archlinux and other “modern desktop” distros are not an option (i586+)
- Source-based distros aren’t either (cross compiling or having a local compilation environment will eat time)
- For both disk space and graphics performance, adequate graphical distributions would be hard to find
- DamnSmallLinux did not boot (!!!)
- Modern Netbook distros rely heavily on Intel hardware and are not i486 compatible
After trying our Ubuntu 8.04 whose apps sometimes throwed “illegal cpu instruction” warnings and no audio support (instead, a continuous buzz), i ended up choosing Debian (lenny) for an excellent compatibility and problem-free installation. For pure network uses, OpenWrt/*BSD/m0n0wall seem like nice choices.
- audio quality is really fine and i use it to wake me up and play music with my lightweight, ncurses-based webradio player, but the Alsa drivers seem a bit unstable (changing volume when playing audio makes audio crash)
- don’t expect a rocket, performance is closer to 10 years old computers (but for a fraction of the power consumption of course). At best you will get nostalgic, but forget about torrent downloading with e.g. Aria2 (you won’t get anywhere with 1GB space anyway)
- no noises, even from the power supply so far
- the device is a bit warm after a few days (~30°) but it’s stable
Here are a few advices:
- if you can, use an USB CD/DVD drive to boot from. The poor man’s install (USB Flash Disk) i a (psychological) challenge:
- most distros are published as .iso images; which means USB-based booting is up to you
- it is always tricky, since not many distros offer .img files or guides
- USB Flash Disks behave differently when booting, and some won’t work for BIOS compatibility issues
- other distros and kernel versions might work, but the one that works for me is the 2.6.26-2-486 kernel (the alsa module is snd_cs5535audio
- not installing xorg is a good incentive to keep things small (1 GB drive…)
It’s been running for the past months and it’s updating my dyndns domain, waking me up with pycwc, wakes up other computers on demand with WakeOnLan (hibernating), and is increasingly becoming more and more useful for daily needs.
If anyone has performance optimizations hints for the AMD Geode LX800 platform or good results with other distros, please post some comments.
[EDIT] I now (2014) use http://linux.voyage.hk/, which is a Debian wheezy (7) based distro with the ALIX profile (it uses a custom kernel (1.9 MB big) with AMD Geode hardware crypto and watchdog support. After a proper apt-get upgrade, docs removal (through the provided remove.docs script) and a few installs (vim, htop, …), root filesystem eats only around 250 MB which is pretty impressive.
rootfs 958M 251M 707M 27% / lsmod| grep geode geodewdt 1760 0 cs5535_mfgpt 2282 1 geodewdt geode_aes 3280 0 geode_rng 704 0 rng_core 2168 1 geode_rng