Gentoo Archives: gentoo-embedded

From: Chris PeBenito <pebenito@g.o>
To: Embedded Gentoo Mail List <gentoo-embedded@g.o>
Subject: Re: [gentoo-embedded] IRC Meeting Summary
Date: Mon, 24 Nov 2003 23:58:47
Message-Id: 1069718325.1788.66.camel@chris.pebenito.net
In Reply to: Re: [gentoo-embedded] IRC Meeting by Chris PeBenito
On Sun, 2003-11-23 at 15:46, Chris PeBenito wrote:
> The raw IRC log for the meeting is available at: > > http://dev.gentoo.org/~pebenito/20031123-meeting.log
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 (abhishek) Cross-Compilers --------------- 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. Toolchain --------- 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 portage. 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: http://mailman.uclinux.org/mailman/listinfo/uclinux-dev 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. Portage ------- 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. Baselayout-Lite --------------- 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 progresses. Handhelds --------- 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. Conclusions ----------- 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 owner/volunteers. The build environment (cross compilers and toolchains) will probably need to come first - then we can start on a base layout set for various architectures. Handhelds will probably need to wait on some of that stuff fleshing out. aja got roped into doing these notes. -- Chris PeBenito <pebenito@g.o> Developer, 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

Attachments

File name MIME type
signature.asc application/pgp-signature