Emdebsys

This page is out of date and the content is no longer maintained.

EmDebSys (formerly CML2+OS)

Emdebsys is a system creation and configuration tool for embedded Linux.
It was originally known as CML2+OS (2000-2001), and this name still
appears in various places.

It is a system for the configuration and generation of both a Linux kernel *AND* an
operating system (i.e. root filesystem). EmDebSys is being designed to assist
embedded Linux developers in configuring and generating small (1 to 10Mb)
GNU/Linux target systems.

Fully integrated kernel *and* OS (i.e. root filesystem) configuration and
generation. For instance, if loadable module support isn't configured in the
kernel, then the user won't (by default) be presented with the option to include
'modutils' in the OS. If SCSI support isn't configured into the kernel, then
SCSI /dev nodes won't be created.

Ability to generate a system in a number of ways, such as to a directory
tree for NFS root, to a compressed initial ramdisk, etc.

Support for profiles, which are pre-designed configurations for various
target boards and target functions (e.g. firewalls, routers, file servers,
web servers, etc.).

The architecture of EmDebSys consists of a front end (the Configurator)
and a back end (the Generator). The Configurator is based on extending the
Kconfig/CML2 rulebase with configuration rules for the operating system. It
produces a standard Linux '.config' file augmented with OS configuration
information.

The Generator (back end) takes this config file, and generates a file
system containing the OS.

There are many conceivable ways of building such a filesystem. The
existing implementation primarily uses the simple, yet powerful, technique
of extracting pre-built binaries from existing Debian binary packages. It
can also compile some packages from source (the kernel, busybox, tinylogin
and uclibc) This will enable the building of minimal operating systems for
any debian-suppported architecture (currently ARM, PowerPC, SPARC, Intel
x86, Alpha, MIPS, Motorola 680x0, HPA, s390, IA640. At the moment
x86 and ARM are tested and supported.

Documentation

To get an understanding of what emdebsys does and how you use it, read
Wookey's article
explaining how emdebsys works. It covers the configuration and system
generation, along with examples of the CML2 language and the powerful way it
lets you specify a system.

Downloads

The last version (from 2002) is in CVS. Anonymous CVS access is available at a CVSROOT
of :pserver:anonymous@cvs.emdebian.sourceforge.net:/cvsroot/emdebian.
The module name is emdebsys.