[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Embedded Debian

Hello All,

I'd like to announce the formation of the "Embedded Debian"
project, at http://www.emdebian.org. 

See the web page for the vision behind the project. I'm
interersted in hearing any/all comments/suggestions/complaints.

What follows is an account on what led me to do all this.


Frank Smith, MCompSci
Principal Software Designer      frank.smith@amirix.com
AMIRIX Systems Inc.              http://www.amirix.com/
77 Chain Lake Drive              902-450-1700 x289 (Phone)
Halifax, N.S. B3S 1E1            902-450-1704 (FAX)

I started an initative at AMIRIX in August 1999 to investigate 
the possibility of getting into the embedded Linux business.
It all started with a proposal we were writing for a client,
whose application seemed well suited to using Linux. This
evolved into an embedded Linux initiative, was changed to
an embedded Unix initiative (because we started looking at
NetBSD because of its portability), then went back to an
embedded Linux initiative, primarily because Linux simply 
has far more mindshare than the *BSDs.

I eventually got the backing of our executive, and they started 
to get involved. One of our customers is DY4 Systems (www.dy4.com).
We've done a lot of hardware and software work for them in the
past, and they were starting to get interested in having Linux
running on their boards. We now have an alliance with DY4 to
provide embedded Linux for their boards. The press release is at
http://www.dy4.com/Whatsnew/2000/AMIRIX.htm. We have also been
in discussions with other board vendors. The DY4 release will
be based on Debian.

With the DY4 arrangement, our first task was to produce a beta 
release of our embedded Linux product for them to start testing.
We ported the kernel, built a small distribution, a "getting
started manual", and sent it off.  It is currently being tested.
This distribution was completely hand-rolled.

My experience in building the small distribution was very 
educational. It took a lot of effort, more than I felt was 
necessary. Through my work, I've had about seven years' 
experience in building GNU and other open source tools,
so I had an advantage there. But still, I knew I was
re-inventing wheels.

My feeling was partly based on some work I had done
a few months back. One of my experiments was to see how
small I could make a RedHat (sorry :-) style distribution. 
It was nice because all of the package design work (i.e. 
the contents of the .spec file) was already done for me. 
All I had to do was select a small number of packages, and
'rpm -i' them, right?  Well when the glibc package is 
about 25 Mb, it's hard to build a small root filesystem.
I could install the whole package and then delete the
pieces I don't need, but that's messy.

So armed with the experience of having built a small
distro, and having tried to shoehorn a desktop distro
into a few megabytes, I started experimenting with 
modifying the source packages. I took a RedHat style 
glibc package, and started designing 
a larger number of smaller subpackages. For instance,
one package that only contains the libc files, another
that only contains the libm files, etc. 

At about this time, I started thinking about Debian. I
hadn't used it before, but I have heard people say
good things about it. Especially about the pacakge
manager. This got me to thinking about how a more
powerful package manager would be helpful in building
small root filesystems.

As I see things, having the ability to create a small
root filesystem is only one side of the coin. Not all
embedded systems will have limited storage. Some will
have the capability and the requirement to host a more
"complete" install configuration. Because of this
I feel that a *scalable* distribution would be of great
use to embedded systems developers. It appears to me
that most embedded Linux products are either 'small'
or 'large', and don't have the capability to scale
from one extreme to the other easily.

So this all leads to how I see Debian fitting in. I
believe the Debian distribution is the best starting
point for an embeddable Linux that

    1. Is scalable down to a small footprint.
    2. Is scalable up to a development platform, server,
    3. Has a solid reputation.
    4. Runs on many platforms.
    5. Is used by a large development community.

We are ready to begin development of our own embedded Linux
distribution, and we plan to spend signigicant resources
in doing so. We also realize that for all intents and purposes 
we have to give it away for free. Other aspects of our
business model will have to be revenue generators. 

We are proposing the creation of an "embedded" version of Debian 
that (not intended to be an exhaustive list):

    * Scales down to very small footprints
    * Has tools geared towards embedded developers
    * Has documentation geared towards embedded developers

Since we are going to do this, we feel that we might as well be 
open about it and seek the co-operation of the Debian community.
We aren't planning on just starting a project and waiting for 
others to do the work; we're going to start doing the work and
releasing it. Hopefully, others will join in.

We intend to operate this project in an open development
process, and in ways consistent with Debian's philosophies.
I feel that an openly developed embedded Linux distribution
would be beneficial to Debian, as well as to the emerging 
embedded Linux industry.

Reply to: