Mercurial > hg > aboriginal
annotate www/news.html @ 809:d326c68aa747
Update website and READMEs.
author | Rob Landley <rob@landley.net> |
---|---|
date | Thu, 20 Aug 2009 22:48:42 -0500 |
parents | 55a526672f43 |
children | f65196307da0 |
rev | line source |
---|---|
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1 <!--#include file="header.html" --> |
809 | 2 |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
3 <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
|
4 |
809 | 5 <h2>August 20, 2009</h2> |
6 <p><a href=downloads/firmware-0.9.7.tar.bz2>Version 0.9.7</a> is out, a little | |
7 over a month and a half late. It's a larger update than usual, so the | |
8 release notes are a bit long.</p> | |
9 | |
10 <p>This release is based on | |
11 <a href=http://impactlinux.com/hg/firmware/log/807>mercurial version 807</a> | |
12 of the build scripts, | |
13 and includes <b>Linux 2.6.30.4</b> and <b>BusyBox 1.14.3</b>. | |
14 No new uClibc release is out since last time.</p> | |
15 | |
16 <p>Lots of little bugs got fixed. For example, this release should build on | |
17 Fedora 11 (and any other platform that hasn't got "which" installed by | |
18 default), and now supports distcc and ccache on the host (and will use them | |
19 automatically if they are installed).</p> | |
20 | |
21 <h3><b>Changes to build stages: new root-filesystem, cross-static, and | |
22 native-compiler tarballs, upgraded buildall.sh and smoketest-all.sh.</b></h3> | |
23 | |
24 <blockquote> | |
25 <p>The old "mini-native" stage has been renamed "root-filesystem" | |
26 (the same way package-mini-native became system-image last release). The | |
27 script names (and resulting tarballs) now indicate what each stage makes. | |
28 So build.sh calls host-tools.sh, cross-compiler.sh, root-filesystem.sh, | |
29 and system-image.sh, in that order.</p> | |
30 | |
31 <p>Th old build-static-toolchains.sh script is gone, with its functionality | |
32 integrated into buildall.sh (which now builds i686 hosted static toolchains | |
33 for each target by default). This is implemented by two new environment | |
34 variables triggering optional behavior: STATIC_CROSS_COMPILER_HOST | |
35 and BUILD_STATIC_NATIVE_COMPILER.</p> | |
36 | |
37 <p>Setting STATIC_CROSS_COMPILER_HOST to an architecture name creates a | |
38 cross compiler statically linked to run on that host (via a technique | |
39 known as canadian cross compile). For example, the invocation:</p> | |
40 | |
41 <blockquote> | |
42 <p>BUILD_CROSS_COMPILER_HOST=i686 ./build.sh armv4l</P> | |
43 </blockquote> | |
44 | |
45 <p>Would create a tarball called "cross-static-armv4l.tar.bz2" which was | |
46 built to run on an i686 host, and was statically linked (against uClibc) | |
47 on that host to be distribution independent.</p> | |
48 | |
49 <p>Setting BUILD_STATIC_NATIVE_COMPILER to any non-empty value creates a | |
50 native compiler for the target (packaged as native-compiler-$ARCH.tar.bz2), | |
51 which is statically linked against uClibc so it can be extracted and run on | |
52 just about any system of the appropriate type. (So if you can get a Linux | |
53 shell prompt and have enough storage and memory, you should be able to | |
54 compile stuff.)</p> | |
55 | |
56 <p>The upgraded smoketest-all.sh script runs smoketest.sh on each | |
57 target built. (The smoketest.sh script attempts to compile and run "hello | |
58 world" natively within a system image under qemu, and indicates whether or | |
59 not it worked via "pass" or "fail".) Note that smoketest-all.sh now | |
60 autodetects which targets have been built (have system images in the build | |
61 directory), and smoketest.sh times out after 60 seconds so targets that hang | |
62 will return failure eventually.</p> | |
63 | |
64 </blockquote> | |
65 | |
66 <h3><b>Squashfs 4.0 now the default system image type</b></h3> | |
67 | |
68 <blockquote> | |
69 <p>The root filesystem image type is now squashfs by default. (To change it set | |
70 SYSIMAGE_TYPE to ext2 or initramfs, either in your environment or the file | |
71 "configure".)</p> | |
72 | |
73 <p>This involved upgrading the userspace squashfs support package | |
74 to the version 4.0 supported by the upstream kernel, and numerous small fixes | |
75 to work with a read-only root filesystem (with writeable spaced mounted on | |
76 /home and /tmp).</p> | |
77 </blockquote> | |
78 | |
79 <h3><b>Target upgrades</b></h3> | |
80 <blockquote> | |
81 <h3><b>ARM upgrades</b></h3> | |
82 | |
83 <blockquote> | |
84 <p>Lots of work on the arm targets, with the addition of a new armv6l target | |
85 and conversion of the armv5l target to | |
86 <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>, | |
87 but ARM screwed up its website and now you have to go | |
88 <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 | |
89 little endian soft float OABI target (which is "the i386 of ARM", meaning it | |
90 should run on just about any arm hardware, if a bit slowly). A new | |
91 armv4be target is the same as armv4l except big endian.</p> | |
92 | |
93 <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> | |
94 </blockquote> | |
95 | |
96 <h3><b>Updated sparc support, almost works now. (uClibc for sparc still sucks.)</b></h3> | |
97 | |
98 <blockquote> | |
99 <p>The sparc target has also been upgraded to the point where it now gives | |
100 a shell prompt. (And immediately dies with a bus error or a hang if you try | |
101 to do anything, because uClibc for sparc still doesn't work. The "upgrade" | |
102 consisted of statically linking everything because uClibc's dynamic loader | |
103 doesn't work for sparc.)</p> | |
104 </blockquote> | |
105 | |
106 <h3><b>PowerPC remains fiddly due to QEMU issues, new powerpc-440fp target</b></h3> | |
107 | |
108 <blockquote> | |
109 <p>PowerPC support in QEMU is | |
110 <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 | |
111 changed from last release, the version of QEMU in source control no longer | |
112 runs it (nor the binary powerpc system images released with FWL 0.9.6) and | |
113 QEMU's developers do not consider this a regression. While we search for a new | |
114 Linux kernel .config that matches QEMU's current expectations (and await a | |
115 release considered "stable"), note that setting HOST_BUILD_EXTRA=1 before | |
116 running host-tools.sh will build a version of qemu that does run powerpc and | |
117 put it in build/host where run-from-build.sh can find it. (Note also that | |
118 building qemu from source still takes significantly longer than the rest of the | |
119 host-tools.sh stage combined.)</p> | |
120 | |
121 <p>A new powerpc-440fp target produces code for the powerpc 440 with hardware | |
122 floating point. (Theoretically QEMU's "bamboo" board emulation should | |
123 run this, but QEMU doesn't emulate a 440 processor yet. We compromise by | |
124 running a ppc440 filesystem under qemu's power mac emulation, to take | |
125 advantage of the ppc440 instruction set being almost a subset of full powerpc. | |
126 This gets us a shell prompt, but throws illegal instruction errors if you | |
127 try to do anything fancy.)</p> | |
128 | |
129 <p>(Note that powerpc-440fp is not a hw-target for powerpc, it's a different | |
130 processor instruction set like i586 vs i686. Alas, one that qemu doesn't | |
131 properly emulate yet.)</p> | |
132 | |
133 </blockquote> | |
134 | |
135 </blockquote> | |
136 | |
137 <h3><b>Now using last GPLv2 release of GCC, and future plans</b></h3> | |
138 | |
139 <blockquote> | |
140 <p>The upgrade to <b>gcc 4.2.1</b> gives us | |
141 <a href=http://gcc.gnu.org/ml/gcc-announce/2007/msg00003.html>the last | |
142 GPLv2 licensed version of gcc</a> (thus avoiding | |
143 <a href=http://lwn.net/Articles/343608/>various problems</a>). | |
144 <a href=http://savannah.gnu.org/forum/forum.php?forum_id=4932>Make 3.81</a> | |
145 was already the last GPLv2 release of that project.</p> | |
146 | |
147 <p>Note that <b>bash 2.05b</b> is still intentionally ancient (to avoid the | |
148 bloat of 3.x), and may be replaced with busybox ash as the default FWL shell | |
149 in a future release. Similarly, although <b>binutils 2.17</b> was the last | |
150 GPLv2 version from the FSF, an upgrade to | |
151 <a href=http://ftp.kernel.org/pub/linux/devel/binutils/release.binutils-2.18.50.0.1>the | |
152 last GPLv2 release of Red Hat's binutils fork, 2.17.5.0.17</a> is under | |
153 consideration for a future release. But mostly the GNU compiler toolchain | |
154 has been upgraded as far as possible for the forseeable future, either because | |
155 new versions provide no significant benefits or because they're not available | |
156 under a license compatible with the Linux kernel's.</p> | |
157 | |
158 <p>Future upgrades to these packages will either be via individual patches | |
159 (maintaining GPLv2 license) or by investigating alternative non-FSF | |
160 packages such as OpenBSD's <a href=http://lwn.net/Articles/255558>PCC</a> or | |
161 Apple's <a href=http://llvm.org>LLVM</a>. In preparation for support of | |
162 alternate compilers, the build scripts have moved from using "gcc" to the | |
163 more generic "cc" for the compiler name wherever possible, but currently no | |
164 drop-in replacement compiler is available.</p> | |
165 | |
166 </blockquote> | |
167 | |
168 <h3><b>Implementation details</b></h3> | |
169 | |
170 <blockquote> | |
171 <p>Each target configuration renamed "details" to "settings", and added | |
172 a "description". (This makes Gentoo From Scratch's kconfig easier.)</p> | |
173 | |
174 <p>The download.sh stage now populates a "packages" directory instead of | |
175 "sources/packages", meaning that everything in the sources directory now | |
176 comes from the FWL source tarball. To do the equivalent of "make clean" | |
177 you can "rm -rf build", and to do a "make distclean" you can | |
178 "rm -rf packages build".</p> | |
179 | |
180 <p>The build no longer deletes the alt-* tarballs when UNSTABLE isn't | |
181 set, you must do that by hand if you want an updated alt- version of a | |
182 package. The packages/MANIFEST file creation can now use the extended | |
183 tarball information to detect git version numbers.</p> | |
184 | |
185 <p>The === bars now show the current stage name and architecture each | |
186 package is being built for. (Pipe the build output to grep "^===" to see | |
187 just the start of each new package build.) The same information is sent | |
188 to the title bar of your xterm, export NO_TITLE_BAR=1 if you don't want the | |
189 build to update the title bar.</p> | |
190 | |
191 <p>The BUILD_STATIC option now applies to all packages built in | |
192 root-filesystem.sh, and can be set from a target configuration's settings file | |
193 (as sparc is now doing).</p> | |
194 | |
195 <p>The BUILD_VERBOSE option passes V=1 to the linux, busybox, and uClibc | |
196 builds that otherwise sanitize their output.</p> | |
197 | |
198 <p>You can now set NATIVE_TOOLCHAIN=only to build just the compiler | |
199 and not the other parts (busybox, make, toybox, bash...) This is used | |
200 by the canadian cross steps in build.sh to create static cross and native | |
201 compilers.</p> | |
202 | |
203 <p>This release broke up scripts/include.sh so that script just | |
204 sets lots of environment variables, and now includes scripts/functions.sh | |
205 to define shell functions. The architecture setup (reading architecture | |
206 files and creating temporary directories and such) is now done via the | |
207 "read_arch_dir $ARCH" shell function, so merely including sources/include.sh | |
208 should no longer have significant side effects. Similarly, setupfor now | |
209 has an EXTRACT_ONLY environment variable instead of depending on a blank | |
210 $ARCH (which host-tools.sh has, despite wanting to snapshot source so it can | |
211 build stuff).</p> | |
212 | |
213 <p>Various fixes to make parallel builds work better. (So it neither leaves | |
214 background processes running nor kills the parent shell and closes your | |
215 xterm when you hit ctrl-c.) The new "killtree" shell function, | |
216 which kills a process and all its children and grandchildren recursively with | |
217 pgrep. We also build our own sources/toys/mysetsid.c program with the host | |
218 compiler (because the normal command line "setsid" doesn't also do a tcsetpgrp | |
219 on stdin so signal handling isn't forwarded to the new session). This should | |
220 more reliably allow ctrl-c to exit smoketest.sh and system-image.sh and such, | |
221 and let FORK=1 ./buildall.sh stop all its background processes when | |
222 interrupted. (Note that smoketest-all.sh also honors FORK=1.)</p> | |
223 | |
224 <p>The logs from buildall.sh now live in build/logs.</p> | |
225 | |
226 <p>The new config option ROOT_NODIRS avoids creating the normal set of empty | |
227 directories in the new root filesystem. (The old /tools support went | |
228 away, but a BUILD_STATIC ROOT_NODIRS build can be extracted into /tools | |
229 and used from there. Then either symlink "/lib" to "/tools/lib" or "export | |
230 UCLIBC_DYNAMIC_LINKER=/tools/lib/ld-uClibc.so.0" to add more stuff to | |
231 /tools natively.)</p> | |
232 | |
233 <p>The compiler wrapper (sources/toys/ccwrap.c) can now use | |
234 architecture-specific WRAPPER_TOPDIR values. (I.E. armv4l-cc could | |
235 "export armv4l_WRAPPER_TOPDIR=/path/to/directory".) This makes | |
236 canadian cross compiles a lot easier.</p> | |
237 </blockquote> | |
238 | |
694 | 239 <h2>April 2, 2009</h2> |
240 <p><a href=downloads/firmware-0.9.6.tar.bz2>Version 0.9.6</a> includes | |
241 Linux 2.6.29 and uClibc 0.9.30.1, now with support for sh4 and upgraded powerpc | |
242 support.</p> | |
243 | |
244 <p>The big news is the <a href=http://impactlinux.com/code/gfs/>Gentoo | |
245 From Scratch</a> project, which extends a FWL system image into a Gentoo | |
246 Stage 1 environment, building natively inside qemu.</p> | |
247 | |
248 <p>The <a href=documentation.html>documentation</a> has been extensively | |
249 rewritten (but needs more). The source now contains a README and each image | |
250 has a usr/src/MANIFEST file listing the packages it built from.</p> | |
251 | |
252 <p>The cross and native toolchains now include ldd, readelf, and | |
253 ldconfig. Added support for hardware targets (an unfinished example | |
254 of which is hw-wrt610n) that use the same cross compiler and system | |
255 image as a qemu platform, but build/package a different kernel to boot | |
256 on actual hardware.</p> | |
257 | |
258 <p>Several new build options:</p> | |
259 <ul> | |
260 <li><p><b>$SYSIMAGE_TYPE</b> defaults to "ext2" but can now | |
261 produce and boot "initramfs" images as well. (And squashfs, but that doesn't | |
262 work yet due to missing features in squashfs tools version 3.4.)</p></li> | |
263 <li><p>Setting <b>$HOST_BUILD_EXTRA</b> compiles qemu 0.10.1 in host-tools.sh. | |
264 You currently need to do this to run sh4 or powerpc, 0.10.1 has some bugs | |
265 needing patches. Not on by default because it takes a _long_ time.</p></li> | |
266 <li><p><b>$NO_CLEANUP</b> keeps source around after builds for debugging purposes.</p></li> | |
267 <li><p><b>$SYSIMAGE_HDA_MEGS</b> lets you control the size of the ext2 system images.</p></li> | |
268 <li><p><b>$SNAPSHOT_SYMLINK</b> lets the extracted source live on a different | |
269 filesystem than the build happens on. (Once the updated squashfs userspace | |
270 tools ship, build-static-toolchains.sh may be updated to use this.)</p></li> | |
271 <li><p><b>$CROSS_SMOKE_TEST</b> use qemu application emulation to test run hello | |
272 world program at the end of the cross compiler build stage.</p></li> | |
273 <li><p><b>$SKIP_STAGE_TARBALLS</b> don't create tarballs of each stage, | |
274 just populate the directories.</p></li> | |
275 <li><p><b>$NATIVE_RETROFIT_CXX</b> retroactively add uClibc++ to the cross | |
276 compiler tarball during the native build stage.</p></li> | |
277 </ul> | |
278 | |
279 <p>The run-emulator.sh scripts of system images have several new options, | |
280 do "./run-emulator.sh --help" for a list. Takes several environment | |
281 variables such as $QEMU_EXTRA and $KERNEL_EXTRA. Root filesystems can | |
282 now run in read only mode with "KERNEL_EXTRA=ro".</p> | |
283 | |
284 <p>Lots of build infrastructure upgrades. The build stages have been | |
285 reorganized somewhat (most noticeably package-mini-native.sh is now called | |
286 system-image.sh). The "sources/packages" directory has moved up a | |
287 directory (to separate repository files from stuff downloaded at runtime). | |
288 Upgrades to the cc wrapper and the USE_UNSTABLE infrastructure. Better | |
289 stripping of the cross compilers and system images, so everything's a bit | |
290 smaller. The mirror list now lives in download.sh. New buildall.sh is a | |
291 wrapper around build.sh. New build-static-toolchains.sh builds them under | |
292 qemu; set FORK=1 to build them in paralell just like buildall.sh. The | |
293 ext2 system images are now built at a small size with genext2fs and | |
294 then expanded with resize2fs (because genext2fs slows down exponentially | |
295 as size increases; this means e2fsprogs is built in host-tools.sh now). | |
296 Distcc has been upgraded, and should work more reliably now.</p> | |
297 | |
298 <p>Too many little bug fixes to list.</p> | |
299 | |
543
e85e59bd76aa
News entry about new mailing list.
Rob Landley <rob@landley.net>
parents:
536
diff
changeset
|
300 <h2>December 16, 2008</h2> |
e85e59bd76aa
News entry about new mailing list.
Rob Landley <rob@landley.net>
parents:
536
diff
changeset
|
301 <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
|
302 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
|
303 <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
|
304 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
|
305 |
523 | 306 <h2>December 3, 2008</h2> |
307 <p>After several false starts (I.E. last minute bugs, yes I test this thing | |
308 before shipping it), | |
309 <a href=downloads/firmware-0.9.5.tar.bz2>Version 0.9.5</a> is out, inching | |
310 towards a 1.0 release. Lots of new work this time.</p> | |
311 | |
312 <p>The biggest news is uClibc 0.9.30 and uClibc++ 0.2.2. The native toolchain | |
313 now supports C++, hooked up to distcc and everything.</p> | |
314 | |
315 <p>The <a href=documentation.html>documentation</a> has been extensively | |
316 rewritten. (There's always more to do, but most of it isn't horribly out | |
317 of date anymore.)</p> | |
318 | |
319 <p>The packaging stage now uses genext2fs instead of User Mode Linux, so | |
320 the most brittle part of the build has been removed. FWL can now fully | |
321 rebuild itself under itself, all the way through the packaging stage.</p> | |
322 | |
323 <p>My personal website's getting a touch overwhelmed, so a higher bandwidth | |
324 site is now available at | |
325 <a href=http://impactlinux.com/fwl>impactlinux.com</a>. This should become | |
326 the new primary website going forward.</p> | |
327 | |
328 <p>BusyBox has also been upgraded (to 1.13.0), and the new USE_UNSTABLE | |
329 infrastructure allows test versions of any package to be downloaded and built | |
330 without forking the build scripts, so future package upgrades can be dealt | |
331 with as side projects without blocking other important work.</p> | |
332 | |
333 <p>The packaging stage now uses genext2fs instead of User Mode Linux, so | |
334 the most brittle part of the build has been removed. FWL can now fully | |
335 rebuild itself under itself, all the way through the packaging stage.</p> | |
336 | |
337 <p>The old forkbomb script has been replaced with sources/build-all-targets.sh. | |
338 with an argument --fork to build all targets in parallel, and "--fork 3" | |
339 to limit the parallelism. This script can run from a cron job, producing | |
340 a "buildall" directory with tarballs, compressed logs, and a README file | |
341 listing the version of each package. The environment variable USE_STATIC_HOST | |
342 specifies an $ARCH to create statically linked cross compilers | |
343 for. (The build will then try to use them for the later stages, | |
344 and won't get far if you specify an arch that can't run on the host.)</p> | |
345 | |
346 <p>The include.sh script has been broken up, with a new sources/functions.sh | |
347 containing shell functions (like download, setupfor, and cleanup) and | |
348 a new "config" setting the user-editable environment variables that control | |
349 the build. Several of these variables have been renamed and their number has | |
350 grown. You can now specify the colors for each build stage using the variables | |
351 at the end of config.</p> | |
352 | |
353 <p>Building mini-native in a Linux From Scratch style /tools directory is | |
354 no longer the default. Instead set NATIVE_TOOLSDIR=1 if you want that | |
355 kind of layout instead of a more conventional layout. (Similarly, | |
356 NATIVE_TOOLCHAIN=1 now enables the native toolchain, but that variable | |
357 defaults to enabled in config.)</p> | |
358 | |
359 <p>See the <a href=documentation.html>docs</a> for details.</p> | |
360 | |
388
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
361 <h2>August 6, 2008</h2> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
362 <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
|
363 (<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
|
364 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
|
365 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
|
366 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
|
367 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
|
368 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
369 <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
|
370 <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
|
371 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
|
372 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
|
373 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
|
374 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
|
375 tarballs</a>.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
376 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
377 <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
|
378 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
|
379 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
|
380 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
|
381 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
382 <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
|
383 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
|
384 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
|
385 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
386 <ul> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
387 <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
|
388 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
|
389 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
|
390 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
|
391 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
392 <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
|
393 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
|
394 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
|
395 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
|
396 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
397 <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
|
398 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
|
399 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
|
400 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
401 <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
|
402 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
|
403 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
|
404 "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
|
405 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
|
406 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
|
407 (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
|
408 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
|
409 </ul> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
410 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
411 <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
|
412 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
413 <h2>June 6, 2008</h2> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
414 <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
|
415 (<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
|
416 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
|
417 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
418 <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
|
419 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
|
420 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
|
421 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
|
422 (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
|
423 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
424 <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
|
425 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
|
426 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
|
427 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
|
428 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
|
429 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
|
430 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
431 <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
|
432 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
|
433 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
|
434 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
|
435 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
|
436 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
|
437 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
438 <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
|
439 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
|
440 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
|
441 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
|
442 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
443 <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
|
444 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
445 <h2>January 29, 2008</h2> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
446 <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
|
447 (<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
|
448 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
|
449 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
|
450 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
|
451 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
|
452 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
|
453 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
454 <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
|
455 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
|
456 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
|
457 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
|
458 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
|
459 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
460 <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
|
461 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
|
462 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
|
463 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
|
464 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
465 <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
|
466 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
|
467 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
|
468 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
|
469 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
|
470 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
|
471 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
|
472 distributions.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
473 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
474 <h2>November 2, 2007</h2> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
475 <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
|
476 (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
|
477 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
|
478 (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
|
479 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
|
480 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
|
481 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
482 <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
|
483 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
|
484 (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
|
485 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
|
486 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
487 <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
|
488 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
|
489 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
|
490 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
|
491 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
492 <h2>September 2, 2007</h2> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
493 <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
|
494 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
|
495 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
|
496 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
|
497 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
498 <h2>June 27, 2007</h2> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
499 <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
|
500 (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
|
501 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
|
502 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
|
503 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
|
504 diagnostic output.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
505 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
506 <h2>April 9, 2007</h2> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
507 <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
|
508 (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
|
509 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
|
510 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
|
511 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
|
512 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
|
513 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
|
514 (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
|
515 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
|
516 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
|
517 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
|
518 (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
|
519 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
|
520 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
521 <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
|
522 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
|
523 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
|
524 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
|
525 "/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
|
526 "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
|
527 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
|
528 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
529 <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
|
530 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
|
531 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
|
532 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
|
533 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
534 <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
|
535 <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
|
536 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
|
537 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
|
538 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
|
539 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
|
540 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
|
541 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
|
542 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
|
543 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
|
544 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
|
545 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
|
546 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
|
547 "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
|
548 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
|
549 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
550 <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
|
551 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
|
552 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
553 <h2>March 6, 2007</h2> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
554 <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
|
555 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
|
556 (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
|
557 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
558 <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
|
559 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
|
560 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
|
561 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
|
562 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
563 <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
|
564 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
565 <h2>January 14, 2007</h2> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
566 <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
|
567 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
568 <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
|
569 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
|
570 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
|
571 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
|
572 <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
|
573 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
|
574 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
|
575 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
576 <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
|
577 (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
|
578 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
|
579 automatically.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
580 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
581 <h2>December 28, 2006</h2> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
582 <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
|
583 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
|
584 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
|
585 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
586 <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
|
587 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
588 <h2>December 5, 2006</h2> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
589 <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
|
590 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
|
591 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
|
592 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
|
593 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
|
594 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
595 <h2>August 6, 2006</h2> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
596 <p>Mecurial repository created. Nothing to see yet, move along...</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
597 <!--#include file="footer.html" --> |