Mercurial > hg > aboriginal
annotate www/news.html @ 1121:3c5eb21262af
Add a title to the main page, and correct the URL since adding a subdomain probably isn't worth the effort.
author | Rob Landley <rob@landley.net> |
---|---|
date | Wed, 16 Jun 2010 18:10:17 -0500 |
parents | 333c8f799302 |
children | 479bcbb2775e |
rev | line source |
---|---|
1121
3c5eb21262af
Add a title to the main page, and correct the URL since adding a subdomain probably isn't worth the effort.
Rob Landley <rob@landley.net>
parents:
1050
diff
changeset
|
1 <html> |
3c5eb21262af
Add a title to the main page, and correct the URL since adding a subdomain probably isn't worth the effort.
Rob Landley <rob@landley.net>
parents:
1050
diff
changeset
|
2 <title>Aboriginal Linux - We cross compile so you don't have to.</title> |
3c5eb21262af
Add a title to the main page, and correct the URL since adding a subdomain probably isn't worth the effort.
Rob Landley <rob@landley.net>
parents:
1050
diff
changeset
|
3 <body> |
881
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
879
diff
changeset
|
4 <!--#include file="header.html" --> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
879
diff
changeset
|
5 |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
6 <b><h1>News</h1></b> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
7 |
1022 | 8 <hr> |
1050
333c8f799302
Update lots and lots of web pages for the project name change to Aboriginal Linux.
Rob Landley <rob@landley.net>
parents:
1022
diff
changeset
|
9 <h2><a name="05-02-2010" />May 2, 2010</h2> |
333c8f799302
Update lots and lots of web pages for the project name change to Aboriginal Linux.
Rob Landley <rob@landley.net>
parents:
1022
diff
changeset
|
10 <p>The name of the project is changing from Firmware Linux to Aboriginal |
1121
3c5eb21262af
Add a title to the main page, and correct the URL since adding a subdomain probably isn't worth the effort.
Rob Landley <rob@landley.net>
parents:
1050
diff
changeset
|
11 Linux. The new URL is "http://impactlinux.com/aboriginal".</p> |
1050
333c8f799302
Update lots and lots of web pages for the project name change to Aboriginal Linux.
Rob Landley <rob@landley.net>
parents:
1022
diff
changeset
|
12 |
333c8f799302
Update lots and lots of web pages for the project name change to Aboriginal Linux.
Rob Landley <rob@landley.net>
parents:
1022
diff
changeset
|
13 <p>Some reasons to move away from the old name are |
333c8f799302
Update lots and lots of web pages for the project name change to Aboriginal Linux.
Rob Landley <rob@landley.net>
parents:
1022
diff
changeset
|
14 <a href=http://lists.impactlinux.com/pipermail/firmware-impactlinux.com/2009-October/000374.html>listed here</a>, |
333c8f799302
Update lots and lots of web pages for the project name change to Aboriginal Linux.
Rob Landley <rob@landley.net>
parents:
1022
diff
changeset
|
15 and some reasons to pick the new name are covered in |
333c8f799302
Update lots and lots of web pages for the project name change to Aboriginal Linux.
Rob Landley <rob@landley.net>
parents:
1022
diff
changeset
|
16 <a href=http://lists.impactlinux.com/pipermail/firmware-impactlinux.com/2010-April/000671.html>this thread</a>.</p> |
333c8f799302
Update lots and lots of web pages for the project name change to Aboriginal Linux.
Rob Landley <rob@landley.net>
parents:
1022
diff
changeset
|
17 |
333c8f799302
Update lots and lots of web pages for the project name change to Aboriginal Linux.
Rob Landley <rob@landley.net>
parents:
1022
diff
changeset
|
18 <p>Some links may be broken while we switch over. Let us know what we've |
333c8f799302
Update lots and lots of web pages for the project name change to Aboriginal Linux.
Rob Landley <rob@landley.net>
parents:
1022
diff
changeset
|
19 missed on the mailing list...</p> |
333c8f799302
Update lots and lots of web pages for the project name change to Aboriginal Linux.
Rob Landley <rob@landley.net>
parents:
1022
diff
changeset
|
20 |
333c8f799302
Update lots and lots of web pages for the project name change to Aboriginal Linux.
Rob Landley <rob@landley.net>
parents:
1022
diff
changeset
|
21 <hr> |
1022 | 22 <h2><a name="03-29-2010" />March 29, 2010</h2> |
23 <p><a href=downloads/firmware-0.9.11.tar.bz2>Version 0.9.11</a> is out, | |
24 based on <a href=http://impactlinux.com/hg/firmware/shortlog/1020>hg commit | |
25 1020</a>. We're closing in on a 1.0 release, but not quite there yet.</p> | |
26 | |
27 <p>This version upgrades to Linux 2.6.33, uClibc 0.9.30.3, and BusyBox | |
28 1.16.1.</p> | |
29 | |
30 <b><h3>Improved native builds</h3></b> | |
31 | |
32 <p>Most targets now have <a href=downloads/binaries>prebuilt binaries</a> | |
33 for <a href=http://matt.ucc.asn.au/dropbear/dropbear.html>dropbear</a>, | |
34 <a href=http://sourceforge.net/projects/strace/>strace</a>, | |
35 <a href=http://busybox.net>busybox</a>. These are statically | |
36 linked against uClibc, so just download, set the executable bit, and run.</p> | |
37 | |
38 <p>These dropbear and strace binaries are built using the automated three-disk | |
39 native build capability introduced <a href=#11-07-2009>back in November</a>, | |
40 which has been improved and genericized this release. Now one script creates | |
41 a build image (see examples in sources/native-builds) and another script | |
42 launches a system image with that build image attached as the third | |
43 hard drive (/dev/hdc), telling the system image to automatically build | |
44 those source packages and upload the result to the host via ftp.</p> | |
45 | |
46 <p>So to reproduce the dropbear and strace binaries for a supported ARCH, | |
47 you could do:</p> | |
48 | |
49 <blockquote><pre> | |
50 ./build.sh ARCH | |
51 sources/native-builds/static-tools.sh tools.hdc | |
52 sources/more/native-build.sh ARCH tools.hdc output | |
53 </pre></blockquote> | |
54 | |
55 <p>When the build exits, the results should be in the host's "output" | |
56 directory.</p> | |
57 | |
58 <b><h3>Targets</h3></b> | |
59 <p>The arm, mips, x86, x86-64 targets that worked last time still work. | |
60 The armv4eb and m68k targets still don't work.</p> | |
61 | |
62 <p>The powerpc and sparc targets have been upgraded. Powerpc now works with | |
63 the 3-disk automated native build (although you'll need qemu 0.12.4 to take | |
64 advantage of this). The sparc dynamic linker still doesn't work in uClibc, | |
65 but the statically linked system is now working well enough to build packages | |
66 natively.</p> | |
67 | |
68 <p>New targets this release are i486 (thanks David Seikel) and mips64 (which | |
69 mostly works, but the native toolchain isn't quite properly configured to | |
70 build stuff with yet).</p> | |
71 | |
72 <p>Finally, the sh4 target was broken by a cosmetic cleanup of the startup | |
73 assembly code in Linux 2.6.33 that rendered any binutils version older | |
74 than 4 months unusable to build sh4. While it's possible to patch around | |
75 this, it hasn't yet been worth effort. The Linux-sh4 maintainer is aware | |
76 of the issue, but explicitly | |
77 <a href=http://permalink.gmane.org/gmane.linux.ports.sh.devel/7237>doesn't | |
78 care</a> about users other than his employer, and so far nobody | |
79 else seems to care enough about supporting the discontinued Sega Dreamcast | |
80 game console to argue with him. (Might revisit this next release, but m68k | |
81 support is a higher priority.)</p> | |
82 | |
83 <b><h3>Infrastructure</h3></b> | |
84 <p>The system-image's "run-emulator.sh" is now a much smaller and simpler | |
85 script, consisting primarily of the qemu command line. (And if you export | |
86 DEBUG=1 it prints the emulator command line.) The distcc and hdb | |
87 setup code moved to dev-environment.sh.</p> | |
88 | |
89 <p>The <a href=screenshots>screenshots</a> page is working again, if a bit | |
90 stale.</p> | |
91 | |
92 <p>The bisectinate.sh script (to automatically git bisect a build issue) | |
93 has been updated, more to come next release.</p> | |
94 | |
95 <p>The download.sh script has been updated to understand FORK=1 and download | |
96 packages in parallel. (And to extract them in parallel when | |
97 EXTRACT_ALL=1.)</p> | |
98 | |
99 <p>The new export_if_blank shell function allows several more environment | |
100 variables to be overridden, including TOP, SOURCES, SRCDIR, PATCHDIR, | |
101 BUILD, SRCTREE, HOSTTOOLS, WRAPDIR, CC, and STAGE_NAME.</p> | |
102 | |
103 <p>I'd also like to thank the debugging efforts of Wolfgang Denk, who hit | |
104 as many bugs trying to use this project as I normally do with other people's. | |
105 He eventually got discouraged and left, but thanks to his efforts:</p> | |
106 | |
107 <ul> | |
108 <li><p>We now unset several environment variables (such as ARCH and | |
109 CROSS_COMPILE) that break things if the host exports random data in them | |
110 before the build. (Yes, this fights with export_if_blank above, and | |
111 the way configuration works in general. Some more design works is necessary | |
112 here to let you configure the project with environment variables, but | |
113 not be confused by existing environment debris.)</p></li> | |
114 | |
115 <li><p>BUILD_STATIC=none can how handle the case where the host toolchain | |
116 can't build any static binaries at all.</p></li> | |
117 | |
118 <li><p>The CROSS_SMOKE_TEST implementation (which had bit rotted) was fixed and | |
119 moved to its own script (sources/more/cross-smoke-test.sh), which is called by | |
120 build.sh as necessary.</p> | |
121 | |
122 <p>Note that actually trying to use it is a question | |
123 of getting qemu application emulation to work for your target. For | |
124 arm you need to tweak /proc/sys/vm/mmap_min_addr as root. For ppc you | |
125 need <a href=http://git.qemu.org/qemu.git/commit/?id=7983f435e5306a4b17e1edcb408ba64b33e9c88f>this patch</a>. For mips64 somebody still needs to | |
126 implement it (<a href=http://lists.gnu.org/archive/html/qemu-devel/2010-03/msg02218.html>no matter what gentoo thinks</a>).</p> | |
127 | |
128 <p>(There's a reason the smoke test was disabled long enough to bit-rot. | |
129 It broke for qemu reasons more often than it found bugs in the toolchain.)</p> | |
130 </li> | |
131 </ul> | |
132 | |
133 <hr> | |
969 | 134 <h2><a name="02-02-2010" />February 2, 2010</h2> |
135 | |
136 <p><a href=downloads/firmware-0.9.10.tar.bz2>Version 0.9.10</a> is out, | |
137 based on <a href=http://impactlinux.com/hg/firmware/shortlog/966>hg | |
138 commit 966</a>.</p> | |
139 | |
140 <p>Yeah, I know 1.0 is overdue for a release, here's a resync point | |
141 with the 2.6.32 kernel and uClibc 0.9.30.2.</p> | |
142 | |
143 <p>There are some regressions this time around, which I plan to fix up | |
144 in the next release. The 2.6.32 kernel broke strace, | |
145 and upgrading to the new version didn't fix it. (I know how, I just haven't | |
1006
f99d25daec6a
Minor news tweak I made ages ago and forgot to check in.
Rob Landley <rob@landley.net>
parents:
969
diff
changeset
|
146 yet.) The m68k target isn't currently building due to the uClibc upgrade |
f99d25daec6a
Minor news tweak I made ages ago and forgot to check in.
Rob Landley <rob@landley.net>
parents:
969
diff
changeset
|
147 (yeah, "bugfix only", I know), and the armv6l target seems to be broken two |
f99d25daec6a
Minor news tweak I made ages ago and forgot to check in.
Rob Landley <rob@landley.net>
parents:
969
diff
changeset
|
148 different ways. I screwed up the screenshots page (which is halfway converted |
f99d25daec6a
Minor news tweak I made ages ago and forgot to check in.
Rob Landley <rob@landley.net>
parents:
969
diff
changeset
|
149 to Vladimir's new fancy version with style sheets, but "halfway" doesn't |
969 | 150 actually display right). The cron job building nightly snapshots got taken down |
151 when the server's hard drive filled up, and now it's in the process of being | |
152 upgraded with a couple new scripts:</p> | |
153 | |
154 <p>The new sources/more/migrate_kernel.sh script does a "make oldconfig" | |
155 between the stable and "USE_UNSTABLE=linux" kernels, and creates a new | |
156 alt-miniconfig-linux for the specified target with any new symbols that | |
157 showed up. (This means the snapshots should break less, but adding the | |
158 symbols to the native configs will still require manual filtering.)</p> | |
159 | |
160 <p>Also, the new sources/more/bisectinate.sh script automatically does | |
161 a git bisect between a known good and known bad (generally HEAD) version | |
162 of one of the unstable packages (linux, uClibc, or busybox). It can test | |
163 that the build completes, or that the system image boots and successfully | |
164 builds the static native dropbear binary. (In theory this will allow the | |
165 nightly snapshots to automaticaly isolate and report the first commit that | |
166 broke them.)</p> | |
167 | |
168 <p>In other general infrastructure news: some extensive upgrades to the | |
169 compiler wrapper (ccwrap), such as no longer needing GIMME_AN_S at compile | |
170 time and instead autodetecting the presence of libgcc_s.so vs libgcc.a | |
171 and behaving appropriately. A largeish cleanup/refactoring of the compiler | |
172 build (described in | |
173 <a href=http://impactlinux.com/hg/firmware/shortlog/944>commit 944</a>) | |
174 added a new "native-compiler.sh" script, which handles building the | |
175 improved "cross-compiler" tarball that includes thread support and | |
176 uClibc++ and is statically linked against uClibc on the host. | |
177 The simple cross compiler is now "simple-cross-compiler.sh" (which is | |
178 good enough to build a system image, but isn't very useful in other | |
179 contexts).</p> | |
180 | |
181 <p>The host-tools.sh stage now only builds | |
182 e2fsprogs or squashfs if the build is actually going to use them (based | |
183 on the SYSIMAGE_TYPE config symbol). The sources/sections scripts now | |
184 come in two flavors: an *.build version with setup/cleanup called | |
185 automatically and *.sh files which do their own setup/cleanup within | |
186 the script. Each system image's run-emulator.sh will once again add | |
187 /sbin:/usr/sbin to the $PATH if it can't find mke2fs.</p> | |
188 | |
189 <p>The --extract command line option went away from download.sh because | |
190 everything else works via environment variables. Use EXTRACT_ALL=1 instead.</p> | |
191 | |
192 <p>Fixed a few regressions that snuck into previous versions: the | |
193 config-{linux,uClibc,busybox} should once again be in the root filesystem's | |
194 usr/src directory, buildall.sh should now try to build the static native | |
195 dropbear/strace binaries for all targets (not just the last one) and it | |
196 should properly be running smoketest.sh again.</p> | |
197 | |
1022 | 198 <hr> |
927 | 199 <h2><a name="12-08-2009" />December 8, 2009</h2> |
200 <p><a href=downloads/firmware-0.9.9.tar.bz2>Version 0.9.9</a> is out, | |
969 | 201 based on <a href=http://impactlinux.com/hg/firmware/shortlog/921>hg commit 921</a>.</p> |
927 | 202 |
203 <p>Just a checkpoint on the way to 1.0, which is still planned for | |
204 around new years, but there's been some schedule slippage already.</p> | |
205 | |
206 <ul> | |
207 <li> | |
208 <p><b>New documentation</b></p> | |
209 <p>The presentation slides have been converted to | |
210 <a href=presentation.html>HTML</a>, although the much prettier (and much | |
211 bigger) <a href=downloads/presentation.pdf>PDF</a> is still available.</p> | |
212 | |
213 <p>There is also a <a href=FAQ.html>FAQ</a>, which is still somewhat sparse. | |
214 (Ask away.)</p> | |
215 </li> | |
216 | |
217 <li><p><b>Prebuilt binaries</b></p></li> | |
218 | |
219 <p>Added shm support to uClibc. Bugfix to the c++ | |
220 compiler (it should work again). The system images now have a "guest" | |
221 user/group so packages can more easily be built as a non-root user. | |
222 The shell prompt now includes the $HOST name.</p> | |
223 </li> | |
224 | |
225 <li><p><b>Build scripts</b></p> | |
226 <p>A new trivial-but-convenient "./clean.sh" script lets you delete just the | |
227 target builds out of "build". (If you delete that whole directory it has to | |
228 re-extract all the package tarballs and rebuilt the host tools, which is | |
229 often unnecessary work.)</p> | |
230 | |
231 <p>Command recording has been completely redone. No more RECORD_COMMANDS | |
232 variable, instead run sources/more/record-commands.sh to wrap the current | |
233 $PATH in build/wrappy (either after or instead of running host-tools.sh), | |
234 then run your build stages, and finally either run | |
235 sources/more/report-recorded-commands.sh to get a summary or | |
236 look at the raw command line lists in build/logs.</p> | |
237 | |
238 <p>The Great Refactoring continues in sources/sections: broke up | |
239 binutils-gcc.sh into individual binutils, gcc, and ccwrap | |
240 stages, split off linux-headers and uClibc++ from uClibc.sh, | |
241 and spun off toybox.sh from busybox.sh.</p> | |
242 | |
243 <p>Also broke kernel_cmdline() out of qemu_defaults() to make it easier to add | |
244 non-qemu sources/targets configurations without reinventing the wheel, | |
245 and fixed up dependencies for hw-target builds (which should work a lot | |
246 more reliably now).</p> | |
247 | |
248 <p>Bumped up the number of $CPUS used by the build to 1.5x the actual number | |
249 (as long as your host has at least 512 megs of ram per actual CPU). That | |
250 should help keep larger servers busy.</p> | |
251 | |
252 <p>Some self-hosting fixes from Natanael Copa (making sure host-tools.sh | |
253 builds on a uClibc host): added --disable-nls to the e2fsprogs build | |
254 (what exactly is ./configure running all these tests for again?), and a | |
255 squashfs patch (substituting a function uClibc hasn't got).</p> | |
256 | |
257 <p>Simplified system-image.sh to use killtree() instead of mysetsid. | |
258 Simplified the cross-compiler/cross-static logic to set the $PATH to | |
259 use the right one, rather than moving them around during the build. | |
260 Updated smoketest-all.sh to show "NONE" for system images that didn't build. | |
261 Added more support for SKIP_STRIP and CFLAGS=-g to the rest of the | |
262 packages. Cleaned out the old USE_COLOR stuff which was superceded by | |
263 set_titlebar.</p> | |
264 </li> | |
265 </ul> | |
266 | |
267 <hr> | |
268 <h2><a name=11-07-2009 />November 7, 2009</h2> | |
879 | 269 <p><a href=downloads/firmware-0.9.8.tar.bz2>Version 0.9.8</a> is out, |
270 based on hg commit 876. (If you want to see all the changes in this release, | |
271 look at <a href=http://impactlinux.com/hg/firmware/shortlog/876>commits 810 through 876</a>.)</p> | |
272 | |
273 <p.The current plan is to cut one more release at the end of the month, and | |
274 then have the 1.0 release around new year's. This could be considered a | |
275 1.0-pre1, if you like.</p> | |
276 | |
277 <p>This release upgrades linux to 2.6.31.4 and busybox to 1.15.2. | |
278 (The uClibc version is still 0.9.30.1, they haven't had a new release | |
279 yet.)</p> | |
280 | |
281 <p>The old #firmware irc channel on freenode.net has been merged into #edev, | |
282 so go there now to ask questions about this project. (A _lot_ of | |
283 knowledgeable, helpful people hang there who can answer your embedded | |
284 development questions.)</p> | |
285 | |
286 <h3><b>Bug tracker and roadmap</b></h3> | |
287 | |
288 <blockquote> | |
289 <p>The <a href=http://redmine.impactlinux.com/projects/impact>new bug | |
290 tracker</a> has a <a href=http://redmine.impactlinux.com/projects/impact/roadmap>roadmap</a> | |
291 showing what we plan to implement for the next release or two.</p> | |
292 | |
293 <p>It's also a place to file bugs, athough sending them to the <a href=http://lists.impactlinux.com/listinfo.cgi/firmware-impactlinux.com>mailing list</a> | |
294 is still the fastest way to get a fix.</p> | |
295 </blockquote> | |
296 | |
297 <h3><b>New screenshots page</b></h3> | |
298 | |
299 <blockquote> | |
300 <p><a href=screenshots>This page</a> lists every target, with | |
301 a "screenshot" of the target's boot messages under qemu, and associated | |
302 links to all the various prebuilt binaries for that target.</p> | |
303 </blockquote> | |
304 | |
305 <h3><b>Fun with static linking</b></h3> | |
306 | |
307 <blockquote> | |
308 <p>The cross-compiler-$ARCH tarballs are all compiled for i686 and | |
309 statically linked against uClibc for maximum portability.</p> | |
310 | |
311 <p>The busybox binary in the root filesystem images is now built statically by | |
312 default, providing a 20% speed improvement in ./configure times under qemu | |
313 (due to the reduced page translation overhead). You can switch this back | |
314 to dynamic with "BUILD_STATIC=none".</p> | |
315 | |
316 <p>Static dropbear and strace binaries for each target are also available, | |
317 built by the new sources/more/native-static-build.sh script.</p> | |
318 </blockquote> | |
319 | |
320 <h3><b>System Image interface changes</b></h3> | |
321 | |
322 <blockquote> | |
323 <p>The run-from-build.sh script used to set up a development environment | |
324 out of the build directory, but didn't provide an easy way to do so based | |
325 on downloaded tarballs. (You had to work out and provide extensive | |
326 command line arguments to the run-emulator.sh script.) This has been | |
327 fixed.</p> | |
328 | |
329 <p>The run-emulator.sh script in each system interface tarball is now much | |
330 simpler. It now looks for distccd and $ARCH-cc in its $PATH, and sets up | |
331 distcc acceleration automatically if it finds them. (It announces whether | |
332 or not it has managed to do so, and init.sh announces whether or not it | |
333 thinks it has distcc acceleration enabled just before launching a command | |
334 prompt.) So setting up the distcc accelerator should be less of a pain.</p> | |
335 | |
336 <p>Also, run-emulator.sh no longer takes any command line arguments. Instead | |
337 the environment variable $HDB indicates a /dev/hdb disk image to mount on | |
338 /home, $HDBMEGS specifies the size of a (sparse ext2) HDB image to create if | |
339 it doesn't already exist, and QEMU_MEMORY indicates how many megabytes of | |
340 physical memory the emulator should allocate for the virtual system.</p> | |
341 | |
342 <p>Each system-image also provides a simple wrapper dev-environment.sh | |
343 which calls run-emulator.sh with HDBMEGS=2048, HDB=hdb.img, and | |
344 QEMU_MEMORY=256. (These are the values run-from-build.sh used to provide, | |
345 and give a reasonable build environment with 256 megs of physical memory | |
346 and 2 gigabytes of writeable /home space.) The run-from-build.sh script | |
347 itself now merely adds the specified build/cross-compiler-$ARCH directory | |
348 to the $PATH, changes directory to the appropriate build/system-image-$ARCH, | |
349 and calls ./dev-environment.sh. It's 3 lines.</p> | |
350 | |
351 <p>The system images can now also automatically mount a third disk image | |
352 ($HDC, specifying an /dev/hdc image to mount onto the /mnt directory), and if | |
353 that filesystem contains an executable "init" program in its root directory | |
354 the sbin/init.sh script will run that instead of launching a command prompt.</p> | |
355 | |
356 <p>The new native-static-build.sh uses this HDC capability to automatically | |
357 run some native package builds without having to drive the build through | |
358 /dev/console via a wrapper script (the way smoketest.sh does). See | |
359 sources/more/setup-native-static-build.sh for the script which generates | |
360 the hdc.sqf image for this.</p> | |
361 | |
362 <p>Note that some targets (such as sh4 and powerpc) don't yet support /dev/hdc | |
363 due to QEMU board emulation limitations.</p> | |
364 </blockquote> | |
365 | |
366 <h3><b>Build interface changes</b></h3> | |
367 | |
368 <blockquote> | |
369 <p>The new "sources/more" directory contains scripts the end user can | |
370 call, but which aren't important enough to clutter up the top level | |
371 directory with. The buildall.sh and smoketest-all.sh scripts moved there, | |
372 as did the cronjob.sh used to build the nightly snapshots.</p> | |
373 | |
374 <p>The new sources/more/native-static-build.sh natively compiles dropbear and | |
375 strace under the emulator, and copies them out to the host through the virtual | |
376 network (into the build/cron-temp directory) using busybox ftpd on the host. | |
377 This provides an example of how to use the new HDC /mnt/init functionality | |
378 to perform automatic builds under the emulator, and copy the results out | |
379 through the network. It uses the new sources/timeout.sh wrapper to detect | |
380 hung builds (defined as builds that haven't produced a line of output within | |
381 a given number of seconds).</p> | |
382 | |
383 <p>The new BINARY_PACKAGE_TARBALLS variable (in the file "config") tells | |
384 the build to create a separate tarball of the binaries produced building | |
385 each package. (These more granular tarballs aren't shipped yet, but may | |
386 be in a future release.)</p> | |
387 | |
388 <p>The new SKIP_STRIP variable tells the build not to strip binaries. | |
389 (Add in CFLAGS=-g for enormous binaries full of debug info.)</p> | |
390 </blockquote> | |
391 | |
392 <h3><b>Target upgrades</b></h3> | |
393 | |
394 <blockquote> | |
395 <p>Powerpc and sh4 should now work fine with stock qemu 0.11.0.</p> | |
396 | |
397 <p>The arm platform now has an armv4tl target. This is a little-endian armv4 | |
398 eabi, for armv4 chips offering the "thumb" extension which eabi requires. | |
399 (The plain armv4l target is still oabi. The oabi/eabi thing is different | |
400 binary ABIs, a bit like Linux vs BSD binaries or aout vs elf. The eabi | |
401 standard is the new one, but some of the older arm hardware can't support | |
402 it. This takes it down as far as it can go.)</p> | |
403 </blockquote> | |
404 | |
405 <h3><b>Infrastructure</b></h3> | |
406 | |
407 <blockquote> | |
408 <p>Behind the scenes, some extensive work is going on to simplify the | |
409 build scripts. (The documentation's fallen a bit behind reality here, | |
410 but should be back up to date next release.)</p> | |
411 | |
412 <p>The uClibc miniconfigs are now automatically generated, with the | |
413 bulk of the config living in sources/baseconfig-uClibc and the few | |
414 target specific lines being appended from the UCLIBC_CONFIG variable | |
415 defined in the target's settings file.</p> | |
416 | |
417 <p>The other big change is factoring out lots of common code, moving it into | |
418 the sources/sections directory, so things like the uClibc, busybox, and | |
419 toolchain builds now live in one place and are called from the various | |
420 other scripts that need them. (This may eventually allow alternate build | |
421 scripts for these packages, potentially swapping out glibc for uClibc, or | |
422 llvm/clang for gcc. In the meantime, it eliminates a lot of redundant code.)</p> | |
423 | |
424 <p>This required lots of small cleanups, such as making the scripts now | |
425 consistently use the $STAGE_DIR variable for their output directory. | |
426 Some other cleanups were primarily cosmetic, such as moving the extracted | |
427 tarball cache directory from build/sources to build/packages. (Tarballs | |
428 live in packages, extracted tarballs live in build/packages.)</p> | |
429 | |
430 <p>The root filesystem now contains simple /etc/passwd and /etc/group files, | |
431 because dropbear won't work without them (not even to ssh out).</p> | |
432 | |
433 <p>Several small bugfixes (ccwrap no longer segfaults if $PATH isn't | |
434 exported, /etc/resolv.conf doesn't get overwritten unnecessarily by init.sh, | |
435 etc).</p> | |
436 </blockquote> | |
437 | |
927 | 438 <hr> |
439 <h2><a name=08-20-2009 />August 20, 2009</h2> | |
809 | 440 <p><a href=downloads/firmware-0.9.7.tar.bz2>Version 0.9.7</a> is out, a little |
441 over a month and a half late. It's a larger update than usual, so the | |
442 release notes are a bit long.</p> | |
443 | |
444 <p>This release is based on | |
445 <a href=http://impactlinux.com/hg/firmware/log/807>mercurial version 807</a> | |
446 of the build scripts, | |
447 and includes <b>Linux 2.6.30.4</b> and <b>BusyBox 1.14.3</b>. | |
448 No new uClibc release is out since last time.</p> | |
449 | |
450 <p>Lots of little bugs got fixed. For example, this release should build on | |
451 Fedora 11 (and any other platform that hasn't got "which" installed by | |
452 default), and now supports distcc and ccache on the host (and will use them | |
453 automatically if they are installed).</p> | |
454 | |
455 <h3><b>Changes to build stages: new root-filesystem, cross-static, and | |
456 native-compiler tarballs, upgraded buildall.sh and smoketest-all.sh.</b></h3> | |
457 | |
458 <blockquote> | |
459 <p>The old "mini-native" stage has been renamed "root-filesystem" | |
460 (the same way package-mini-native became system-image last release). The | |
461 script names (and resulting tarballs) now indicate what each stage makes. | |
462 So build.sh calls host-tools.sh, cross-compiler.sh, root-filesystem.sh, | |
463 and system-image.sh, in that order.</p> | |
464 | |
879 | 465 <p>The old build-static-toolchains.sh script is gone, with its functionality |
809 | 466 integrated into buildall.sh (which now builds i686 hosted static toolchains |
467 for each target by default). This is implemented by two new environment | |
468 variables triggering optional behavior: STATIC_CROSS_COMPILER_HOST | |
469 and BUILD_STATIC_NATIVE_COMPILER.</p> | |
470 | |
471 <p>Setting STATIC_CROSS_COMPILER_HOST to an architecture name creates a | |
472 cross compiler statically linked to run on that host (via a technique | |
473 known as canadian cross compile). For example, the invocation:</p> | |
474 | |
475 <blockquote> | |
476 <p>BUILD_CROSS_COMPILER_HOST=i686 ./build.sh armv4l</P> | |
477 </blockquote> | |
478 | |
479 <p>Would create a tarball called "cross-static-armv4l.tar.bz2" which was | |
480 built to run on an i686 host, and was statically linked (against uClibc) | |
481 on that host to be distribution independent.</p> | |
482 | |
483 <p>Setting BUILD_STATIC_NATIVE_COMPILER to any non-empty value creates a | |
484 native compiler for the target (packaged as native-compiler-$ARCH.tar.bz2), | |
485 which is statically linked against uClibc so it can be extracted and run on | |
486 just about any system of the appropriate type. (So if you can get a Linux | |
487 shell prompt and have enough storage and memory, you should be able to | |
488 compile stuff.)</p> | |
489 | |
490 <p>The upgraded smoketest-all.sh script runs smoketest.sh on each | |
491 target built. (The smoketest.sh script attempts to compile and run "hello | |
492 world" natively within a system image under qemu, and indicates whether or | |
493 not it worked via "pass" or "fail".) Note that smoketest-all.sh now | |
494 autodetects which targets have been built (have system images in the build | |
495 directory), and smoketest.sh times out after 60 seconds so targets that hang | |
496 will return failure eventually.</p> | |
497 | |
498 </blockquote> | |
499 | |
500 <h3><b>Squashfs 4.0 now the default system image type</b></h3> | |
501 | |
502 <blockquote> | |
503 <p>The root filesystem image type is now squashfs by default. (To change it set | |
504 SYSIMAGE_TYPE to ext2 or initramfs, either in your environment or the file | |
505 "configure".)</p> | |
506 | |
507 <p>This involved upgrading the userspace squashfs support package | |
508 to the version 4.0 supported by the upstream kernel, and numerous small fixes | |
509 to work with a read-only root filesystem (with writeable spaced mounted on | |
510 /home and /tmp).</p> | |
511 </blockquote> | |
512 | |
513 <h3><b>Target upgrades</b></h3> | |
514 <blockquote> | |
515 <h3><b>ARM upgrades</b></h3> | |
516 | |
517 <blockquote> | |
518 <p>Lots of work on the arm targets, with the addition of a new armv6l target | |
519 and conversion of the armv5l target to | |
520 <a href=http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Why-ARMs-EABI-matters/>ARM EABI</a> (which used to be documented <a href=http://www.arm.com/products/DevTools/ABI.html>here</a>, | |
521 but ARM screwed up its website and now you have to go | |
522 <a href=http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.swdev.abi/index.html>here</a>). The armv4l target still provides an ARM v4 | |
523 little endian soft float OABI target (which is "the i386 of ARM", meaning it | |
524 should run on just about any arm hardware, if a bit slowly). A new | |
525 armv4be target is the same as armv4l except big endian.</p> | |
526 | |
527 <p>A new hw-tct-hammer target supports the <a href=http://www.tincantools.com/product.php?productid=16143>Tin Can Tools hammer/nail board</a>.</p> | |
528 </blockquote> | |
529 | |
530 <h3><b>Updated sparc support, almost works now. (uClibc for sparc still sucks.)</b></h3> | |
531 | |
532 <blockquote> | |
533 <p>The sparc target has also been upgraded to the point where it now gives | |
534 a shell prompt. (And immediately dies with a bus error or a hang if you try | |
535 to do anything, because uClibc for sparc still doesn't work. The "upgrade" | |
536 consisted of statically linking everything because uClibc's dynamic loader | |
537 doesn't work for sparc.)</p> | |
538 </blockquote> | |
539 | |
540 <h3><b>PowerPC remains fiddly due to QEMU issues, new powerpc-440fp target</b></h3> | |
541 | |
542 <blockquote> | |
543 <p>PowerPC support in QEMU is | |
544 <a href=http://lists.gnu.org/archive/html/qemu-devel/2009-07/msg01007.html>officially unstable</a>, so although FWL's powerpc target hasn't significantly | |
545 changed from last release, the version of QEMU in source control no longer | |
546 runs it (nor the binary powerpc system images released with FWL 0.9.6) and | |
547 QEMU's developers do not consider this a regression. While we search for a new | |
548 Linux kernel .config that matches QEMU's current expectations (and await a | |
549 release considered "stable"), note that setting HOST_BUILD_EXTRA=1 before | |
550 running host-tools.sh will build a version of qemu that does run powerpc and | |
551 put it in build/host where run-from-build.sh can find it. (Note also that | |
552 building qemu from source still takes significantly longer than the rest of the | |
553 host-tools.sh stage combined.)</p> | |
554 | |
555 <p>A new powerpc-440fp target produces code for the powerpc 440 with hardware | |
556 floating point. (Theoretically QEMU's "bamboo" board emulation should | |
557 run this, but QEMU doesn't emulate a 440 processor yet. We compromise by | |
558 running a ppc440 filesystem under qemu's power mac emulation, to take | |
559 advantage of the ppc440 instruction set being almost a subset of full powerpc. | |
560 This gets us a shell prompt, but throws illegal instruction errors if you | |
561 try to do anything fancy.)</p> | |
562 | |
563 <p>(Note that powerpc-440fp is not a hw-target for powerpc, it's a different | |
564 processor instruction set like i586 vs i686. Alas, one that qemu doesn't | |
565 properly emulate yet.)</p> | |
566 | |
567 </blockquote> | |
568 | |
569 </blockquote> | |
570 | |
571 <h3><b>Now using last GPLv2 release of GCC, and future plans</b></h3> | |
572 | |
573 <blockquote> | |
574 <p>The upgrade to <b>gcc 4.2.1</b> gives us | |
575 <a href=http://gcc.gnu.org/ml/gcc-announce/2007/msg00003.html>the last | |
576 GPLv2 licensed version of gcc</a> (thus avoiding | |
577 <a href=http://lwn.net/Articles/343608/>various problems</a>). | |
578 <a href=http://savannah.gnu.org/forum/forum.php?forum_id=4932>Make 3.81</a> | |
579 was already the last GPLv2 release of that project.</p> | |
580 | |
581 <p>Note that <b>bash 2.05b</b> is still intentionally ancient (to avoid the | |
582 bloat of 3.x), and may be replaced with busybox ash as the default FWL shell | |
583 in a future release. Similarly, although <b>binutils 2.17</b> was the last | |
584 GPLv2 version from the FSF, an upgrade to | |
585 <a href=http://ftp.kernel.org/pub/linux/devel/binutils/release.binutils-2.18.50.0.1>the | |
586 last GPLv2 release of Red Hat's binutils fork, 2.17.5.0.17</a> is under | |
587 consideration for a future release. But mostly the GNU compiler toolchain | |
588 has been upgraded as far as possible for the forseeable future, either because | |
589 new versions provide no significant benefits or because they're not available | |
590 under a license compatible with the Linux kernel's.</p> | |
591 | |
592 <p>Future upgrades to these packages will either be via individual patches | |
593 (maintaining GPLv2 license) or by investigating alternative non-FSF | |
594 packages such as OpenBSD's <a href=http://lwn.net/Articles/255558>PCC</a> or | |
595 Apple's <a href=http://llvm.org>LLVM</a>. In preparation for support of | |
596 alternate compilers, the build scripts have moved from using "gcc" to the | |
597 more generic "cc" for the compiler name wherever possible, but currently no | |
598 drop-in replacement compiler is available.</p> | |
599 | |
600 </blockquote> | |
601 | |
602 <h3><b>Implementation details</b></h3> | |
603 | |
604 <blockquote> | |
605 <p>Each target configuration renamed "details" to "settings", and added | |
606 a "description". (This makes Gentoo From Scratch's kconfig easier.)</p> | |
607 | |
608 <p>The download.sh stage now populates a "packages" directory instead of | |
609 "sources/packages", meaning that everything in the sources directory now | |
610 comes from the FWL source tarball. To do the equivalent of "make clean" | |
611 you can "rm -rf build", and to do a "make distclean" you can | |
612 "rm -rf packages build".</p> | |
613 | |
614 <p>The build no longer deletes the alt-* tarballs when UNSTABLE isn't | |
615 set, you must do that by hand if you want an updated alt- version of a | |
616 package. The packages/MANIFEST file creation can now use the extended | |
617 tarball information to detect git version numbers.</p> | |
618 | |
619 <p>The === bars now show the current stage name and architecture each | |
620 package is being built for. (Pipe the build output to grep "^===" to see | |
621 just the start of each new package build.) The same information is sent | |
622 to the title bar of your xterm, export NO_TITLE_BAR=1 if you don't want the | |
623 build to update the title bar.</p> | |
624 | |
625 <p>The BUILD_STATIC option now applies to all packages built in | |
626 root-filesystem.sh, and can be set from a target configuration's settings file | |
627 (as sparc is now doing).</p> | |
628 | |
629 <p>The BUILD_VERBOSE option passes V=1 to the linux, busybox, and uClibc | |
630 builds that otherwise sanitize their output.</p> | |
631 | |
632 <p>You can now set NATIVE_TOOLCHAIN=only to build just the compiler | |
633 and not the other parts (busybox, make, toybox, bash...) This is used | |
634 by the canadian cross steps in build.sh to create static cross and native | |
635 compilers.</p> | |
636 | |
637 <p>This release broke up scripts/include.sh so that script just | |
638 sets lots of environment variables, and now includes scripts/functions.sh | |
639 to define shell functions. The architecture setup (reading architecture | |
640 files and creating temporary directories and such) is now done via the | |
641 "read_arch_dir $ARCH" shell function, so merely including sources/include.sh | |
642 should no longer have significant side effects. Similarly, setupfor now | |
643 has an EXTRACT_ONLY environment variable instead of depending on a blank | |
644 $ARCH (which host-tools.sh has, despite wanting to snapshot source so it can | |
645 build stuff).</p> | |
646 | |
647 <p>Various fixes to make parallel builds work better. (So it neither leaves | |
648 background processes running nor kills the parent shell and closes your | |
649 xterm when you hit ctrl-c.) The new "killtree" shell function, | |
650 which kills a process and all its children and grandchildren recursively with | |
651 pgrep. We also build our own sources/toys/mysetsid.c program with the host | |
652 compiler (because the normal command line "setsid" doesn't also do a tcsetpgrp | |
653 on stdin so signal handling isn't forwarded to the new session). This should | |
654 more reliably allow ctrl-c to exit smoketest.sh and system-image.sh and such, | |
655 and let FORK=1 ./buildall.sh stop all its background processes when | |
656 interrupted. (Note that smoketest-all.sh also honors FORK=1.)</p> | |
657 | |
658 <p>The logs from buildall.sh now live in build/logs.</p> | |
659 | |
660 <p>The new config option ROOT_NODIRS avoids creating the normal set of empty | |
661 directories in the new root filesystem. (The old /tools support went | |
662 away, but a BUILD_STATIC ROOT_NODIRS build can be extracted into /tools | |
663 and used from there. Then either symlink "/lib" to "/tools/lib" or "export | |
664 UCLIBC_DYNAMIC_LINKER=/tools/lib/ld-uClibc.so.0" to add more stuff to | |
665 /tools natively.)</p> | |
666 | |
667 <p>The compiler wrapper (sources/toys/ccwrap.c) can now use | |
668 architecture-specific WRAPPER_TOPDIR values. (I.E. armv4l-cc could | |
669 "export armv4l_WRAPPER_TOPDIR=/path/to/directory".) This makes | |
670 canadian cross compiles a lot easier.</p> | |
671 </blockquote> | |
672 | |
927 | 673 <hr> |
674 <h2><a name=04-02-2009 />April 2, 2009</h2> | |
694 | 675 <p><a href=downloads/firmware-0.9.6.tar.bz2>Version 0.9.6</a> includes |
676 Linux 2.6.29 and uClibc 0.9.30.1, now with support for sh4 and upgraded powerpc | |
677 support.</p> | |
678 | |
679 <p>The big news is the <a href=http://impactlinux.com/code/gfs/>Gentoo | |
680 From Scratch</a> project, which extends a FWL system image into a Gentoo | |
681 Stage 1 environment, building natively inside qemu.</p> | |
682 | |
683 <p>The <a href=documentation.html>documentation</a> has been extensively | |
684 rewritten (but needs more). The source now contains a README and each image | |
685 has a usr/src/MANIFEST file listing the packages it built from.</p> | |
686 | |
687 <p>The cross and native toolchains now include ldd, readelf, and | |
688 ldconfig. Added support for hardware targets (an unfinished example | |
689 of which is hw-wrt610n) that use the same cross compiler and system | |
690 image as a qemu platform, but build/package a different kernel to boot | |
691 on actual hardware.</p> | |
692 | |
693 <p>Several new build options:</p> | |
694 <ul> | |
695 <li><p><b>$SYSIMAGE_TYPE</b> defaults to "ext2" but can now | |
696 produce and boot "initramfs" images as well. (And squashfs, but that doesn't | |
697 work yet due to missing features in squashfs tools version 3.4.)</p></li> | |
698 <li><p>Setting <b>$HOST_BUILD_EXTRA</b> compiles qemu 0.10.1 in host-tools.sh. | |
699 You currently need to do this to run sh4 or powerpc, 0.10.1 has some bugs | |
700 needing patches. Not on by default because it takes a _long_ time.</p></li> | |
701 <li><p><b>$NO_CLEANUP</b> keeps source around after builds for debugging purposes.</p></li> | |
702 <li><p><b>$SYSIMAGE_HDA_MEGS</b> lets you control the size of the ext2 system images.</p></li> | |
703 <li><p><b>$SNAPSHOT_SYMLINK</b> lets the extracted source live on a different | |
704 filesystem than the build happens on. (Once the updated squashfs userspace | |
705 tools ship, build-static-toolchains.sh may be updated to use this.)</p></li> | |
706 <li><p><b>$CROSS_SMOKE_TEST</b> use qemu application emulation to test run hello | |
707 world program at the end of the cross compiler build stage.</p></li> | |
708 <li><p><b>$SKIP_STAGE_TARBALLS</b> don't create tarballs of each stage, | |
709 just populate the directories.</p></li> | |
710 <li><p><b>$NATIVE_RETROFIT_CXX</b> retroactively add uClibc++ to the cross | |
711 compiler tarball during the native build stage.</p></li> | |
712 </ul> | |
713 | |
714 <p>The run-emulator.sh scripts of system images have several new options, | |
715 do "./run-emulator.sh --help" for a list. Takes several environment | |
716 variables such as $QEMU_EXTRA and $KERNEL_EXTRA. Root filesystems can | |
717 now run in read only mode with "KERNEL_EXTRA=ro".</p> | |
718 | |
719 <p>Lots of build infrastructure upgrades. The build stages have been | |
720 reorganized somewhat (most noticeably package-mini-native.sh is now called | |
721 system-image.sh). The "sources/packages" directory has moved up a | |
722 directory (to separate repository files from stuff downloaded at runtime). | |
723 Upgrades to the cc wrapper and the USE_UNSTABLE infrastructure. Better | |
724 stripping of the cross compilers and system images, so everything's a bit | |
725 smaller. The mirror list now lives in download.sh. New buildall.sh is a | |
726 wrapper around build.sh. New build-static-toolchains.sh builds them under | |
727 qemu; set FORK=1 to build them in paralell just like buildall.sh. The | |
728 ext2 system images are now built at a small size with genext2fs and | |
729 then expanded with resize2fs (because genext2fs slows down exponentially | |
730 as size increases; this means e2fsprogs is built in host-tools.sh now). | |
731 Distcc has been upgraded, and should work more reliably now.</p> | |
732 | |
733 <p>Too many little bug fixes to list.</p> | |
734 | |
927 | 735 <hr> |
736 <h2><a name=12-16-2008 />December 16, 2008</h2> | |
543
e85e59bd76aa
News entry about new mailing list.
Rob Landley <rob@landley.net>
parents:
536
diff
changeset
|
737 <p>The mailing list moved to firmware at impactlinux.com. The link in |
e85e59bd76aa
News entry about new mailing list.
Rob Landley <rob@landley.net>
parents:
536
diff
changeset
|
738 the nav bar on the left has changed, but the |
e85e59bd76aa
News entry about new mailing list.
Rob Landley <rob@landley.net>
parents:
536
diff
changeset
|
739 <a href=http://www2.them.com:8080/cgi-bin/mailman/listinfo/firmware>old |
e85e59bd76aa
News entry about new mailing list.
Rob Landley <rob@landley.net>
parents:
536
diff
changeset
|
740 archives</a> are still there for the moment.</p> |
e85e59bd76aa
News entry about new mailing list.
Rob Landley <rob@landley.net>
parents:
536
diff
changeset
|
741 |
927 | 742 </hr> |
743 <h2><a name=12-03-2008 />December 3, 2008</h2> | |
523 | 744 <p>After several false starts (I.E. last minute bugs, yes I test this thing |
745 before shipping it), | |
746 <a href=downloads/firmware-0.9.5.tar.bz2>Version 0.9.5</a> is out, inching | |
747 towards a 1.0 release. Lots of new work this time.</p> | |
748 | |
749 <p>The biggest news is uClibc 0.9.30 and uClibc++ 0.2.2. The native toolchain | |
750 now supports C++, hooked up to distcc and everything.</p> | |
751 | |
752 <p>The <a href=documentation.html>documentation</a> has been extensively | |
753 rewritten. (There's always more to do, but most of it isn't horribly out | |
754 of date anymore.)</p> | |
755 | |
756 <p>The packaging stage now uses genext2fs instead of User Mode Linux, so | |
757 the most brittle part of the build has been removed. FWL can now fully | |
758 rebuild itself under itself, all the way through the packaging stage.</p> | |
759 | |
760 <p>My personal website's getting a touch overwhelmed, so a higher bandwidth | |
761 site is now available at | |
762 <a href=http://impactlinux.com/fwl>impactlinux.com</a>. This should become | |
763 the new primary website going forward.</p> | |
764 | |
765 <p>BusyBox has also been upgraded (to 1.13.0), and the new USE_UNSTABLE | |
766 infrastructure allows test versions of any package to be downloaded and built | |
767 without forking the build scripts, so future package upgrades can be dealt | |
768 with as side projects without blocking other important work.</p> | |
769 | |
770 <p>The packaging stage now uses genext2fs instead of User Mode Linux, so | |
771 the most brittle part of the build has been removed. FWL can now fully | |
772 rebuild itself under itself, all the way through the packaging stage.</p> | |
773 | |
774 <p>The old forkbomb script has been replaced with sources/build-all-targets.sh. | |
775 with an argument --fork to build all targets in parallel, and "--fork 3" | |
776 to limit the parallelism. This script can run from a cron job, producing | |
777 a "buildall" directory with tarballs, compressed logs, and a README file | |
778 listing the version of each package. The environment variable USE_STATIC_HOST | |
779 specifies an $ARCH to create statically linked cross compilers | |
780 for. (The build will then try to use them for the later stages, | |
781 and won't get far if you specify an arch that can't run on the host.)</p> | |
782 | |
783 <p>The include.sh script has been broken up, with a new sources/functions.sh | |
784 containing shell functions (like download, setupfor, and cleanup) and | |
785 a new "config" setting the user-editable environment variables that control | |
786 the build. Several of these variables have been renamed and their number has | |
787 grown. You can now specify the colors for each build stage using the variables | |
788 at the end of config.</p> | |
789 | |
790 <p>Building mini-native in a Linux From Scratch style /tools directory is | |
791 no longer the default. Instead set NATIVE_TOOLSDIR=1 if you want that | |
792 kind of layout instead of a more conventional layout. (Similarly, | |
793 NATIVE_TOOLCHAIN=1 now enables the native toolchain, but that variable | |
794 defaults to enabled in config.)</p> | |
795 | |
796 <p>See the <a href=documentation.html>docs</a> for details.</p> | |
797 | |
927 | 798 <hr> |
799 <h2><a name=08-06-2008 />August 6, 2008</h2> | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
800 <p><a href=downloads/firmware-0.9.0.tar.bz2>Version 0.9.0</a> is out |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
801 (<a href=http://landley.net/hg/firmware/shortlog/378>changeset 378</a>) |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
802 and can rebuild itself under itself. (The packaging step still requires User |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
803 Mode Linux to create ext2 images, which only works on x86 and x86-64 hosts. |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
804 The next release should replace that with something more portable.) |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
805 The root filesystem is now based on BusyBox 1.11.1 (plus a few bug fixes).</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
806 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
807 <p>The prebuilt binary images have been moved into their own |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
808 <a href=downloads/binaries>binaries</a> directory. |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
809 The prebuilt binary <a href=downloads/binaries/cross-compiler>cross |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
810 compilers</a> are statically linked against uClibc for better portability. |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
811 Updated the <a href=downloads/README>README</a> to better describe the |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
812 contents of the <a href=downloads/binaries/system-image>system-image |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
813 tarballs</a>.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
814 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
815 <p>The forkbomb.sh script can now take a number of parallel targets to |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
816 launch, for example "./forkbomb.sh --fork 3". (The resulting display is kind |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
817 of horrible but the out-$ARCH.txt files are still legible.) Leaving off the |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
818 number still builds all targets in parallel, with the original display.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
819 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
820 <p>The include.sh script was reorganized so that interesting environment |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
821 variables the user might want to export for themselves are set near the top |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
822 of the script. Currently this includes:</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
823 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
824 <ul> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
825 <li><p><b>BUILD_SHORT</b> - Makes the mini-native.sh stage skip building |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
826 development tools. The resulting mini-native root filesystem contains uClibc |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
827 and busybox, but nothing else. (Export "BUILD_SHORT=headers" to put back the |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
828 toolchain headers for use by another compiler, such as tinycc.)</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
829 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
830 <li><p><b>BUILD_STATIC</b> - Tell cross-compiler.sh to create static |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
831 binaries, for a more portable cross compiler toolchain. (If you want them |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
832 linked against uClibc, build a mini-native for your host, chroot into it, and |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
833 then rebuild under that.)</li> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
834 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
835 <li><p><b>PREFERRED_MIRROR</b> - Tell download.sh to fetch packages from a |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
836 non-default location (falling back to the standard mirror list if it can't get |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
837 one from there).</p></li> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
838 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
839 <li><p><b>RECORD_COMMANDS</b> - Record a list of all command lines used during |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
840 each build stage log files named "cmdlines.$STAGE.$PACKAGE" under the build |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
841 directory. Each file can be turned into a list of the command names used via |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
842 "awk '{print $1}' build/cmdlines* | sort -u". The script |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
843 sources/toys/report_recorded_commands.sh gives a report of all commands |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
844 used by each package after a call to "RECORD_COMMANDS=1 ./forkbomb.sh". |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
845 (This is an easy way to find out exactly what environmental dependencies a |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
846 package needs to build, or at least what it uses out of $PATH).</p></li> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
847 </ul> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
848 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
849 <p>Updated documentation is in progress...</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
850 |
927 | 851 <hr> |
852 <h2><a name=06-06-2008 />June 6, 2008</h2> | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
853 <p><a href=downloads/firmware-0.4.0.tar.bz2>Version 0.4.0</a> is out |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
854 (<a href=http://landley.net/hg/firmware/shortlog/345>changeset 345</a>), |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
855 with kernel 2.6.25.4 and the "distcc trick" working out of the box.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
856 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
857 <p>The distcc trick accelerates a native build by calling out to the |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
858 cross compiler. To use it, download the appropriate cross-compiler-$ARCH and |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
859 system-image-$ARCH tarballs, run the "run-with-distcc.sh" from the system image |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
860 directory with the path to the cross compiler directory as its first argument. |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
861 (You need to have distcc installed on the host system.)</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
862 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
863 <p>After building from source, the cross-compiler and system-image directories |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
864 remain in the build directory. The "emulator-build.sh" runs these with |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
865 distcc acceration set up. The script "smoketest.sh" is a wrapper |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
866 around emulator-build.sh which feeds a script into qemu's stdin to compile |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
867 and run a multi-threaded "hello world" under the emulator, using distcc and |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
868 the cross compiler.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
869 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
870 <p>If smoketest.sh works for a platform, it means a lot of stuff worked to get |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
871 that far. The cross compiler worked to build the system, and the emulated |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
872 system booted so QEMU, the uClibc config, and the kernel config agreed. |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
873 The emulated system has a working virtual hard drive and serial port, and for |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
874 distcc to work it has a working virtual network connection. Running "make" |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
875 would also require a working realtime clock.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
876 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
877 <p>The seven commands missing in order to run the FWL build under itself |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
878 are bzip2, sort, diff, wget, install, od, and find. (The busybox versions, |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
879 where available, had a bug, and they're not in toybox yet.) I'm trying to |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
880 get those in for the next release in September.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
881 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
882 <p>Sorry I missed a release back in April. Shouldn't happen again.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
883 |
927 | 884 <hr> |
885 <h2><a name=01-29-2008 />January 29, 2008</h2> | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
886 <p><a href=downloads/firmware-0.3.1.tar.bz2>Version 0.3.1</a> is out |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
887 (<a href=http://landley.net/hg/firmware/shortlog/275>changeset 275</a>), with |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
888 kernel 2.6.24. The <a href=downloads/images>images</a> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
889 are now tarballs each containing the ext2, zImage, and run script files. |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
890 The run scripts now run qemu-setup.sh by default so /proc, /sys, /dev |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
891 and the virtual network are initialized, and the default shell is busybox |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
892 ash (so cursor keys and history work).</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
893 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
894 <p>Sparc is still broken (tracked it down to a dynamic linking bug, I think, |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
895 haven't fixed it yet) and m68k is failing to build with an internal compiler |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
896 error (next release I should upgrade the compiler). All the other targets |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
897 have a working virtual network, and all but powerpc exit qemu when you |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
898 exit the PID 1 command shell.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
899 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
900 <p>Building on an x86-64 host< should no longer be insanely slow (the |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
901 gcc-min-heapsize arguments that allow 32-bit hosts to build in |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
902 128 megs of ram do very impolite things to 64-bit hosts), and the resulting |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
903 x86-64 cross compiler should now be properly relocatable.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
904 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
905 <p>Better build dependency tracking: the host-tools script is now |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
906 populating a single directory with all the commands needed by the build, and |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
907 restricting $PATH to that directory (so it can't accidentally call any |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
908 commands that aren't explicitly listed). It's building toybox and busybox to |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
909 provide most of these commands (the remaining ones are listed towards the end |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
910 of include.sh), and creating symlinks to the remaining ones out |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
911 of the original $PATH. This allows it to build on a wider range of host |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
912 distributions.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
913 |
927 | 914 <hr> |
915 <h2><a name=11-02-2007 />November 2, 2007</h2> | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
916 <p><a href=downloads/firmware-0.3.0.tar.bz2>Version 0.3.0</a> is out |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
917 (changeset 242), with kernel 2.6.23. PowerPC finally works under |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
918 qemu (network and everything), and it's building a m68k target |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
919 (although I have no emulator to run that). That means there are |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
920 ten targets, of which eight run under qemu. (Sparc is still |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
921 broken, let me know if anybody actually cares.)</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
922 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
923 <p>The new "./forkbomb.sh --fork" script builds all the targets in |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
924 parallel, or use --nofork if you haven't got the memory for that |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
925 (and --watch to watch and existing build if you ctrl-c out of |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
926 the display before it's done).</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
927 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
928 <p>The build is now smarter about extracting only one copy of the |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
929 source code (in build/sources) and re-using it for multiple builds, |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
930 building out of tree (via cp -rs to create a tree full of symlinks |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
931 so the package doesn't need native out-of-tree support).</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
932 |
927 | 933 <hr> |
934 <h2><a name=09-02-2007 />September 2, 2007</h2> | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
935 <p>Added <a href=new_platform.html>a porting guide</a>. I'm working on |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
936 m68k, ppc, big endian arm, and maybe blackfin targets for the next release, |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
937 and thought other people might be interested in the process. (The vast |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
938 majority of it is fiddly debugging. These are the other steps.)</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
939 |
927 | 940 <hr> |
941 <h2><a name-06-27-2007 />June 27, 2007</h2> | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
942 <p><a href=downloads/firmware-0.2.2.tar.bz2>Version 0.2.2</a> is out |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
943 (changeset 185). Using uClibc 0.9.29 release, several small bugfixes, |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
944 new mips big-endian config, actually work when /bin/sh->dash (mostly |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
945 by explicitly saying /bin/bash everywhere), automatically detect |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
946 the number of CPUs in the machine to feed -j to make, and better |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
947 diagnostic output.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
948 |
927 | 949 <hr> |
950 <h2><a name=04-09-2007 />April 9, 2007</h2> | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
951 <p><a href=downloads/firmware-0.2.1.tar.bz2>Version 0.2.1</a> is out |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
952 (changeset 156). Significant upgrades to armv4l: the native compiler works |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
953 now, and it's using soft-float. Added armv5l and i586 targets to show how |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
954 to do that kind of variant. Added preliminary powerpc support (although |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
955 qemu can't run it yet). Reorganized the download directory and rewrote |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
956 the <a href=downloads/README>README</a>. Added squashfs back (the kernel |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
957 supports it, but it's not using it yet). Moved uClibc to miniconfig. |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
958 (Yes, the patch for this is huge, and yes I need to push it all upstream into |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
959 the Linux kernel. On the bright side, this one builds on a host that doesn't |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
960 have curses installed.) Stopped trying to build qemu (at least until they |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
961 get the gcc 3.x dependencies cleaned out), now just warn if it's not there |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
962 (so far the build only uses it to sanity-test the cross compiler, which is |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
963 now skipped automatically if it's not there).</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
964 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
965 <p>I note that some versions of Ubuntu (Edgy and up) are pushing a political |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
966 agenda. They install bash, but point /bin/sh to dash instead. (So why |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
967 install bash if you're not going to use it?) This breaks all sorts of things, |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
968 and if somebody can tell me how to force make to run "/bin/bash" instead of |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
969 "/bin/sh", I'll consider trying to deal with the mess. Until then, I suggest |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
970 "rm /bin/sh; ln -s bash /bin/sh" to get a working system. (I'm no fan of |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
971 bash, but dash is just broken.)</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
972 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
973 <p>(Those of you who use vi and want to be able to use the cursor keys while |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
974 in insert mode might want to do something similar with vi->vim. Ubuntu seems |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
975 to be trying to train users to change their habits. Dog biscuits would be a |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
976 more honest approach.)</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
977 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
978 <p>Update: I've been pointed at |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
979 <a href=https://wiki.ubuntu.com/DashAsBinSh>this</a> as evidence Ubuntu isn't |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
980 pushing a political agenda. Ok, maybe it's just really bad technical judgement. |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
981 Are they honestly saying that people write shell scripts for the speed? And |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
982 how do you make a size argument and then install bash by default in ADDITION |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
983 to the other shell? Boggle. In 1991 after Linus Torvalds taught his term |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
984 program to understand the minix filesystem so he could upload and download |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
985 without rebooting, he taught it to handle the system calls of bash so he could |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
986 rm/mv/mkdir without rebooting. That's where Linux 0.0.1 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
987 came from. Bash was the default Linux shell _before_ 0.0.1. Be very |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
988 careful messing with that kind of a de-facto standard, guys. Dash is |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
989 garbage. Background a process with & and then hit ctrl-c: it'll kill it. |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
990 It doesn't understand blah/{blah,blah} file list syntax. It can't do |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
991 "source file.sh" (just ". file.sh", which is unreadable). I repeat: I'm not a |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
992 fan of bash (yeah, the bloat's getting crazy), but dash is broken.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
993 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
994 <p>And that still doesn't explain why "vi" can't use the cursor keys in |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
995 insert mode, but "vim" can...</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
996 |
927 | 997 <hr> |
998 <h2><a name=03-06-2007 />March 6, 2007</h2> | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
999 <p>Version 0.2.0 is out. This one builds ext2 images which can boot up to a |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1000 shell prompt under qemu. This works on i686, armv4l, x86_64, and mipsel. |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1001 (Sparc's broken. Anyone who cares about sparc is welcome to debug it.)</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1002 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1003 <p>There are now prebuilt ext2 image files in the download directory. |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1004 The kernels are in the mini-native tarballs. (Yeah, I should repackage that |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1005 next release.) The system emulator invocation for each platform is |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1006 the appropriate sources/configs file, and run-mini-native.sh invokes 'em.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1007 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1008 <p>The mailing list is in the usual place if you have any questions.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1009 |
927 | 1010 <hr> |
1011 <h2><a name=01-14-2007 />January 14, 2007</h2> | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1012 <p>There's a new irc channel for the project, #firmware on freenode.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1013 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1014 <p><a href=http://landley.net/hg/firmware?cl=88>Changeset 88</a> builds |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1015 i686, x86_64, armv4l, mips, and sparc. I've made a release tarball of |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1016 that (<a href=downloads/firmware-0.1.1.tar.bz2>firmware 0.1.1</a>, "It works |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1017 for me"), and updated the prebuilt cross-compiler tarballs in the |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1018 <a href=downloads>downloads</a> directory. I've added a big README and |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1019 prebuilt mini-native tarballs for each platform (although packing them up into |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1020 something qemu can boot is currently left as an exercise for the reader).</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1021 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1022 <p>Speaking of which, I'm currently working on adding ext2 packaging |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1023 (via <a href=http://landley.net/code/toybox>toybox</a>) to the build scripts, |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1024 so qemu system emulation can boot the result and then run the next stage |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1025 automatically.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1026 |
927 | 1027 <hr> |
1028 <h2><a name=12-28-2006 />December 28, 2006</h2> | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1029 <p><a href=http://landley.net/hg/firmware?cl=68>Changeset 68</a> builds |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1030 a native build environment with a working toolchain. And in celebration, I've |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1031 revamped the website with an actual navigation bar and content and such.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1032 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1033 <p>I should put out a release soon.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1034 |
927 | 1035 <hr> |
1036 <h2><a name=12-05-2006 />December 5, 2006</h2> | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1037 <p><a href=http://landley.net/hg/firmware?cl=27>Changeset 27</a> builds |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1038 a relocatable armv4l cross-compile toolchain! Download the tarball, |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1039 run ./download.sh, then run ./build.sh, then grab the "build/cross-compiler" |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1040 directory and use "bin/armv4l-unknown-linux-gnu-gcc" out of that (which |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1041 I admit is a bit of a mouthful, for which I blame the FSF).</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1042 |
927 | 1043 <hr> |
1044 <h2><a name=08-06-2006 />August 6, 2006</h2> | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1045 <p>Mecurial repository created. Nothing to see yet, move along...</p> |
881
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
879
diff
changeset
|
1046 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
879
diff
changeset
|
1047 <!--#include file="footer.html" --> |