On Sun, 2003-11-23 at 15:46, Chris PeBenito wrote:
> The raw IRC log for the meeting is available at:
Summary thanks to aja (AJ Armstrong):
The meeting opened as scheduled on the #gentoo-embedded IRC channel,
20:00 UTC, 23 Nov 2003.
The agenda (from a gentoo-embedded post by pebenito) was:
1. Cross Compilers (Kumba)
2. Toolchain, esp uClibc stuff (solar)
3. Portage: ibuild vs. portage, need to iron out all the stuff we're not
sure about, profiles, ROOT=, chroot for building, etc.
4. Baselayout-lite: either cut down the current baselayout or put
together a baselayout-lite
5. Handhelds: ebuilds for opie/gpe/stuff like that along with ebuilds
for handhelds.org along with other stuff for iPAQ hardware support
Kumba gave a summary of the forthcoming cross-compiler script
(expected to be released in a few days). It is primarily a hack
around portage that uses portage to pull down package versions, unpack
and patch them. It then generates the cross-compiler and stores in in
/home/crossdev/<arch>/bin. The compiler can then be accessed in that
path (which might be added to $PATH). You can optionally create a
kernel-only compiler (binutils + gcc-bootstrap) or a full compiler
toolchain (binutils, gcc-bootstrap, glibc, gcc-full).
Solar pointed out that there may be some issues with ./configure
scripts locating the proper linker. The general consensus was that we
could address that when the script is released and some more eyes can
look at it.
Similarly, some initial discussion about how to integrate portage more
fully was deferred until more people had knowledge of the script,
including some of the devs who work more closely with portage.
Potentially, it may be possible to "emerge gcc" with the right options
to get a cross-compiler. Kumba pointed out that slots and gcc-config
will need to be considered, and made gcc-config-1.4.3 and 1.4.5 source
available for consideration.
Kumba will make a general announcement on -dev and -embedded when the
source for the cross-compiler scripts is available.
It was pointed out that Daniel (dragonheart) had made a long post to
-embedded because he was going to be unable to attend the meeting.
This included a call for architectures that would be available for
testing. There was a pause while some read the message.
Sindian was asked to help Kumba with some ARM-specific concerns about
march settings when building cross-compliers.
Solar gave a bit of a summary of the work that he, dragonheart and
mutex had been working on with respect to the toolchain.
We are currently looking at the uClibc toolchain, and there have been
several changes in the way it is built. The compiler and some other
tools are no longer part of the uClibc toolchain, and must be built
separately for each arch. However, the buildroot tool provides a
fairly simple way to integrate the process. Currently, dragonheart,
solar et al are working at modifying these tools for integration with
Dragonheart's -embedded post indicated that he was making headway on
these issues, as well as some of the base layout, and we were once
again encouraged to read it.
aja pointed out that there would be some fluctuation in uClinux and
uClibc with the forthcoming merging of uClinux into 2.6. We should
make sure we monitor developments so that we do not end up building
against orphaned versions.
The uClinux list:
The uClibc list: http://codepoet.org/mailman/listinfo/uclibc
Solar indicated that target architectures for initial testing would
probably be x86 and ARM. Other architectures will depend on
availability of volunteers with appropriate hardware. People should
post to -embedded in response to Dragonheart's email if they can spare
time/devices for testing.
The discussion of portage integration had already come up with the
previous topics. Pebenito pointed out that we had the options of
working with liquidx's ibuild system, or going with portage.
The consensus seemed to prefer portage. Solar pointed out that
portage could be used in a chrooted environment with a cross-compiler
and platform-specific libraries to build binary packages. The binary
packages could then be expanded into a filesystem image in preparation
for transfer to the target device.
This technique seemed to be preferred by most. At some future point,
there will probably be a need to develop some specialized tools to
handle binary package expansion and managing filesystem images and
transfer (flashing) to target platforms.
It was pointed out by sindian that FEATURES settings could be used to
handle a lot of the cross-compilation specific issues, to avoid having
to add man USE flags or create new make.conf settings.
Sindian also pointed out that runtime checks during ./configure will
be an issue, and aja indicated that some userland applications may
need to be patched for embedded platforms that do not support fork or
which are big-endian. The consensus was that these issues could be
handled when they occur.
Dragonheart's post includes some information on baselayout packages
from the uClibc project.
Baselayout-lite is the set of basic utilities (runtime scripts, shell,
init, apps, etc.) that are required for a functioning Linux system.
Embedded devices generally require a baselayout significantly
scaled-down from that found in a full-blown system.
The discussion indicated that we need further investigation. The base
layout from buildroot (per dragonheart's post) would be a good place
to start. We should also consider gentoo's existing base layout and
whether we can pare that down to an embedded version. Other projects,
like busybox, were mentioned.
Generally, this will depend a bit on how the build environment work
A lot of this will have to wait until we know what hardware is
available for testing.
Abhishek has already been working on ipaq ebuilds, including some work
with the opie environment.
Kumba is currently taking the lead on the cross compiler scripts, and
will be releasing them for discussion soon. Sindian will assist.
Dragonheart and Solar are leading on the toolchain work. The
boottools from uClinux are a starting point.
Pebenito will own the Portage and Baselayout stuff for now - some of
the work on boottools will be useful for the base layout.
We need to get a list of available test platforms and
The build environment (cross compilers and toolchains) will probably
need to come first - then we can start on a base layout set for
Handhelds will probably need to wait on some of that stuff fleshing
aja got roped into doing these notes.
Hardened Gentoo Linux
Embedded Gentoo Linux
Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE6AF9243
Key fingerprint = B0E6 877A 883F A57A 8E6A CB00 BC8E E42D E6AF 9243