Building a Linux appliance is a bigger job than one short article can cover. So you will find references to my previous TechBuilder Recipes on installing specific Linux functions. I recommend that you at least look at them before starting:
Ingredients:
To build a Linux appliance, here's the hardware and software you'll need:
The sections below will help you select your ingredients from the wide range of products now available.
Selecting a Linux Distribution
For this Recipe, I recommend that you use a free consumer distribution of Linux, such as Mandrake, Debian, SUSE or Fedora Core. They all have broadly similar performance, but somewhat different UIs and supplied software; configuration utilities are the biggest difference between distros. For most Linux distributions, you can download an ISO (an exact image of a CD that can be burned again into a disc to create a cloned copy) from LinuxISO.org.
If you're building for extremely inexperienced users, however, you might go with a distribution like Xandros. This preconfigures many of the functions discussed here on compatible hardware. You'll also have to buy either one copy per computer or a distribution license.
For this Recipe, I used Fedora Core 2 (FC2). Why? Because it works. Also, I like to avoid leading- and bleeding-edge distros. FC2 comes with the Gnome window manager by default. While there's nothing wrong with Gnome, I prefer KDE. You can download FC2 in .iso (CD/DVD image format) from Red Hat. Alternatively, Red Hat offers this list of vendors from which you can order installation CDs.
Since the OS download will be several gigabytes in total, don't do this by dialup. If you don't have access to a fast connection, either get a friend with a fast connection to download the ISOs or order the CDs.
To follow my instructions exactly, install FC2 and switch the default window manager to KDE in the course of installation. If you don't want to do this, what follows should be useful in a general way, though some of the details may change. Also, plan on a full clean installation, either on a blank hard drive or an older HD on which you intend to trash all the content.
While writing this Recipe, I discovered that Fedora Core 3 (FC3) may solve some of the problems I've solved in workarounds. These include the hot-plugging problem with xsane, which requires a plug/unplug of the scanner for the computer to recognize it. However, the biggest problem with FC2 in terms of installation--namely, the need to download and install all the multimedia due to licensing problems--is not solved in FC3. If you decide to try FC3 instead of FC2, the steps in this article should work. But since I did not test FC3, I can't guarantee it, and your mileage may vary.
Below is a brief configuration walkthrough. If it refuses to install, your most likely problem is a piece of hardware that is not working correctly. But as long as you select hardware as I describe below, you should be able to install your Linux distro without difficulty.
Linux Hardware Compatibility
Existing Computer: To perform a quick test of whether an existing computer will handle Linux, obtain a Linux "LiveCD." This is a CD-ROM that contains a copy of Linux that boots and automatically configures itself to whatever the host x86 machine is; it lets the machine run Linux applications without making any permanent changes to the computer it runs on. Just change the BIOS settings to tell the computer to boot to CD/DVD drive, and load it. If the LiveCD works, then a regular Linux installation should work, too. To download a LiveCD or to get vendor ordering information, visit Knoppix.
Next, make sure the PC hardware is compatible with the intended Linux distribution. Do this by first going to Web sites with listings of compatible components, then by choosing among them. These lists show Linux compatibility for sound and video subsystems, printers and scanners. While there should be a single compatibility list for FC2, there isn't, at least not yet. But you can find separate lists for sound and video subsystems, printers and scanners. The best bet on FC2 is to Google via your motherboard model.
Motherboards: Most current-generation motherboards or systems work properly with most Linux distros. But if you want to build around leading- or bleeding-edge hardware--such as Athlon or Intel 64-bit processors, SATA HDs, and PCI Express--check even more carefully about compatibility on an item-by-item basis.
There isn't a single hardware compatibility list for Fedora Core yet. It is best to search for compatibility by video and audio chipset. If your motherboard does not have integrated audio or video, the question moves to the chipset found on the audio or video card. For motherboards--particularly with integrated audio/video--it may be faster to simply Google on the model ID and FC2. Then look for comments by people who have actually installed it. What you want to see is: "It booted immediately with sound and video working correctly."
Sound and Video cards: Linux compatibility is discussed in terms of chipsets as well as makes and models. For video, X-Windows is the relevant part. You can find a list of video products supported by the version at the X.org Foundation.
For audio, FC2 uses the Advanced Linux Sound Architecture (ALSA) driver. Find a list of video products supported by this driver from: ALSA.
Hard drives: Any IDE drive should work with Linux. The base Linux install as performed here is about 3.8 GB. But SATA problems have been reported on some Linux user forums. While the Linux kernel supports SATA , it's a job best left to experienced Linux users.
Optical drive: Any IDE DVD or CD drive should work with Linux. A DVD burner or at least a DVD reader is preferred; that way, you can put an entire drive image on a single disk. Also, your users can use the system to watch DVD movies. These days, a DVD recorder isn't much more expensive than a DVD or even CD player. Also, consider double-sided DVD burners as an extra-cost option.
Selecting Peripherals
Printer: Pick a scanner that's supported by the Common Unix Printing System (CUPS) print utility. A list of printers recommended for use with Linux software is available from LinuxPrinting.org. The same group offers a database of printers that shows both which printers are supported by Linux and which drivers are available.
Scanner: Pick a scanner that's supported by the sane (Scanner Access Now Easy - the usual Linux scanner environment), which is part of the default install. You should do this even if you don't plan to bundle a scanner. Once you have any scanner set up in FC2, the scan utility will work with any compatible scanner a customer plugs in--as long as the user knows to unplug-replug the scanner!
To find information on which scanners are supported by sane, see this list provided by SANE.
FWIW, I use a Canon LIDE-30 and am very happy with it. However, only some Canon scanners work with Linux.