Cases ? geek stuff ? marketing !

Werner Almesberger werner at openmoko.org
Wed Dec 8 17:47:16 EST 2010


David Kuehling wrote:
> Currently people have to checkout the full open-wrt toolchain and invest
> some hours [...]

I think the whole concept of exposing regular users to this sort
of build system, be it OpenWRT, OpenEmbedded, or whatever Debian,
Ubuntu, Fedora, etc., do to go from sources to packages, is deeply
flawed.

Not only is the overhead in terms of computing resources enormous,
but users also get exposed to tasks and concepts that are
basically distribution-specific internal plumbing. Furthermore, a
build from sources has a lot more internal and external
dependencies than the installation of a set of binary packages, so
the risk of failure is higher.

The only case where I saw this approach work was in Gentoo, where
most of the ugly bits are hidden from view, making Gentoo look on
the outside like your average binary-package-based distribution.
Gentoo suffered (and probably still does) from the occasional
unexpected dependency problem, though.

I've seen the "just make users build OpenEmbedded" approach fail
horribly at Openmoko. Things there got a lot better once a group
of developers was assigned to take care of the OE side and to
produce a repository of binary packages as a result.

These people also took care of adding new things to the build or,
at least sometimes, of packaging stuff we wrote in Openmoko.

That was still a lot of work, but at least it was more contained,
and it didn't drag everyone down.


Fast-forward to the present. OpenWRT is capable of producing
binary packages. Even better, there is Jlime, which is based on
OpenEmbedded and thus has a *huge* collection of packages to start
with, plus a nicer user interface as an added bonus.

One can also generate a binary cross-toolchain for the host, which
removes the dependency on OpenWRT/OE/etc. as a means to obtain the
cross-compiler.

Furthermore, opkg-cl can install packages into the cross-development
environment. E.g., if my program needs SDL_gfx, I can just install
the binary libsdl-gfx-dev package on my host, and then cross-compile
my application.

There's also a system I used in my Openmoko days, called "myroot",
which takes a set of binary packages and creates a rootfs from them.
This made it very easy to have custom images. It shouldn't be too
hard to adapt this system for the Ben with a package repository from
Jlime or OpenWRT.

- Werner




More information about the discussion mailing list


interactive