Open Embedded Linux
2005-09-21 11:39 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
... built successfully on my machine at work. Turned out that the problem
was a set of (possibly buggy) cross-compilers hanging around in
/usr/bin
from an earlier experiment with the Debian
cross-development tools.
So I am now a happy hacker again. OpenEmbedded is the basis for most of the free distributions for hand-held and portable systems, plus a number of others.
OE is what you might call a "top-down" build system -- you pick a target
system and a set of packages to build, then say make
and
stand back. Many hours and 35GB later you have a root filesystem image
and a big pile of .ipk
files. Or more likely you have a
broken build and a screen full of log messages that might or might not be
helpful.
One of the common problems, as it turns out, is caused by the fact that OE has to download tarballs for all of the packages it builds, or else check them out of some version control system. If a config file specifies some bleeding-edge version that's only available from one or two of the places it knows about, and they're down or slow, you're hosed until one of them comes back up. Not quite the kind of thing you can leave and forget, at least not the first time you build it. After that, of course, everything you need is in the cache and everybody's happy.
Oh, and it's version-controlled using monotone, which makes a snail on Valium look speedy.
I've started writing up my little study of toolchains and build systems at
work (in my typical ursine fashion, by populating /usr/local
and its major subdirectories with HEADER.html
files), and
expect to be publishing it on the Web fairly soon.