Building an Embedded System
Desktop Training - DSL

Project: Building an Embedded System

An embedded system may be defined as the Linux kernel with specific applications modified for a specific purpose. Often embedded systems are flashed into a ROM (Read Only Memory). This type of situation allows for a system that will restart and function the same every time because it cannot change. This initial stage with DSL is to create an “embedded” system that is based on a Compact Flash Disk. The Compact Flash Disk which can be mounted read only like ROM is great to work with because it is cheap and because it easy to manipulate. Take a look at the parts in order to understand the whole.

Linux Kernel
A kernel facilitates communication between hardware, applications and interaction from the user. It interfaces with each application to decide how much access is needed and how long the access is required when using hardware that is part of the system. One of the valuable aspects of the kernel is that it provides hardware abstraction to simplify the requirements of applications to interface with hardware. This is a layer that makes it much easier for programmers to write applications. This layer is called the Hardware Abstraction Layer (HAL).

Applications are programs that are installed to facilitate the purpose of the embedded device. For example, if you were going to build an embedded device that would act as a firewall you would need to install applications that would provide networking and security options. Specific applications would be needed for each specific purpose.

The purpose of an embedded device determines the hardware requirements as well as software requirements.

One important aspect of the project that is exciting is that you can take an old computer, like a Pentium 133, and put a Compact Flash Disk into it for a hard drive to work with. This makes the project reasonable for anyone as it only involves the cost of a Compact Flash Disk and connector for the 40 pin controller. Older computers like this can be found in almost everyone's basement.


This image illustrates the combination of hardware and software that interacts to create an embedded device which functions or has the purpose of being a firewall.

Getting Started

The first thing that you must be able to do is create a complete system on a Compact Flash Disk.


Hardware You Will Need
Old Computer (Pentium or better)
Compact Flash Disk (128 MB or better)
Compact Flash Disk to 40 pin Hard Drive Connector

Here you can see where the 40 pin connection will connect to the primary controller of the motherboard.


Insert the CFDisk and configure your system to boot to the CDROM first in the BIOS. If you have never done this before you may want to figure out how to go about it or get some help from a friend so you don't mess your system up.

Once you have booted the CDROM then all you need to do is setup the hard drive.

The CFDisk can then function just like a hard drive. Now there are some drawbacks as the CFDisk has limited number of reads and writes so you need to keep this in mind. However, this will give you a great test base for working with DSL.

One of the advantages of this method is that you can configure 3 or 4 disks differently and pull one out and replace it with another to test different aspects of the system.