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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9b6afefcc082 Whee, a mercurial repository!
landley@driftwood
parents:
diff changeset
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
9b6afefcc082 Whee, a mercurial repository!
landley@driftwood
parents:
diff changeset
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
3e2c3a3095d8 Update web page.
Rob Landley <rob@landley.net>
parents: 12
diff changeset
6 <b><h2>News</h2></b>
3e2c3a3095d8 Update web page.
Rob Landley <rob@landley.net>
parents: 12
diff changeset
7 <p><a href=http://landley.net/hg/firmware?cl=27>Changeset 27</a> builds
3e2c3a3095d8 Update web page.
Rob Landley <rob@landley.net>
parents: 12
diff changeset
8 a relocatable armv4l cross-compile toolchain! Download the tarball,
3e2c3a3095d8 Update web page.
Rob Landley <rob@landley.net>
parents: 12
diff changeset
9 run ./download.sh, then run ./build.sh, then grab the "build/cross-compiler"
3e2c3a3095d8 Update web page.
Rob Landley <rob@landley.net>
parents: 12
diff changeset
10 directory and use "bin/armv4l-unknown-linux-gnu-gcc" out of that (which
3e2c3a3095d8 Update web page.
Rob Landley <rob@landley.net>
parents: 12
diff changeset
11 I admit is a bit of a mouthful, for which I blame the FSF).</p>
3e2c3a3095d8 Update web page.
Rob Landley <rob@landley.net>
parents: 12
diff changeset
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
bed493dc4358 Missing a close tag.
Rob Landley <rob@landley.net>
parents: 7
diff changeset
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
3e2c3a3095d8 Update web page.
Rob Landley <rob@landley.net>
parents: 12
diff changeset
93 <p>I need to reorganize this web page.</p>
3e2c3a3095d8 Update web page.
Rob Landley <rob@landley.net>
parents: 12
diff changeset
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>