1 |
On Sun, 2003-11-23 at 15:46, Chris PeBenito wrote: |
2 |
> The raw IRC log for the meeting is available at: |
3 |
> |
4 |
> http://dev.gentoo.org/~pebenito/20031123-meeting.log |
5 |
|
6 |
Summary thanks to aja (AJ Armstrong): |
7 |
|
8 |
The meeting opened as scheduled on the #gentoo-embedded IRC channel, |
9 |
20:00 UTC, 23 Nov 2003. |
10 |
|
11 |
The agenda (from a gentoo-embedded post by pebenito) was: |
12 |
|
13 |
1. Cross Compilers (Kumba) |
14 |
2. Toolchain, esp uClibc stuff (solar) |
15 |
3. Portage: ibuild vs. portage, need to iron out all the stuff we're not |
16 |
sure about, profiles, ROOT=, chroot for building, etc. |
17 |
4. Baselayout-lite: either cut down the current baselayout or put |
18 |
together a baselayout-lite |
19 |
5. Handhelds: ebuilds for opie/gpe/stuff like that along with ebuilds |
20 |
for handhelds.org along with other stuff for iPAQ hardware support |
21 |
(abhishek) |
22 |
|
23 |
Cross-Compilers |
24 |
--------------- |
25 |
Kumba gave a summary of the forthcoming cross-compiler script |
26 |
(expected to be released in a few days). It is primarily a hack |
27 |
around portage that uses portage to pull down package versions, unpack |
28 |
and patch them. It then generates the cross-compiler and stores in in |
29 |
/home/crossdev/<arch>/bin. The compiler can then be accessed in that |
30 |
path (which might be added to $PATH). You can optionally create a |
31 |
kernel-only compiler (binutils + gcc-bootstrap) or a full compiler |
32 |
toolchain (binutils, gcc-bootstrap, glibc, gcc-full). |
33 |
|
34 |
Solar pointed out that there may be some issues with ./configure |
35 |
scripts locating the proper linker. The general consensus was that we |
36 |
could address that when the script is released and some more eyes can |
37 |
look at it. |
38 |
|
39 |
Similarly, some initial discussion about how to integrate portage more |
40 |
fully was deferred until more people had knowledge of the script, |
41 |
including some of the devs who work more closely with portage. |
42 |
Potentially, it may be possible to "emerge gcc" with the right options |
43 |
to get a cross-compiler. Kumba pointed out that slots and gcc-config |
44 |
will need to be considered, and made gcc-config-1.4.3 and 1.4.5 source |
45 |
available for consideration. |
46 |
|
47 |
Kumba will make a general announcement on -dev and -embedded when the |
48 |
source for the cross-compiler scripts is available. |
49 |
|
50 |
It was pointed out that Daniel (dragonheart) had made a long post to |
51 |
-embedded because he was going to be unable to attend the meeting. |
52 |
This included a call for architectures that would be available for |
53 |
testing. There was a pause while some read the message. |
54 |
|
55 |
Sindian was asked to help Kumba with some ARM-specific concerns about |
56 |
march settings when building cross-compliers. |
57 |
|
58 |
Toolchain |
59 |
--------- |
60 |
Solar gave a bit of a summary of the work that he, dragonheart and |
61 |
mutex had been working on with respect to the toolchain. |
62 |
|
63 |
We are currently looking at the uClibc toolchain, and there have been |
64 |
several changes in the way it is built. The compiler and some other |
65 |
tools are no longer part of the uClibc toolchain, and must be built |
66 |
separately for each arch. However, the buildroot tool provides a |
67 |
fairly simple way to integrate the process. Currently, dragonheart, |
68 |
solar et al are working at modifying these tools for integration with |
69 |
portage. |
70 |
|
71 |
Dragonheart's -embedded post indicated that he was making headway on |
72 |
these issues, as well as some of the base layout, and we were once |
73 |
again encouraged to read it. |
74 |
|
75 |
aja pointed out that there would be some fluctuation in uClinux and |
76 |
uClibc with the forthcoming merging of uClinux into 2.6. We should |
77 |
make sure we monitor developments so that we do not end up building |
78 |
against orphaned versions. |
79 |
|
80 |
The uClinux list: |
81 |
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev |
82 |
The uClibc list: http://codepoet.org/mailman/listinfo/uclibc |
83 |
|
84 |
Solar indicated that target architectures for initial testing would |
85 |
probably be x86 and ARM. Other architectures will depend on |
86 |
availability of volunteers with appropriate hardware. People should |
87 |
post to -embedded in response to Dragonheart's email if they can spare |
88 |
time/devices for testing. |
89 |
|
90 |
Portage |
91 |
------- |
92 |
The discussion of portage integration had already come up with the |
93 |
previous topics. Pebenito pointed out that we had the options of |
94 |
working with liquidx's ibuild system, or going with portage. |
95 |
|
96 |
The consensus seemed to prefer portage. Solar pointed out that |
97 |
portage could be used in a chrooted environment with a cross-compiler |
98 |
and platform-specific libraries to build binary packages. The binary |
99 |
packages could then be expanded into a filesystem image in preparation |
100 |
for transfer to the target device. |
101 |
|
102 |
This technique seemed to be preferred by most. At some future point, |
103 |
there will probably be a need to develop some specialized tools to |
104 |
handle binary package expansion and managing filesystem images and |
105 |
transfer (flashing) to target platforms. |
106 |
|
107 |
It was pointed out by sindian that FEATURES settings could be used to |
108 |
handle a lot of the cross-compilation specific issues, to avoid having |
109 |
to add man USE flags or create new make.conf settings. |
110 |
|
111 |
Sindian also pointed out that runtime checks during ./configure will |
112 |
be an issue, and aja indicated that some userland applications may |
113 |
need to be patched for embedded platforms that do not support fork or |
114 |
which are big-endian. The consensus was that these issues could be |
115 |
handled when they occur. |
116 |
|
117 |
Baselayout-Lite |
118 |
--------------- |
119 |
Dragonheart's post includes some information on baselayout packages |
120 |
from the uClibc project. |
121 |
|
122 |
Baselayout-lite is the set of basic utilities (runtime scripts, shell, |
123 |
init, apps, etc.) that are required for a functioning Linux system. |
124 |
Embedded devices generally require a baselayout significantly |
125 |
scaled-down from that found in a full-blown system. |
126 |
|
127 |
The discussion indicated that we need further investigation. The base |
128 |
layout from buildroot (per dragonheart's post) would be a good place |
129 |
to start. We should also consider gentoo's existing base layout and |
130 |
whether we can pare that down to an embedded version. Other projects, |
131 |
like busybox, were mentioned. |
132 |
|
133 |
Generally, this will depend a bit on how the build environment work |
134 |
progresses. |
135 |
|
136 |
Handhelds |
137 |
--------- |
138 |
A lot of this will have to wait until we know what hardware is |
139 |
available for testing. |
140 |
|
141 |
Abhishek has already been working on ipaq ebuilds, including some work |
142 |
with the opie environment. |
143 |
|
144 |
Conclusions |
145 |
----------- |
146 |
Kumba is currently taking the lead on the cross compiler scripts, and |
147 |
will be releasing them for discussion soon. Sindian will assist. |
148 |
|
149 |
Dragonheart and Solar are leading on the toolchain work. The |
150 |
boottools from uClinux are a starting point. |
151 |
|
152 |
Pebenito will own the Portage and Baselayout stuff for now - some of |
153 |
the work on boottools will be useful for the base layout. |
154 |
|
155 |
We need to get a list of available test platforms and |
156 |
owner/volunteers. |
157 |
|
158 |
The build environment (cross compilers and toolchains) will probably |
159 |
need to come first - then we can start on a base layout set for |
160 |
various architectures. |
161 |
|
162 |
Handhelds will probably need to wait on some of that stuff fleshing |
163 |
out. |
164 |
|
165 |
aja got roped into doing these notes. |
166 |
|
167 |
|
168 |
-- |
169 |
Chris PeBenito |
170 |
<pebenito@g.o> |
171 |
Developer, |
172 |
Hardened Gentoo Linux |
173 |
Embedded Gentoo Linux |
174 |
|
175 |
Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE6AF9243 |
176 |
Key fingerprint = B0E6 877A 883F A57A 8E6A CB00 BC8E E42D E6AF 9243 |