Mercurial > hg > aboriginal
annotate www/index.html @ 31:3e2c3a3095d8
Update web page.
author | Rob Landley <rob@landley.net> |
---|---|
date | Sun, 10 Dec 2006 23:31:28 -0500 |
parents | bed493dc4358 |
children | 21e058fa3676 |
rev | line source |
---|---|
0 | 1 <html> |
5
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
2 <title>Firmware Linux</title> |
0 | 3 <body> |
5
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
4 <h1>Firmware Linux</h1> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
5 |
31 | 6 <b><h2>News</h2></b> |
7 <p><a href=http://landley.net/hg/firmware?cl=27>Changeset 27</a> builds | |
8 a relocatable armv4l cross-compile toolchain! Download the tarball, | |
9 run ./download.sh, then run ./build.sh, then grab the "build/cross-compiler" | |
10 directory and use "bin/armv4l-unknown-linux-gnu-gcc" out of that (which | |
11 I admit is a bit of a mouthful, for which I blame the FSF).</p> | |
12 | |
5
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
13 <b><h2>What is it?</h2></b> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
14 |
7
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
15 <p>Firmware Linux is an embedded Linux distribution builder that creates a |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
16 bootable single file Linux system, based on uClibc and BusyBox/toybox. It's |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
17 basically a shell script that builds a complete Linux system from source code.</p> |
5
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
18 |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
19 <p>FWL builds a cross-compiler and then uses it to build a minimal system |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
20 containing a native compiler, BusyBox and uClibc. Then it runs this minimal |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
21 system under an emulator (QEMU) and natively builds the final system. Finally |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
22 it packages the resulting system (kernel, initramfs, and root filesystem) into |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
23 one big bootable file.</p> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
24 |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
25 <p>Here is a description of <a href=design.html>the design of Firmware |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
26 Linux</a>. That's the new (QEMU-based, capable of cross-compiling for non-x86) |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
27 design I'm working on now. The old (UML-based, x86 only) design is described |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
28 below.</p> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
29 |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
30 <b><h2>Download</h2></b> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
31 |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
32 <p>The current stuff is available from <a href=/hg/firmware>the mercurial |
12 | 33 repository</a>. That's the new (QEMU-based, capable of cross-compiling for |
5
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
34 different hardware platforms) design I'm working on now, and where new |
7
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
35 development happens. To use it, download the tarball and run "./build.sh".</p> |
5
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
36 |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
37 <p>The old (UML-based, x86 only) design is still available from <a href=old>the |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
38 old website</a>, which is hideously out of date but contains a working |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
39 (ancient) version.</p> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
40 |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
41 <b><h2>Documentation</h2></b> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
42 |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
43 <p>Here's a quick <a href=build-process.html>overview of the Firmware Linux |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
44 build process</a>.</p> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
45 |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
46 <p>Here is a description of <a href=design.html>the design of Firmware |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
47 Linux</a>.</p> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
48 |
7
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
49 <p>As always, read <a href=/notes.html>my development log</a> to see what I've |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
50 been up to on this project. |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
51 |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
52 <b><h2>History</h2></b> |
5
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
53 |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
54 <p>I've been working on this project on and off since 1999, it's what |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
55 got me into BusyBox and uClibc and compilers and so on. Now it's where I put |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
56 together everything else I'm doing (like toybox and tinygcc) to see what |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
57 actually works and give it a good stress-test. (Eating your own dogfood, |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
58 and all that.)</p> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
59 |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
60 <p>When the Firmware Linux project started, busybox applets like sed and sort |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
61 weren't powerful enough to handle the "./configure; make; make install" of |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
62 packages like binutils or gcc. Busybox was usable in an embedded router or |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
63 rescue floppy, but trying to get real work done with it revealed numerous |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
64 bugs and limitations.</p> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
65 |
7
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
66 <p>So I spent about 3 years improving Busybox (and pestering other people into |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
67 improving their bits), and along the way accidentally become the BusyBox |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
68 maintainer (at least until the project's crazy-uncle founder showed up and |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
69 <a href=http://lwn.net/Articles/202106/>drove me away again</a>). The result |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
70 is that in Firmware Linux, Busybox now functions as an effective replacement |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
71 for bzip2, coreutils, diffutils, e2fsprogs, file, findutils, gawk, grep, |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
72 inetutils, less, modutils, net-tools, patch, procps, sed, shadow, sysklogd, |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
73 sysvinit, tar, util-linux, and vim. I was in the process of writing a new |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
74 shell to replace bash with when I left.</p> |
5
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
75 |
7
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
76 <p>Firmware Linux stalled while I was BusyBox maintainer (2005-2006) due to |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
77 lack of time, and since that ended most of my spare programming time has gone |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
78 into launching toybox. But one of the main goals of toybox is to replace |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
79 BusyBox in Firmware Linux, so as toybox matures it'll naturally lead to more |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
80 of my time spent working on FWL.</p> |
5
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
81 |
7
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
82 <p>My server does not currently run on Firmware Linux. Making it do so |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
83 is a TODO item. After that, I'd like to get it to the point where I can |
f8c588578fa1
Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents:
6
diff
changeset
|
84 use it on my laptop. :)</p> |
5
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
85 |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
86 <h2>Contact</h2> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
87 |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
88 <p>My name is Rob Landley and my email address is rob@landley.net. |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
89 My <a href=notes.html>development log</a> is probably the best way to keep |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
90 track of what I'm working on, although I'll start a mailing list if enough |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
91 people pester me.</p> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
92 |
31 | 93 <p>I need to reorganize this web page.</p> |
94 | |
5
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
95 </body> |
2907d5193cf6
A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents:
4
diff
changeset
|
96 </html> |