The Alix Software Project
PC-Engines™ Alix-Boards are x86 compatible embedded systems. Due to the very low power consumpion (about 4-8 Watt) they are very suitable to be used as routers, NAS or for many other purposes. They are available in several flavours and so they have been adopted in many products (see examples).
YeaSoft's Alix Software Project aims to offer a software platform for creating useful appliances based on PC-Engines™ Alix Boards by providing articles with solutions for many common tasks and cookbooks, images and templates for ready to use appliances.
The Alix-Systems produced by PC-Engines can be roughly categorized in two groups: PC-like systems with one network adapter and VGA connector (Alix.1D, Alix.3C3 and Alix.3D3) and embedded systems with up to three network adapters and serial interface (Alix.2 Series and several models from the Alix.3 series).
This article series mainly covers the second category, since those devices comply more with the "appliance"-idea. The x86 compatibility gives a huge flexibility in the choice of operating systems. All samples and images provided in this article series refer to both Ubuntu and Debian. Also all related downloads will be available for Ubuntu and Debian. Unfortunately it seems that Ubuntu focusses more and more on Desktop-Installations. This is notably evident when looking at the number of packages included in the minimal installation, the continuously growing size of the initial ramdisk and the minimal memory footprint and the decreasing support of multiple processor platforms - in particular the dismissed support for P5-compatible processors starting from Ubuntu 11.10. Because of this, all Ubuntu related stuff will refer to the LTS version 10.04.
Components of the Project
Part 1: The Rescue and Preinstallation Environment
Every system needs a starting point, a simple way to make it work on the fly without many hassles. Let's say: a live-system usable both as a rescue system when the primary system is damaged or broken and as a preinstallation environment for initially setting up your device. It should be compact, simple to deploy but it should also contain everything you need. It should be bootable from a local storage device and from the network. Enjoy alix-rescue, a life-system created with UIC and available in Debian and Ubuntu flavours.
Part 2: The Boot Framework
Embedded system boot strategies differ somewhat from standard Linux systems that generally boot an operating system directly from the primary partition using a boot manager like GRUB or LILO. An embedded system should support multiple boot banks (alternative systems), fallback to a rescue system and different system layouts optimized for space, simple deployment, resilience and recovery featuring loop filesystems, COW (copy on write) and other useful techniques. Part 2 will cover all these topics and offer many downloads of ready to deploy image files.
Part 3: The basic OS Templates
The start point for efficient appliance design are well assembled operating system templates. These templates should be as basic as possible but containing at least everything needed to support the previously presented boot and deployment methods. Part 3 will present the operating system templates containing all addons needed to create great appliances.
Part 4: A full featured SOHO Router
One of the ideal appliances that can be implemented on Alix-Boards is a powerful SOHO VPN and Wifi Router supporting many advanced features. Part 4 presents a system configuration and the related UIC templates.
Based on the feedback received, the article series will continue covering more and more application scenarios, so stay tuned!