Mercurial > hg > aboriginal
annotate www/news.html @ 1299:dcf7da6a6633
Add the sha1sum to the LFS tarball.
author | Rob Landley <rob@landley.net> |
---|---|
date | Mon, 22 Nov 2010 17:31:51 -0600 |
parents | 17a79e1d62eb |
children | c93eb8e54015 |
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> |
1271
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
9 <h2><a name="11-03-2010" />November 3, 2010</h2> |
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
10 <p>My apologies for the lack of notice, the impactlinux.com domain unexpectedly |
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
11 went away saturday. The landley.net mirror is still up, and is |
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
12 becoming the main site again for the moment despite its' limited bandwidth. |
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
13 I'll see if I can recover the mailing list subscriptions, but I wouldn't |
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
14 count on it.</p> |
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
15 |
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
16 <p>Still working on the next release, currently scheduled for around the start |
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
17 of December. Until we get a new mailing list, the |
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
18 <a href=/hg/aboriginal>source control log</a> shows what's changing, and |
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
19 you can always email me directly, rob at landley dot net.</p> |
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
20 |
17a79e1d62eb
The impactlinux.com domain unexpectedly went away, update the web page on
Rob Landley <rob@landley.net>
parents:
1239
diff
changeset
|
21 <hr> |
1237
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
22 <h2><a name="09-05-2010" />September 5, 2010</h2> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
23 <p>There's an old saying, "eventually you need to shoot the |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
24 engineers and go into production". Aboriginal Linux can now bootstrap a |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
25 native development environment on an arbitrary target, and build packages |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
26 under the result. There's always more to do, but it does what it set |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
27 out to do. And thus:</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
28 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
29 <p><a href=downloads/aboriginal-1.0.0.tar.bz2>Aboriginal Linux 1.0</a> is out, |
1239
da970a892641
Helps to get the version numbers right in the release message. (It was pending
Rob Landley <rob@landley.net>
parents:
1237
diff
changeset
|
30 based on <a href=http://impactlinux.com/hg/firmware/shortlog/1238>hg commit |
da970a892641
Helps to get the version numbers right in the release message. (It was pending
Rob Landley <rob@landley.net>
parents:
1237
diff
changeset
|
31 1238</a>, using Linux 2.6.35, uClibc 0.9.31, and BusyBox 1.17.2.</p> |
1237
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
32 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
33 <p>Yes, it's been over five months since the last release. I didn't want to |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
34 ship yet another intermediate release before doing 1.0, but I was trying |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
35 to run out of todo items before shipping. (Yeah, I should know better. |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
36 Sorry for the delay.)</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
37 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
38 <p>The following are release notes, not proper documentation. Proper |
1239
da970a892641
Helps to get the version numbers right in the release message. (It was pending
Rob Landley <rob@landley.net>
parents:
1237
diff
changeset
|
39 documentation (including an introduction to the whole thing) is the next |
1237
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
40 big TODO item.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
41 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
42 <b><h3>Targets</h3></b> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
43 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
44 <p>The arm, mips, powerpc, and x86 targets all work. Sparc works statically |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
45 linked, but dynamic linking is still broken. Khem Raj fixed mips64 dynamic |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
46 linking, but the native compiler still doesn't work. The m68k target builds |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
47 again, although QEMU still doesn't emulate it. The sh4 target and big endian |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
48 arm are are still broken.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
49 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
50 <p>The snapshots page needs updating. The documentation needs updating.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
51 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
52 <b><h3>System image updates</h3></b> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
53 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
54 <p>The native-build.sh script moved into each system image. This means you |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
55 can now download a system image tarball and a control image, then run a |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
56 native build without any dependencies on the Aboriginal Linux build scripts. |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
57 This script is a wrapper around dev-environment.sh which takes one argument, |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
58 the name of the control image file.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
59 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
60 <p>The build only puts dev-environment.sh and run-from-build.sh into a |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
61 system image when the system image includes native development tools.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
62 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
63 <b><h3>Control Images</h3></b> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
64 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
65 <p>This release adds prebuilt binary build control images, generated |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
66 by more/build-control-images.sh and shipped in the |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
67 <a href=downloads/binaries/control-images>control-images</a> directory. |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
68 These are squashfs filesystems containing source code and an init script to |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
69 build it and upload it to the host (using the $FTP_SERVER and $FTP_PORT |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
70 variables, set by native-build.sh).</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
71 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
72 <p>If these |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
73 images are loaded into /dev/hdc of the emulated system, the system image's |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
74 init script will mount that on /mnt and run /mnt/init instead of a shell |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
75 prompt, so the build is completely automated.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
76 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
77 <p>Control images are provided to build hello world, build static dropbear |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
78 and strace binaries, run the busybox test suite, and an in-progress script |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
79 to bootstrapping Gentoo Stage 1 does about the first 2/3 of the job.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
80 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
81 <b><h3>Root filesystem improvements</h3></b> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
82 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
83 <p>The root filesystem broke into two stages: simple-root-filesystem just |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
84 contains a simple "defconfig busybox plus uClibc" system, enough to boot |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
85 to a shell prompt. The native-compiler stage is like cross-compiler only |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
86 unprefixed, built to run on the target, and including make, bash, and |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
87 distcc. The root-filesystem stage combines the two into a single root |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
88 filesystem with native development tools.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
89 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
90 <p>If the root filesystem is mounted read only, the init script will now |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
91 mount a tmpfs on /home if there's no /dev/hdb to provide writeable scratch |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
92 space. Chroot environments should now use Google's 8.8.8.8 nameserver |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
93 by default. The distcc binaries moved out of /bin to the /distcc directory.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
94 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
95 <p>The "oneit" binary became a standalone program, and uses the / directory |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
96 as PID 1's working directory, allowing you to umount /home if necessary. |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
97 Toybox's "patch" command went upstream into busybox, and busybox's defconfig |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
98 once again supports netcat server mode, so toybox was removed. We're now |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
99 using a defconfig busybox, so configuring it properly is their problem.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
100 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
101 <b><h3>Build scripts </h3></b> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
102 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
103 <p>The kernel configuration got collated to sources/baseconfig-linux (just |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
104 like baseconfig-uClibc), and the various packages were migrated to use |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
105 that. The kernel config is now the baseconfig plus the settings |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
106 entry $LINUX_CONFIG. You can still supply a miniconfig-linux file to |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
107 override this, and some architectures still do that. The ones that have |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
108 been migrated to use a shared baseconfig are a lot more regular now, |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
109 and the differences between architectures broken out and isolated.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
110 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
111 <p>The build stages were broken up to be more granular. The root-filesystem.sh |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
112 stage now merely collates the output of two previous stages: |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
113 simple-root-filesystem.sh (which produces just enough of a root filesystem |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
114 to boot to a shell prompt, based on uClibc and busybox plus a few init scripts |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
115 and config files), and native-compiler.sh (a portable native toolchain).</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
116 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
117 <p>The system-image.sh stage now generates the dev-environment.sh script. |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
118 It only puts dev-environment.sh and native-build.sh scripts in the tarball |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
119 when NO_NATIVE_COMPILER is blank (and thus the build includes native |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
120 development tools), or if root-filesystem isn't available in which case |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
121 it'll automatically use simple-root-filesystem.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
122 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
123 <p>Several more package builds were moved to sources/sections.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
124 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
125 <p>The new "more" subdirectory collects together all the user-runnable |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
126 scripts that aren't build stages. (Many of these were previously in |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
127 sources/more.) New scripts in this directory include:</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
128 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
129 <ul> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
130 <li>Scripts to run newly built system images out of the build directory |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
131 ("run-emulator-from-build.sh $ARCH", "dev-environment-from-build.sh $ARCH", |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
132 and "native-build-from-build.sh")</li> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
133 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
134 <li>test.sh - Wrapper script to run commands in the build environment, with |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
135 read_arch_dir loaded. Useful for things like |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
136 "STAGE_NAME=simple-cross-compiler more/test.sh sparc build_stage uClibc", |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
137 or to dump the build context's environment variables ala "more/test.sh env"</li> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
138 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
139 <li>timeout.sh $SECONDS command... - Wrapper to run a child process and |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
140 kill it if it doesn't produce a line of output for $SECONDS seconds.</li> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
141 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
142 <li>build-control-images.sh - build all control images from sources/native-builds.</li> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
143 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
144 <li>for-each-target.sh - iterage through every defined target architecture |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
145 and run a command.</li> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
146 </ul> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
147 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
148 <b><h3>Website</h3></b> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
149 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
150 <p>A new cron job is populating the |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
151 <a href=downloads/binaries/snapshots>snapshots</a> directory. Currently only |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
152 the stable versions, but the unstable versions should wander back in |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
153 eventually. (When the bisectinate and migrate-kernel scripts catch up to |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
154 what they need to do to properly test unstable packages.)</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
155 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
156 <p>More documentation: The "about" page got redone, and the FAQ was fluffed |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
157 out with a new debugging section. Michael S. Zick wrote up mips docs for the |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
158 architecture page, and the build scripts grew even more comments.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
159 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
160 <b><h3>General Infrastructure</h3></b> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
161 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
162 <p>The control image generation was upgraded so each control image |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
163 source can have its own patch directory and file directory. (This needs |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
164 more work.)</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
165 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
166 <p>Environment variable sanitization: the sanitize_environment function |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
167 unsets any environment variable it doesn't recognize, either from a whitelist |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
168 or from config. Clearing all unrecognized environment variables insulates |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
169 the build from some of the strage environments out there. To disable this |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
170 behavior, export NO_SANITIZE_ENVIRONMENT=1.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
171 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
172 <p>New config variables:</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
173 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
174 <ul> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
175 <li>STATIC_CC_HOST became CROSS_HOST_ARCH, set that and second stage cross |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
176 compiler gets built.</li> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
177 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
178 <li>The new ALLOW_PATCH_FAILURE=1 variable continues despite a patch failing to |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
179 apply.</li> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
180 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
181 <li>NO_HOST_TOOLS=1 tells build.sh to skip the host tools step, which is seldom |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
182 a good idea but there you have it. The new HOST_EXTRA is an equally horrible |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
183 idea, but if you feel the need it's a list of extra commands to pass through |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
184 from the host $PATH.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
185 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
186 <li>NO_CPLUSPLUS=1 tells it not to add C++ support in the toolchains it |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
187 builds.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
188 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
189 <li>NO_CLEANUP isn't a new variable, but you can now set this for entire |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
190 builds and it should work.</li> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
191 </ul> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
192 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
193 <p>ccwrap improvements: Handle unexported $PATH better. It doesn't need to |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
194 search $PATH when argc[0] is a path (either absolute or relative to the current |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
195 directory). Also use Scrt1.o when building a shared library. (Oddly this |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
196 never caused a problem before, but do the right thing anyway.)</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
197 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
198 <p>Upgrades to BUILD_STATIC: it now takes a comma separated list of packages, |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
199 with the special value "all" to build everything static, and "none" to build |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
200 nothing static. The default is to build static versions of busybox and the |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
201 toolchain packages (gcc, binutils, make, and ccwrap) both due to the increased |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
202 performance this provides under qemu (which has to repeatedly re-translate |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
203 executable code pages that modify themselves, such as when dynamic linking |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
204 patches per-process jump addresses), and also due to the increased portability |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
205 this provides the native compiler tarball.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
206 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
207 <p>(The host-tools stage always builds dynamic packages, because the glibc |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
208 maintainer has a personal dislike of static linking, meaning glibc's static |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
209 linking support (in addition to creating 400k "hello world" binaries) is both |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
210 broken[LINK] and deprecated[LINK]. Some distros have even taken to breaking |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
211 out the *.a format libraries used for static linking into a separate package, |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
212 and not installing them by default. The host-tools stage now tests for this, |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
213 and refuses to continue in a dynamic-only build environment unless you set |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
214 BUILD_STATIC=none. You can rebuild under the resulting target system to |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
215 natively compile static binaries, which uClibc supports quite well, but you |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
216 can't generate them from the host.)</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
217 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
218 <p>The old FROM_ARCH is now HOST_ARCH, and the infrastructure using it |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
219 (cross-compiler.sh and native-compiler.sh) has been cleaned up. The |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
220 HOST_UTILS variable was also removed, that's now built for the full |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
221 cross and native compilers, but not the simple cross compiler.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
222 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
223 <p>The more/smoketest.sh file no longer creates hdb.img.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
224 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
225 <p>The host-tools stage has been upgraded to work around the utter stupidity of |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
226 Ubuntu 10.04, which turned "gcc" into a perl script. (Yes really. No, I don't |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
227 know what they were smoking.)</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
228 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
229 <p>Build zlib in host-tools (for squashfs) and in static-tools for dropbear's |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
230 -C. This is necessary for reproducing the build under a system-image, because |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
231 the default system image type (squashfs) requires zlib to build.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
232 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
233 <p>Update the command prompt in system images to show the amount of |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
234 parallelism available via distcc. (When it says 1 you haven't got |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
235 distcc, and when it says a number greater than that you have.) |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
236 The prompt now looks like:</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
237 <blockquote><pre>(powerpc:4) /home #</pre></blockquote> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
238 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
239 <p>The make, bash, and distcc builds are now part of the native-compiler stage |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
240 (and their build scripts moved to sources/sections). This means that a native |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
241 toolchain now includes make, because it's hard to build make without make. |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
242 This stage also records the uClibc and linux config files for posterity.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
243 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
244 <p>The build was weaned off of toybox. (Broke out oneit, sent patch upstream |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
245 to busybox, and got netcat fixed in defconfig so native-build.sh could use |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
246 it.)</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
247 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
248 <p>Several small bugfixes and cosmetic cleanups. For example, we now delete |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
249 empty build/temp-* directories when we're done with them, and several |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
250 config options such as NO_NATIVE_COMPILER and NO_CLEANUP should be more |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
251 reliable now. Don't build hello-dynamic on a BUILD_STATIC=all system. |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
252 Clean up debris files the kernel's headers_install leaves lying around. |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
253 Minor upgrades to FORK=1 support, and QUIET is now part of FORK instead |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
254 of a separate control. Generating a package manifest should no |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
255 longer produce error messages. Empty temp directories get deleted on the |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
256 way out. Better support for building older tools as alt-packages (tested |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
257 binutils 2.14 and gcc 3.4). Comment out default UNSTABLE= URLs in download.sh, |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
258 supply your own if you want that. Binutils build now honors existing $CFLAGS |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
259 (if any). The dienow error message goes to stderr. More reliably track |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
260 package cache state when patches fail to apply. Simplify system-image |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
261 build (don't try to package root filesystem and build kernel in parallel |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
262 anymore, squashfs and make both have internal SMP support). BUILD_VERBOSE |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
263 is now more verbose. Reliability improvement for record-commands.sh. |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
264 New shell functions blank_workdir and extract_package. Consistently |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
265 use name-name in scripts and name_name in functions.</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
266 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
267 <p>It's been a long 5 months...</p> |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
268 |
479bcbb2775e
Screw it: cut a release and fix it all up later.
Rob Landley <rob@landley.net>
parents:
1121
diff
changeset
|
269 <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
|
270 <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
|
271 <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
|
272 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
|
273 |
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
|
274 <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
|
275 <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
|
276 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
|
277 <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
|
278 |
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
|
279 <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
|
280 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
|
281 |
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
|
282 <hr> |
1022 | 283 <h2><a name="03-29-2010" />March 29, 2010</h2> |
284 <p><a href=downloads/firmware-0.9.11.tar.bz2>Version 0.9.11</a> is out, | |
285 based on <a href=http://impactlinux.com/hg/firmware/shortlog/1020>hg commit | |
286 1020</a>. We're closing in on a 1.0 release, but not quite there yet.</p> | |
287 | |
288 <p>This version upgrades to Linux 2.6.33, uClibc 0.9.30.3, and BusyBox | |
289 1.16.1.</p> | |
290 | |
291 <b><h3>Improved native builds</h3></b> | |
292 | |
293 <p>Most targets now have <a href=downloads/binaries>prebuilt binaries</a> | |
294 for <a href=http://matt.ucc.asn.au/dropbear/dropbear.html>dropbear</a>, | |
295 <a href=http://sourceforge.net/projects/strace/>strace</a>, | |
296 <a href=http://busybox.net>busybox</a>. These are statically | |
297 linked against uClibc, so just download, set the executable bit, and run.</p> | |
298 | |
299 <p>These dropbear and strace binaries are built using the automated three-disk | |
300 native build capability introduced <a href=#11-07-2009>back in November</a>, | |
301 which has been improved and genericized this release. Now one script creates | |
302 a build image (see examples in sources/native-builds) and another script | |
303 launches a system image with that build image attached as the third | |
304 hard drive (/dev/hdc), telling the system image to automatically build | |
305 those source packages and upload the result to the host via ftp.</p> | |
306 | |
307 <p>So to reproduce the dropbear and strace binaries for a supported ARCH, | |
308 you could do:</p> | |
309 | |
310 <blockquote><pre> | |
311 ./build.sh ARCH | |
312 sources/native-builds/static-tools.sh tools.hdc | |
313 sources/more/native-build.sh ARCH tools.hdc output | |
314 </pre></blockquote> | |
315 | |
316 <p>When the build exits, the results should be in the host's "output" | |
317 directory.</p> | |
318 | |
319 <b><h3>Targets</h3></b> | |
320 <p>The arm, mips, x86, x86-64 targets that worked last time still work. | |
321 The armv4eb and m68k targets still don't work.</p> | |
322 | |
323 <p>The powerpc and sparc targets have been upgraded. Powerpc now works with | |
324 the 3-disk automated native build (although you'll need qemu 0.12.4 to take | |
325 advantage of this). The sparc dynamic linker still doesn't work in uClibc, | |
326 but the statically linked system is now working well enough to build packages | |
327 natively.</p> | |
328 | |
329 <p>New targets this release are i486 (thanks David Seikel) and mips64 (which | |
330 mostly works, but the native toolchain isn't quite properly configured to | |
331 build stuff with yet).</p> | |
332 | |
333 <p>Finally, the sh4 target was broken by a cosmetic cleanup of the startup | |
334 assembly code in Linux 2.6.33 that rendered any binutils version older | |
335 than 4 months unusable to build sh4. While it's possible to patch around | |
336 this, it hasn't yet been worth effort. The Linux-sh4 maintainer is aware | |
337 of the issue, but explicitly | |
338 <a href=http://permalink.gmane.org/gmane.linux.ports.sh.devel/7237>doesn't | |
339 care</a> about users other than his employer, and so far nobody | |
340 else seems to care enough about supporting the discontinued Sega Dreamcast | |
341 game console to argue with him. (Might revisit this next release, but m68k | |
342 support is a higher priority.)</p> | |
343 | |
344 <b><h3>Infrastructure</h3></b> | |
345 <p>The system-image's "run-emulator.sh" is now a much smaller and simpler | |
346 script, consisting primarily of the qemu command line. (And if you export | |
347 DEBUG=1 it prints the emulator command line.) The distcc and hdb | |
348 setup code moved to dev-environment.sh.</p> | |
349 | |
350 <p>The <a href=screenshots>screenshots</a> page is working again, if a bit | |
351 stale.</p> | |
352 | |
353 <p>The bisectinate.sh script (to automatically git bisect a build issue) | |
354 has been updated, more to come next release.</p> | |
355 | |
356 <p>The download.sh script has been updated to understand FORK=1 and download | |
357 packages in parallel. (And to extract them in parallel when | |
358 EXTRACT_ALL=1.)</p> | |
359 | |
360 <p>The new export_if_blank shell function allows several more environment | |
361 variables to be overridden, including TOP, SOURCES, SRCDIR, PATCHDIR, | |
362 BUILD, SRCTREE, HOSTTOOLS, WRAPDIR, CC, and STAGE_NAME.</p> | |
363 | |
364 <p>I'd also like to thank the debugging efforts of Wolfgang Denk, who hit | |
365 as many bugs trying to use this project as I normally do with other people's. | |
366 He eventually got discouraged and left, but thanks to his efforts:</p> | |
367 | |
368 <ul> | |
369 <li><p>We now unset several environment variables (such as ARCH and | |
370 CROSS_COMPILE) that break things if the host exports random data in them | |
371 before the build. (Yes, this fights with export_if_blank above, and | |
372 the way configuration works in general. Some more design works is necessary | |
373 here to let you configure the project with environment variables, but | |
374 not be confused by existing environment debris.)</p></li> | |
375 | |
376 <li><p>BUILD_STATIC=none can how handle the case where the host toolchain | |
377 can't build any static binaries at all.</p></li> | |
378 | |
379 <li><p>The CROSS_SMOKE_TEST implementation (which had bit rotted) was fixed and | |
380 moved to its own script (sources/more/cross-smoke-test.sh), which is called by | |
381 build.sh as necessary.</p> | |
382 | |
383 <p>Note that actually trying to use it is a question | |
384 of getting qemu application emulation to work for your target. For | |
385 arm you need to tweak /proc/sys/vm/mmap_min_addr as root. For ppc you | |
386 need <a href=http://git.qemu.org/qemu.git/commit/?id=7983f435e5306a4b17e1edcb408ba64b33e9c88f>this patch</a>. For mips64 somebody still needs to | |
387 implement it (<a href=http://lists.gnu.org/archive/html/qemu-devel/2010-03/msg02218.html>no matter what gentoo thinks</a>).</p> | |
388 | |
389 <p>(There's a reason the smoke test was disabled long enough to bit-rot. | |
390 It broke for qemu reasons more often than it found bugs in the toolchain.)</p> | |
391 </li> | |
392 </ul> | |
393 | |
394 <hr> | |
969 | 395 <h2><a name="02-02-2010" />February 2, 2010</h2> |
396 | |
397 <p><a href=downloads/firmware-0.9.10.tar.bz2>Version 0.9.10</a> is out, | |
398 based on <a href=http://impactlinux.com/hg/firmware/shortlog/966>hg | |
399 commit 966</a>.</p> | |
400 | |
401 <p>Yeah, I know 1.0 is overdue for a release, here's a resync point | |
402 with the 2.6.32 kernel and uClibc 0.9.30.2.</p> | |
403 | |
404 <p>There are some regressions this time around, which I plan to fix up | |
405 in the next release. The 2.6.32 kernel broke strace, | |
406 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
|
407 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
|
408 (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
|
409 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
|
410 to Vladimir's new fancy version with style sheets, but "halfway" doesn't |
969 | 411 actually display right). The cron job building nightly snapshots got taken down |
412 when the server's hard drive filled up, and now it's in the process of being | |
413 upgraded with a couple new scripts:</p> | |
414 | |
415 <p>The new sources/more/migrate_kernel.sh script does a "make oldconfig" | |
416 between the stable and "USE_UNSTABLE=linux" kernels, and creates a new | |
417 alt-miniconfig-linux for the specified target with any new symbols that | |
418 showed up. (This means the snapshots should break less, but adding the | |
419 symbols to the native configs will still require manual filtering.)</p> | |
420 | |
421 <p>Also, the new sources/more/bisectinate.sh script automatically does | |
422 a git bisect between a known good and known bad (generally HEAD) version | |
423 of one of the unstable packages (linux, uClibc, or busybox). It can test | |
424 that the build completes, or that the system image boots and successfully | |
425 builds the static native dropbear binary. (In theory this will allow the | |
426 nightly snapshots to automaticaly isolate and report the first commit that | |
427 broke them.)</p> | |
428 | |
429 <p>In other general infrastructure news: some extensive upgrades to the | |
430 compiler wrapper (ccwrap), such as no longer needing GIMME_AN_S at compile | |
431 time and instead autodetecting the presence of libgcc_s.so vs libgcc.a | |
432 and behaving appropriately. A largeish cleanup/refactoring of the compiler | |
433 build (described in | |
434 <a href=http://impactlinux.com/hg/firmware/shortlog/944>commit 944</a>) | |
435 added a new "native-compiler.sh" script, which handles building the | |
436 improved "cross-compiler" tarball that includes thread support and | |
437 uClibc++ and is statically linked against uClibc on the host. | |
438 The simple cross compiler is now "simple-cross-compiler.sh" (which is | |
439 good enough to build a system image, but isn't very useful in other | |
440 contexts).</p> | |
441 | |
442 <p>The host-tools.sh stage now only builds | |
443 e2fsprogs or squashfs if the build is actually going to use them (based | |
444 on the SYSIMAGE_TYPE config symbol). The sources/sections scripts now | |
445 come in two flavors: an *.build version with setup/cleanup called | |
446 automatically and *.sh files which do their own setup/cleanup within | |
447 the script. Each system image's run-emulator.sh will once again add | |
448 /sbin:/usr/sbin to the $PATH if it can't find mke2fs.</p> | |
449 | |
450 <p>The --extract command line option went away from download.sh because | |
451 everything else works via environment variables. Use EXTRACT_ALL=1 instead.</p> | |
452 | |
453 <p>Fixed a few regressions that snuck into previous versions: the | |
454 config-{linux,uClibc,busybox} should once again be in the root filesystem's | |
455 usr/src directory, buildall.sh should now try to build the static native | |
456 dropbear/strace binaries for all targets (not just the last one) and it | |
457 should properly be running smoketest.sh again.</p> | |
458 | |
1022 | 459 <hr> |
927 | 460 <h2><a name="12-08-2009" />December 8, 2009</h2> |
461 <p><a href=downloads/firmware-0.9.9.tar.bz2>Version 0.9.9</a> is out, | |
969 | 462 based on <a href=http://impactlinux.com/hg/firmware/shortlog/921>hg commit 921</a>.</p> |
927 | 463 |
464 <p>Just a checkpoint on the way to 1.0, which is still planned for | |
465 around new years, but there's been some schedule slippage already.</p> | |
466 | |
467 <ul> | |
468 <li> | |
469 <p><b>New documentation</b></p> | |
470 <p>The presentation slides have been converted to | |
471 <a href=presentation.html>HTML</a>, although the much prettier (and much | |
472 bigger) <a href=downloads/presentation.pdf>PDF</a> is still available.</p> | |
473 | |
474 <p>There is also a <a href=FAQ.html>FAQ</a>, which is still somewhat sparse. | |
475 (Ask away.)</p> | |
476 </li> | |
477 | |
478 <li><p><b>Prebuilt binaries</b></p></li> | |
479 | |
480 <p>Added shm support to uClibc. Bugfix to the c++ | |
481 compiler (it should work again). The system images now have a "guest" | |
482 user/group so packages can more easily be built as a non-root user. | |
483 The shell prompt now includes the $HOST name.</p> | |
484 </li> | |
485 | |
486 <li><p><b>Build scripts</b></p> | |
487 <p>A new trivial-but-convenient "./clean.sh" script lets you delete just the | |
488 target builds out of "build". (If you delete that whole directory it has to | |
489 re-extract all the package tarballs and rebuilt the host tools, which is | |
490 often unnecessary work.)</p> | |
491 | |
492 <p>Command recording has been completely redone. No more RECORD_COMMANDS | |
493 variable, instead run sources/more/record-commands.sh to wrap the current | |
494 $PATH in build/wrappy (either after or instead of running host-tools.sh), | |
495 then run your build stages, and finally either run | |
496 sources/more/report-recorded-commands.sh to get a summary or | |
497 look at the raw command line lists in build/logs.</p> | |
498 | |
499 <p>The Great Refactoring continues in sources/sections: broke up | |
500 binutils-gcc.sh into individual binutils, gcc, and ccwrap | |
501 stages, split off linux-headers and uClibc++ from uClibc.sh, | |
502 and spun off toybox.sh from busybox.sh.</p> | |
503 | |
504 <p>Also broke kernel_cmdline() out of qemu_defaults() to make it easier to add | |
505 non-qemu sources/targets configurations without reinventing the wheel, | |
506 and fixed up dependencies for hw-target builds (which should work a lot | |
507 more reliably now).</p> | |
508 | |
509 <p>Bumped up the number of $CPUS used by the build to 1.5x the actual number | |
510 (as long as your host has at least 512 megs of ram per actual CPU). That | |
511 should help keep larger servers busy.</p> | |
512 | |
513 <p>Some self-hosting fixes from Natanael Copa (making sure host-tools.sh | |
514 builds on a uClibc host): added --disable-nls to the e2fsprogs build | |
515 (what exactly is ./configure running all these tests for again?), and a | |
516 squashfs patch (substituting a function uClibc hasn't got).</p> | |
517 | |
518 <p>Simplified system-image.sh to use killtree() instead of mysetsid. | |
519 Simplified the cross-compiler/cross-static logic to set the $PATH to | |
520 use the right one, rather than moving them around during the build. | |
521 Updated smoketest-all.sh to show "NONE" for system images that didn't build. | |
522 Added more support for SKIP_STRIP and CFLAGS=-g to the rest of the | |
523 packages. Cleaned out the old USE_COLOR stuff which was superceded by | |
524 set_titlebar.</p> | |
525 </li> | |
526 </ul> | |
527 | |
528 <hr> | |
529 <h2><a name=11-07-2009 />November 7, 2009</h2> | |
879 | 530 <p><a href=downloads/firmware-0.9.8.tar.bz2>Version 0.9.8</a> is out, |
531 based on hg commit 876. (If you want to see all the changes in this release, | |
532 look at <a href=http://impactlinux.com/hg/firmware/shortlog/876>commits 810 through 876</a>.)</p> | |
533 | |
534 <p.The current plan is to cut one more release at the end of the month, and | |
535 then have the 1.0 release around new year's. This could be considered a | |
536 1.0-pre1, if you like.</p> | |
537 | |
538 <p>This release upgrades linux to 2.6.31.4 and busybox to 1.15.2. | |
539 (The uClibc version is still 0.9.30.1, they haven't had a new release | |
540 yet.)</p> | |
541 | |
542 <p>The old #firmware irc channel on freenode.net has been merged into #edev, | |
543 so go there now to ask questions about this project. (A _lot_ of | |
544 knowledgeable, helpful people hang there who can answer your embedded | |
545 development questions.)</p> | |
546 | |
547 <h3><b>Bug tracker and roadmap</b></h3> | |
548 | |
549 <blockquote> | |
550 <p>The <a href=http://redmine.impactlinux.com/projects/impact>new bug | |
551 tracker</a> has a <a href=http://redmine.impactlinux.com/projects/impact/roadmap>roadmap</a> | |
552 showing what we plan to implement for the next release or two.</p> | |
553 | |
554 <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> | |
555 is still the fastest way to get a fix.</p> | |
556 </blockquote> | |
557 | |
558 <h3><b>New screenshots page</b></h3> | |
559 | |
560 <blockquote> | |
561 <p><a href=screenshots>This page</a> lists every target, with | |
562 a "screenshot" of the target's boot messages under qemu, and associated | |
563 links to all the various prebuilt binaries for that target.</p> | |
564 </blockquote> | |
565 | |
566 <h3><b>Fun with static linking</b></h3> | |
567 | |
568 <blockquote> | |
569 <p>The cross-compiler-$ARCH tarballs are all compiled for i686 and | |
570 statically linked against uClibc for maximum portability.</p> | |
571 | |
572 <p>The busybox binary in the root filesystem images is now built statically by | |
573 default, providing a 20% speed improvement in ./configure times under qemu | |
574 (due to the reduced page translation overhead). You can switch this back | |
575 to dynamic with "BUILD_STATIC=none".</p> | |
576 | |
577 <p>Static dropbear and strace binaries for each target are also available, | |
578 built by the new sources/more/native-static-build.sh script.</p> | |
579 </blockquote> | |
580 | |
581 <h3><b>System Image interface changes</b></h3> | |
582 | |
583 <blockquote> | |
584 <p>The run-from-build.sh script used to set up a development environment | |
585 out of the build directory, but didn't provide an easy way to do so based | |
586 on downloaded tarballs. (You had to work out and provide extensive | |
587 command line arguments to the run-emulator.sh script.) This has been | |
588 fixed.</p> | |
589 | |
590 <p>The run-emulator.sh script in each system interface tarball is now much | |
591 simpler. It now looks for distccd and $ARCH-cc in its $PATH, and sets up | |
592 distcc acceleration automatically if it finds them. (It announces whether | |
593 or not it has managed to do so, and init.sh announces whether or not it | |
594 thinks it has distcc acceleration enabled just before launching a command | |
595 prompt.) So setting up the distcc accelerator should be less of a pain.</p> | |
596 | |
597 <p>Also, run-emulator.sh no longer takes any command line arguments. Instead | |
598 the environment variable $HDB indicates a /dev/hdb disk image to mount on | |
599 /home, $HDBMEGS specifies the size of a (sparse ext2) HDB image to create if | |
600 it doesn't already exist, and QEMU_MEMORY indicates how many megabytes of | |
601 physical memory the emulator should allocate for the virtual system.</p> | |
602 | |
603 <p>Each system-image also provides a simple wrapper dev-environment.sh | |
604 which calls run-emulator.sh with HDBMEGS=2048, HDB=hdb.img, and | |
605 QEMU_MEMORY=256. (These are the values run-from-build.sh used to provide, | |
606 and give a reasonable build environment with 256 megs of physical memory | |
607 and 2 gigabytes of writeable /home space.) The run-from-build.sh script | |
608 itself now merely adds the specified build/cross-compiler-$ARCH directory | |
609 to the $PATH, changes directory to the appropriate build/system-image-$ARCH, | |
610 and calls ./dev-environment.sh. It's 3 lines.</p> | |
611 | |
612 <p>The system images can now also automatically mount a third disk image | |
613 ($HDC, specifying an /dev/hdc image to mount onto the /mnt directory), and if | |
614 that filesystem contains an executable "init" program in its root directory | |
615 the sbin/init.sh script will run that instead of launching a command prompt.</p> | |
616 | |
617 <p>The new native-static-build.sh uses this HDC capability to automatically | |
618 run some native package builds without having to drive the build through | |
619 /dev/console via a wrapper script (the way smoketest.sh does). See | |
620 sources/more/setup-native-static-build.sh for the script which generates | |
621 the hdc.sqf image for this.</p> | |
622 | |
623 <p>Note that some targets (such as sh4 and powerpc) don't yet support /dev/hdc | |
624 due to QEMU board emulation limitations.</p> | |
625 </blockquote> | |
626 | |
627 <h3><b>Build interface changes</b></h3> | |
628 | |
629 <blockquote> | |
630 <p>The new "sources/more" directory contains scripts the end user can | |
631 call, but which aren't important enough to clutter up the top level | |
632 directory with. The buildall.sh and smoketest-all.sh scripts moved there, | |
633 as did the cronjob.sh used to build the nightly snapshots.</p> | |
634 | |
635 <p>The new sources/more/native-static-build.sh natively compiles dropbear and | |
636 strace under the emulator, and copies them out to the host through the virtual | |
637 network (into the build/cron-temp directory) using busybox ftpd on the host. | |
638 This provides an example of how to use the new HDC /mnt/init functionality | |
639 to perform automatic builds under the emulator, and copy the results out | |
640 through the network. It uses the new sources/timeout.sh wrapper to detect | |
641 hung builds (defined as builds that haven't produced a line of output within | |
642 a given number of seconds).</p> | |
643 | |
644 <p>The new BINARY_PACKAGE_TARBALLS variable (in the file "config") tells | |
645 the build to create a separate tarball of the binaries produced building | |
646 each package. (These more granular tarballs aren't shipped yet, but may | |
647 be in a future release.)</p> | |
648 | |
649 <p>The new SKIP_STRIP variable tells the build not to strip binaries. | |
650 (Add in CFLAGS=-g for enormous binaries full of debug info.)</p> | |
651 </blockquote> | |
652 | |
653 <h3><b>Target upgrades</b></h3> | |
654 | |
655 <blockquote> | |
656 <p>Powerpc and sh4 should now work fine with stock qemu 0.11.0.</p> | |
657 | |
658 <p>The arm platform now has an armv4tl target. This is a little-endian armv4 | |
659 eabi, for armv4 chips offering the "thumb" extension which eabi requires. | |
660 (The plain armv4l target is still oabi. The oabi/eabi thing is different | |
661 binary ABIs, a bit like Linux vs BSD binaries or aout vs elf. The eabi | |
662 standard is the new one, but some of the older arm hardware can't support | |
663 it. This takes it down as far as it can go.)</p> | |
664 </blockquote> | |
665 | |
666 <h3><b>Infrastructure</b></h3> | |
667 | |
668 <blockquote> | |
669 <p>Behind the scenes, some extensive work is going on to simplify the | |
670 build scripts. (The documentation's fallen a bit behind reality here, | |
671 but should be back up to date next release.)</p> | |
672 | |
673 <p>The uClibc miniconfigs are now automatically generated, with the | |
674 bulk of the config living in sources/baseconfig-uClibc and the few | |
675 target specific lines being appended from the UCLIBC_CONFIG variable | |
676 defined in the target's settings file.</p> | |
677 | |
678 <p>The other big change is factoring out lots of common code, moving it into | |
679 the sources/sections directory, so things like the uClibc, busybox, and | |
680 toolchain builds now live in one place and are called from the various | |
681 other scripts that need them. (This may eventually allow alternate build | |
682 scripts for these packages, potentially swapping out glibc for uClibc, or | |
683 llvm/clang for gcc. In the meantime, it eliminates a lot of redundant code.)</p> | |
684 | |
685 <p>This required lots of small cleanups, such as making the scripts now | |
686 consistently use the $STAGE_DIR variable for their output directory. | |
687 Some other cleanups were primarily cosmetic, such as moving the extracted | |
688 tarball cache directory from build/sources to build/packages. (Tarballs | |
689 live in packages, extracted tarballs live in build/packages.)</p> | |
690 | |
691 <p>The root filesystem now contains simple /etc/passwd and /etc/group files, | |
692 because dropbear won't work without them (not even to ssh out).</p> | |
693 | |
694 <p>Several small bugfixes (ccwrap no longer segfaults if $PATH isn't | |
695 exported, /etc/resolv.conf doesn't get overwritten unnecessarily by init.sh, | |
696 etc).</p> | |
697 </blockquote> | |
698 | |
927 | 699 <hr> |
700 <h2><a name=08-20-2009 />August 20, 2009</h2> | |
809 | 701 <p><a href=downloads/firmware-0.9.7.tar.bz2>Version 0.9.7</a> is out, a little |
702 over a month and a half late. It's a larger update than usual, so the | |
703 release notes are a bit long.</p> | |
704 | |
705 <p>This release is based on | |
706 <a href=http://impactlinux.com/hg/firmware/log/807>mercurial version 807</a> | |
707 of the build scripts, | |
708 and includes <b>Linux 2.6.30.4</b> and <b>BusyBox 1.14.3</b>. | |
709 No new uClibc release is out since last time.</p> | |
710 | |
711 <p>Lots of little bugs got fixed. For example, this release should build on | |
712 Fedora 11 (and any other platform that hasn't got "which" installed by | |
713 default), and now supports distcc and ccache on the host (and will use them | |
714 automatically if they are installed).</p> | |
715 | |
716 <h3><b>Changes to build stages: new root-filesystem, cross-static, and | |
717 native-compiler tarballs, upgraded buildall.sh and smoketest-all.sh.</b></h3> | |
718 | |
719 <blockquote> | |
720 <p>The old "mini-native" stage has been renamed "root-filesystem" | |
721 (the same way package-mini-native became system-image last release). The | |
722 script names (and resulting tarballs) now indicate what each stage makes. | |
723 So build.sh calls host-tools.sh, cross-compiler.sh, root-filesystem.sh, | |
724 and system-image.sh, in that order.</p> | |
725 | |
879 | 726 <p>The old build-static-toolchains.sh script is gone, with its functionality |
809 | 727 integrated into buildall.sh (which now builds i686 hosted static toolchains |
728 for each target by default). This is implemented by two new environment | |
729 variables triggering optional behavior: STATIC_CROSS_COMPILER_HOST | |
730 and BUILD_STATIC_NATIVE_COMPILER.</p> | |
731 | |
732 <p>Setting STATIC_CROSS_COMPILER_HOST to an architecture name creates a | |
733 cross compiler statically linked to run on that host (via a technique | |
734 known as canadian cross compile). For example, the invocation:</p> | |
735 | |
736 <blockquote> | |
737 <p>BUILD_CROSS_COMPILER_HOST=i686 ./build.sh armv4l</P> | |
738 </blockquote> | |
739 | |
740 <p>Would create a tarball called "cross-static-armv4l.tar.bz2" which was | |
741 built to run on an i686 host, and was statically linked (against uClibc) | |
742 on that host to be distribution independent.</p> | |
743 | |
744 <p>Setting BUILD_STATIC_NATIVE_COMPILER to any non-empty value creates a | |
745 native compiler for the target (packaged as native-compiler-$ARCH.tar.bz2), | |
746 which is statically linked against uClibc so it can be extracted and run on | |
747 just about any system of the appropriate type. (So if you can get a Linux | |
748 shell prompt and have enough storage and memory, you should be able to | |
749 compile stuff.)</p> | |
750 | |
751 <p>The upgraded smoketest-all.sh script runs smoketest.sh on each | |
752 target built. (The smoketest.sh script attempts to compile and run "hello | |
753 world" natively within a system image under qemu, and indicates whether or | |
754 not it worked via "pass" or "fail".) Note that smoketest-all.sh now | |
755 autodetects which targets have been built (have system images in the build | |
756 directory), and smoketest.sh times out after 60 seconds so targets that hang | |
757 will return failure eventually.</p> | |
758 | |
759 </blockquote> | |
760 | |
761 <h3><b>Squashfs 4.0 now the default system image type</b></h3> | |
762 | |
763 <blockquote> | |
764 <p>The root filesystem image type is now squashfs by default. (To change it set | |
765 SYSIMAGE_TYPE to ext2 or initramfs, either in your environment or the file | |
766 "configure".)</p> | |
767 | |
768 <p>This involved upgrading the userspace squashfs support package | |
769 to the version 4.0 supported by the upstream kernel, and numerous small fixes | |
770 to work with a read-only root filesystem (with writeable spaced mounted on | |
771 /home and /tmp).</p> | |
772 </blockquote> | |
773 | |
774 <h3><b>Target upgrades</b></h3> | |
775 <blockquote> | |
776 <h3><b>ARM upgrades</b></h3> | |
777 | |
778 <blockquote> | |
779 <p>Lots of work on the arm targets, with the addition of a new armv6l target | |
780 and conversion of the armv5l target to | |
781 <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>, | |
782 but ARM screwed up its website and now you have to go | |
783 <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 | |
784 little endian soft float OABI target (which is "the i386 of ARM", meaning it | |
785 should run on just about any arm hardware, if a bit slowly). A new | |
786 armv4be target is the same as armv4l except big endian.</p> | |
787 | |
788 <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> | |
789 </blockquote> | |
790 | |
791 <h3><b>Updated sparc support, almost works now. (uClibc for sparc still sucks.)</b></h3> | |
792 | |
793 <blockquote> | |
794 <p>The sparc target has also been upgraded to the point where it now gives | |
795 a shell prompt. (And immediately dies with a bus error or a hang if you try | |
796 to do anything, because uClibc for sparc still doesn't work. The "upgrade" | |
797 consisted of statically linking everything because uClibc's dynamic loader | |
798 doesn't work for sparc.)</p> | |
799 </blockquote> | |
800 | |
801 <h3><b>PowerPC remains fiddly due to QEMU issues, new powerpc-440fp target</b></h3> | |
802 | |
803 <blockquote> | |
804 <p>PowerPC support in QEMU is | |
805 <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 | |
806 changed from last release, the version of QEMU in source control no longer | |
807 runs it (nor the binary powerpc system images released with FWL 0.9.6) and | |
808 QEMU's developers do not consider this a regression. While we search for a new | |
809 Linux kernel .config that matches QEMU's current expectations (and await a | |
810 release considered "stable"), note that setting HOST_BUILD_EXTRA=1 before | |
811 running host-tools.sh will build a version of qemu that does run powerpc and | |
812 put it in build/host where run-from-build.sh can find it. (Note also that | |
813 building qemu from source still takes significantly longer than the rest of the | |
814 host-tools.sh stage combined.)</p> | |
815 | |
816 <p>A new powerpc-440fp target produces code for the powerpc 440 with hardware | |
817 floating point. (Theoretically QEMU's "bamboo" board emulation should | |
818 run this, but QEMU doesn't emulate a 440 processor yet. We compromise by | |
819 running a ppc440 filesystem under qemu's power mac emulation, to take | |
820 advantage of the ppc440 instruction set being almost a subset of full powerpc. | |
821 This gets us a shell prompt, but throws illegal instruction errors if you | |
822 try to do anything fancy.)</p> | |
823 | |
824 <p>(Note that powerpc-440fp is not a hw-target for powerpc, it's a different | |
825 processor instruction set like i586 vs i686. Alas, one that qemu doesn't | |
826 properly emulate yet.)</p> | |
827 | |
828 </blockquote> | |
829 | |
830 </blockquote> | |
831 | |
832 <h3><b>Now using last GPLv2 release of GCC, and future plans</b></h3> | |
833 | |
834 <blockquote> | |
835 <p>The upgrade to <b>gcc 4.2.1</b> gives us | |
836 <a href=http://gcc.gnu.org/ml/gcc-announce/2007/msg00003.html>the last | |
837 GPLv2 licensed version of gcc</a> (thus avoiding | |
838 <a href=http://lwn.net/Articles/343608/>various problems</a>). | |
839 <a href=http://savannah.gnu.org/forum/forum.php?forum_id=4932>Make 3.81</a> | |
840 was already the last GPLv2 release of that project.</p> | |
841 | |
842 <p>Note that <b>bash 2.05b</b> is still intentionally ancient (to avoid the | |
843 bloat of 3.x), and may be replaced with busybox ash as the default FWL shell | |
844 in a future release. Similarly, although <b>binutils 2.17</b> was the last | |
845 GPLv2 version from the FSF, an upgrade to | |
846 <a href=http://ftp.kernel.org/pub/linux/devel/binutils/release.binutils-2.18.50.0.1>the | |
847 last GPLv2 release of Red Hat's binutils fork, 2.17.5.0.17</a> is under | |
848 consideration for a future release. But mostly the GNU compiler toolchain | |
849 has been upgraded as far as possible for the forseeable future, either because | |
850 new versions provide no significant benefits or because they're not available | |
851 under a license compatible with the Linux kernel's.</p> | |
852 | |
853 <p>Future upgrades to these packages will either be via individual patches | |
854 (maintaining GPLv2 license) or by investigating alternative non-FSF | |
855 packages such as OpenBSD's <a href=http://lwn.net/Articles/255558>PCC</a> or | |
856 Apple's <a href=http://llvm.org>LLVM</a>. In preparation for support of | |
857 alternate compilers, the build scripts have moved from using "gcc" to the | |
858 more generic "cc" for the compiler name wherever possible, but currently no | |
859 drop-in replacement compiler is available.</p> | |
860 | |
861 </blockquote> | |
862 | |
863 <h3><b>Implementation details</b></h3> | |
864 | |
865 <blockquote> | |
866 <p>Each target configuration renamed "details" to "settings", and added | |
867 a "description". (This makes Gentoo From Scratch's kconfig easier.)</p> | |
868 | |
869 <p>The download.sh stage now populates a "packages" directory instead of | |
870 "sources/packages", meaning that everything in the sources directory now | |
871 comes from the FWL source tarball. To do the equivalent of "make clean" | |
872 you can "rm -rf build", and to do a "make distclean" you can | |
873 "rm -rf packages build".</p> | |
874 | |
875 <p>The build no longer deletes the alt-* tarballs when UNSTABLE isn't | |
876 set, you must do that by hand if you want an updated alt- version of a | |
877 package. The packages/MANIFEST file creation can now use the extended | |
878 tarball information to detect git version numbers.</p> | |
879 | |
880 <p>The === bars now show the current stage name and architecture each | |
881 package is being built for. (Pipe the build output to grep "^===" to see | |
882 just the start of each new package build.) The same information is sent | |
883 to the title bar of your xterm, export NO_TITLE_BAR=1 if you don't want the | |
884 build to update the title bar.</p> | |
885 | |
886 <p>The BUILD_STATIC option now applies to all packages built in | |
887 root-filesystem.sh, and can be set from a target configuration's settings file | |
888 (as sparc is now doing).</p> | |
889 | |
890 <p>The BUILD_VERBOSE option passes V=1 to the linux, busybox, and uClibc | |
891 builds that otherwise sanitize their output.</p> | |
892 | |
893 <p>You can now set NATIVE_TOOLCHAIN=only to build just the compiler | |
894 and not the other parts (busybox, make, toybox, bash...) This is used | |
895 by the canadian cross steps in build.sh to create static cross and native | |
896 compilers.</p> | |
897 | |
898 <p>This release broke up scripts/include.sh so that script just | |
899 sets lots of environment variables, and now includes scripts/functions.sh | |
900 to define shell functions. The architecture setup (reading architecture | |
901 files and creating temporary directories and such) is now done via the | |
902 "read_arch_dir $ARCH" shell function, so merely including sources/include.sh | |
903 should no longer have significant side effects. Similarly, setupfor now | |
904 has an EXTRACT_ONLY environment variable instead of depending on a blank | |
905 $ARCH (which host-tools.sh has, despite wanting to snapshot source so it can | |
906 build stuff).</p> | |
907 | |
908 <p>Various fixes to make parallel builds work better. (So it neither leaves | |
909 background processes running nor kills the parent shell and closes your | |
910 xterm when you hit ctrl-c.) The new "killtree" shell function, | |
911 which kills a process and all its children and grandchildren recursively with | |
912 pgrep. We also build our own sources/toys/mysetsid.c program with the host | |
913 compiler (because the normal command line "setsid" doesn't also do a tcsetpgrp | |
914 on stdin so signal handling isn't forwarded to the new session). This should | |
915 more reliably allow ctrl-c to exit smoketest.sh and system-image.sh and such, | |
916 and let FORK=1 ./buildall.sh stop all its background processes when | |
917 interrupted. (Note that smoketest-all.sh also honors FORK=1.)</p> | |
918 | |
919 <p>The logs from buildall.sh now live in build/logs.</p> | |
920 | |
921 <p>The new config option ROOT_NODIRS avoids creating the normal set of empty | |
922 directories in the new root filesystem. (The old /tools support went | |
923 away, but a BUILD_STATIC ROOT_NODIRS build can be extracted into /tools | |
924 and used from there. Then either symlink "/lib" to "/tools/lib" or "export | |
925 UCLIBC_DYNAMIC_LINKER=/tools/lib/ld-uClibc.so.0" to add more stuff to | |
926 /tools natively.)</p> | |
927 | |
928 <p>The compiler wrapper (sources/toys/ccwrap.c) can now use | |
929 architecture-specific WRAPPER_TOPDIR values. (I.E. armv4l-cc could | |
930 "export armv4l_WRAPPER_TOPDIR=/path/to/directory".) This makes | |
931 canadian cross compiles a lot easier.</p> | |
932 </blockquote> | |
933 | |
927 | 934 <hr> |
935 <h2><a name=04-02-2009 />April 2, 2009</h2> | |
694 | 936 <p><a href=downloads/firmware-0.9.6.tar.bz2>Version 0.9.6</a> includes |
937 Linux 2.6.29 and uClibc 0.9.30.1, now with support for sh4 and upgraded powerpc | |
938 support.</p> | |
939 | |
940 <p>The big news is the <a href=http://impactlinux.com/code/gfs/>Gentoo | |
941 From Scratch</a> project, which extends a FWL system image into a Gentoo | |
942 Stage 1 environment, building natively inside qemu.</p> | |
943 | |
944 <p>The <a href=documentation.html>documentation</a> has been extensively | |
945 rewritten (but needs more). The source now contains a README and each image | |
946 has a usr/src/MANIFEST file listing the packages it built from.</p> | |
947 | |
948 <p>The cross and native toolchains now include ldd, readelf, and | |
949 ldconfig. Added support for hardware targets (an unfinished example | |
950 of which is hw-wrt610n) that use the same cross compiler and system | |
951 image as a qemu platform, but build/package a different kernel to boot | |
952 on actual hardware.</p> | |
953 | |
954 <p>Several new build options:</p> | |
955 <ul> | |
956 <li><p><b>$SYSIMAGE_TYPE</b> defaults to "ext2" but can now | |
957 produce and boot "initramfs" images as well. (And squashfs, but that doesn't | |
958 work yet due to missing features in squashfs tools version 3.4.)</p></li> | |
959 <li><p>Setting <b>$HOST_BUILD_EXTRA</b> compiles qemu 0.10.1 in host-tools.sh. | |
960 You currently need to do this to run sh4 or powerpc, 0.10.1 has some bugs | |
961 needing patches. Not on by default because it takes a _long_ time.</p></li> | |
962 <li><p><b>$NO_CLEANUP</b> keeps source around after builds for debugging purposes.</p></li> | |
963 <li><p><b>$SYSIMAGE_HDA_MEGS</b> lets you control the size of the ext2 system images.</p></li> | |
964 <li><p><b>$SNAPSHOT_SYMLINK</b> lets the extracted source live on a different | |
965 filesystem than the build happens on. (Once the updated squashfs userspace | |
966 tools ship, build-static-toolchains.sh may be updated to use this.)</p></li> | |
967 <li><p><b>$CROSS_SMOKE_TEST</b> use qemu application emulation to test run hello | |
968 world program at the end of the cross compiler build stage.</p></li> | |
969 <li><p><b>$SKIP_STAGE_TARBALLS</b> don't create tarballs of each stage, | |
970 just populate the directories.</p></li> | |
971 <li><p><b>$NATIVE_RETROFIT_CXX</b> retroactively add uClibc++ to the cross | |
972 compiler tarball during the native build stage.</p></li> | |
973 </ul> | |
974 | |
975 <p>The run-emulator.sh scripts of system images have several new options, | |
976 do "./run-emulator.sh --help" for a list. Takes several environment | |
977 variables such as $QEMU_EXTRA and $KERNEL_EXTRA. Root filesystems can | |
978 now run in read only mode with "KERNEL_EXTRA=ro".</p> | |
979 | |
980 <p>Lots of build infrastructure upgrades. The build stages have been | |
981 reorganized somewhat (most noticeably package-mini-native.sh is now called | |
982 system-image.sh). The "sources/packages" directory has moved up a | |
983 directory (to separate repository files from stuff downloaded at runtime). | |
984 Upgrades to the cc wrapper and the USE_UNSTABLE infrastructure. Better | |
985 stripping of the cross compilers and system images, so everything's a bit | |
986 smaller. The mirror list now lives in download.sh. New buildall.sh is a | |
987 wrapper around build.sh. New build-static-toolchains.sh builds them under | |
988 qemu; set FORK=1 to build them in paralell just like buildall.sh. The | |
989 ext2 system images are now built at a small size with genext2fs and | |
990 then expanded with resize2fs (because genext2fs slows down exponentially | |
991 as size increases; this means e2fsprogs is built in host-tools.sh now). | |
992 Distcc has been upgraded, and should work more reliably now.</p> | |
993 | |
994 <p>Too many little bug fixes to list.</p> | |
995 | |
927 | 996 <hr> |
997 <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
|
998 <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
|
999 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
|
1000 <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
|
1001 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
|
1002 |
927 | 1003 </hr> |
1004 <h2><a name=12-03-2008 />December 3, 2008</h2> | |
523 | 1005 <p>After several false starts (I.E. last minute bugs, yes I test this thing |
1006 before shipping it), | |
1007 <a href=downloads/firmware-0.9.5.tar.bz2>Version 0.9.5</a> is out, inching | |
1008 towards a 1.0 release. Lots of new work this time.</p> | |
1009 | |
1010 <p>The biggest news is uClibc 0.9.30 and uClibc++ 0.2.2. The native toolchain | |
1011 now supports C++, hooked up to distcc and everything.</p> | |
1012 | |
1013 <p>The <a href=documentation.html>documentation</a> has been extensively | |
1014 rewritten. (There's always more to do, but most of it isn't horribly out | |
1015 of date anymore.)</p> | |
1016 | |
1017 <p>The packaging stage now uses genext2fs instead of User Mode Linux, so | |
1018 the most brittle part of the build has been removed. FWL can now fully | |
1019 rebuild itself under itself, all the way through the packaging stage.</p> | |
1020 | |
1021 <p>My personal website's getting a touch overwhelmed, so a higher bandwidth | |
1022 site is now available at | |
1023 <a href=http://impactlinux.com/fwl>impactlinux.com</a>. This should become | |
1024 the new primary website going forward.</p> | |
1025 | |
1026 <p>BusyBox has also been upgraded (to 1.13.0), and the new USE_UNSTABLE | |
1027 infrastructure allows test versions of any package to be downloaded and built | |
1028 without forking the build scripts, so future package upgrades can be dealt | |
1029 with as side projects without blocking other important work.</p> | |
1030 | |
1031 <p>The packaging stage now uses genext2fs instead of User Mode Linux, so | |
1032 the most brittle part of the build has been removed. FWL can now fully | |
1033 rebuild itself under itself, all the way through the packaging stage.</p> | |
1034 | |
1035 <p>The old forkbomb script has been replaced with sources/build-all-targets.sh. | |
1036 with an argument --fork to build all targets in parallel, and "--fork 3" | |
1037 to limit the parallelism. This script can run from a cron job, producing | |
1038 a "buildall" directory with tarballs, compressed logs, and a README file | |
1039 listing the version of each package. The environment variable USE_STATIC_HOST | |
1040 specifies an $ARCH to create statically linked cross compilers | |
1041 for. (The build will then try to use them for the later stages, | |
1042 and won't get far if you specify an arch that can't run on the host.)</p> | |
1043 | |
1044 <p>The include.sh script has been broken up, with a new sources/functions.sh | |
1045 containing shell functions (like download, setupfor, and cleanup) and | |
1046 a new "config" setting the user-editable environment variables that control | |
1047 the build. Several of these variables have been renamed and their number has | |
1048 grown. You can now specify the colors for each build stage using the variables | |
1049 at the end of config.</p> | |
1050 | |
1051 <p>Building mini-native in a Linux From Scratch style /tools directory is | |
1052 no longer the default. Instead set NATIVE_TOOLSDIR=1 if you want that | |
1053 kind of layout instead of a more conventional layout. (Similarly, | |
1054 NATIVE_TOOLCHAIN=1 now enables the native toolchain, but that variable | |
1055 defaults to enabled in config.)</p> | |
1056 | |
1057 <p>See the <a href=documentation.html>docs</a> for details.</p> | |
1058 | |
927 | 1059 <hr> |
1060 <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
|
1061 <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
|
1062 (<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
|
1063 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
|
1064 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
|
1065 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
|
1066 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
|
1067 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1068 <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
|
1069 <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
|
1070 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
|
1071 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
|
1072 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
|
1073 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
|
1074 tarballs</a>.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1075 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1076 <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
|
1077 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
|
1078 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
|
1079 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
|
1080 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1081 <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
|
1082 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
|
1083 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
|
1084 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1085 <ul> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1086 <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
|
1087 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
|
1088 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
|
1089 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
|
1090 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1091 <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
|
1092 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
|
1093 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
|
1094 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
|
1095 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1096 <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
|
1097 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
|
1098 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
|
1099 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1100 <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
|
1101 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
|
1102 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
|
1103 "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
|
1104 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
|
1105 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
|
1106 (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
|
1107 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
|
1108 </ul> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1109 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1110 <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
|
1111 |
927 | 1112 <hr> |
1113 <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
|
1114 <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
|
1115 (<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
|
1116 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
|
1117 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1118 <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
|
1119 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
|
1120 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
|
1121 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
|
1122 (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
|
1123 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1124 <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
|
1125 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
|
1126 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
|
1127 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
|
1128 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
|
1129 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
|
1130 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1131 <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
|
1132 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
|
1133 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
|
1134 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
|
1135 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
|
1136 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
|
1137 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1138 <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
|
1139 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
|
1140 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
|
1141 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
|
1142 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1143 <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
|
1144 |
927 | 1145 <hr> |
1146 <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
|
1147 <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
|
1148 (<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
|
1149 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
|
1150 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
|
1151 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
|
1152 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
|
1153 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
|
1154 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1155 <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
|
1156 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
|
1157 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
|
1158 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
|
1159 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
|
1160 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1161 <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
|
1162 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
|
1163 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
|
1164 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
|
1165 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1166 <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
|
1167 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
|
1168 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
|
1169 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
|
1170 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
|
1171 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
|
1172 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
|
1173 distributions.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1174 |
927 | 1175 <hr> |
1176 <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
|
1177 <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
|
1178 (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
|
1179 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
|
1180 (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
|
1181 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
|
1182 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
|
1183 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1184 <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
|
1185 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
|
1186 (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
|
1187 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
|
1188 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1189 <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
|
1190 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
|
1191 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
|
1192 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
|
1193 |
927 | 1194 <hr> |
1195 <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
|
1196 <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
|
1197 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
|
1198 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
|
1199 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
|
1200 |
927 | 1201 <hr> |
1202 <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
|
1203 <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
|
1204 (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
|
1205 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
|
1206 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
|
1207 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
|
1208 diagnostic output.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1209 |
927 | 1210 <hr> |
1211 <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
|
1212 <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
|
1213 (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
|
1214 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
|
1215 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
|
1216 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
|
1217 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
|
1218 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
|
1219 (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
|
1220 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
|
1221 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
|
1222 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
|
1223 (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
|
1224 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
|
1225 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1226 <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
|
1227 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
|
1228 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
|
1229 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
|
1230 "/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
|
1231 "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
|
1232 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
|
1233 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1234 <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
|
1235 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
|
1236 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
|
1237 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
|
1238 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1239 <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
|
1240 <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
|
1241 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
|
1242 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
|
1243 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
|
1244 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
|
1245 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
|
1246 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
|
1247 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
|
1248 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
|
1249 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
|
1250 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
|
1251 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
|
1252 "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
|
1253 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
|
1254 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1255 <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
|
1256 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
|
1257 |
927 | 1258 <hr> |
1259 <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
|
1260 <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
|
1261 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
|
1262 (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
|
1263 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1264 <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
|
1265 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
|
1266 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
|
1267 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
|
1268 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1269 <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
|
1270 |
927 | 1271 <hr> |
1272 <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
|
1273 <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
|
1274 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1275 <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
|
1276 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
|
1277 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
|
1278 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
|
1279 <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
|
1280 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
|
1281 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
|
1282 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1283 <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
|
1284 (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
|
1285 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
|
1286 automatically.</p> |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1287 |
927 | 1288 <hr> |
1289 <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
|
1290 <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
|
1291 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
|
1292 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
|
1293 |
3eeb77934265
Add project summary page to website, moving news to its own page.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1294 <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
|
1295 |
927 | 1296 <hr> |
1297 <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
|
1298 <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
|
1299 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
|
1300 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
|
1301 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
|
1302 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
|
1303 |
927 | 1304 <hr> |
1305 <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
|
1306 <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
|
1307 |
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
|
1308 <!--#include file="footer.html" --> |