OpenEmbeddedMicro
From DorePublicWiki
OpenEmbeddedMicro is an effort trying to define a truely tiny Open Embedded based Linux distribution with an absolutely minimum set of recipes and distro/image definitions (KISS).
The distribution is intended for embedded developers who wants a tiny image without bloat to build their system on.
The distribution is basically a rootfs image including the following packages:
- libc
- busybox
- udev
- a few init scripts
Note: The libc library can be either glibc or uclibc depending on which distribution configuration you select to use (optional).
Contents |
Status
The Micro Linux distribution is work in progress.
- May 1st: Initial pull request on openembedded-devel@lists.openembedded.org (see posting here)
- May 3rd: Micro image pulled into official OE
Source
The source is available from the following git repository:
- git://dev.doredevelopment.dk/oe-micro.git
The repository is browseable here:
The source can be pulled into your org.openembedded.dev branch by doing:
git pull git://dev.doredevelopment.dk/oe-micro.git master
Building
Make sure that your local.conf contains:
DISTRO = "micro-uclibc"
Or if you want to use the glibc based micro distribution:
DISTRO = "micro"
Then building the image is a simple as:
bitbake micro-image
Note: The image is tested to work with a local.conf based on conf/local.conf.sample with only mandatory options configured.
Image Output Types
The default image output types are (as defined in conf/distro/micro.conf):
- tar.gz
- jffs2
Image Sizes
For machine type "at91sam9263ek" and using uclibc the sizes are:
- jffs2 ~ 1.0 MB
- tar ~ 1.7 MB
Test
The distribution is tested to successfully build and run with the following machine types:
- x86 [glibc]
- at91sam9263ek [glibc, uclibc]
Todo
- Refine startup scripts (still a little cleanup can be done)
- Replace sysv init with upstart init
- Create custom micro distro fstab definition
- Review busybox configuration (add/remove items)
- Replace udev with mdev (a big maybe, depends on mdev maturity)
- Create additional ttySn nodes (1-3, good for targets with more than one serial)
- Fix inittab to do more generic getty respawns.
Adding recipes/packages
Building and adding stuff to this OE distribution is basically an exercise in setting the preferred providers and versions of specific recipes or else it will most likely fail to build and run successfully.
Eventhough the micro linux distribution and image defitions are very tiny it only takes little more effort to include large packages such as Xorg graphical server, gtk support etc.. This has already been tested.
Such examples will be available here later on TODO.
