annotate www/index.html @ 12:bed493dc4358

Missing a close tag.
author Rob Landley <rob@landley.net>
date Thu, 30 Nov 2006 17:02:46 -0500
parents f8c588578fa1
children 3e2c3a3095d8
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
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
6 <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
7
7
f8c588578fa1 Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents: 6
diff changeset
8 <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
9 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
10 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
11
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
12 <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
13 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
14 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
15 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
16 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
17
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
18 <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
19 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
20 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
21 below.</p>
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
22
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
23 <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
24
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
25 <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
26 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
27 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
28 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
29
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
30 <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
31 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
32 (ancient) version.</p>
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
33
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
34 <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
35
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
36 <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
37 build process</a>.</p>
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
38
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
39 <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
40 Linux</a>.</p>
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
41
7
f8c588578fa1 Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents: 6
diff changeset
42 <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
43 been up to on this project.
f8c588578fa1 Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents: 6
diff changeset
44
f8c588578fa1 Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents: 6
diff changeset
45 <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
46
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
47 <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
48 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
49 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
50 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
51 and all that.)</p>
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
52
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
53 <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
54 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
55 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
56 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
57 bugs and limitations.</p>
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
58
7
f8c588578fa1 Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents: 6
diff changeset
59 <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
60 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
61 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
62 <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
63 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
64 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
65 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
66 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
67 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
68
7
f8c588578fa1 Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents: 6
diff changeset
69 <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
70 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
71 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
72 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
73 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
74
7
f8c588578fa1 Finish shuffling old website material into new website.
Rob Landley <rob@landley.net>
parents: 6
diff changeset
75 <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
76 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
77 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
78
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
79 <h2>Contact</h2>
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
80
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
81 <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
82 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
83 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
84 people pester me.</p>
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 </body>
2907d5193cf6 A real web page, and description of the build process.
Rob Landley <rob@landley.net>
parents: 4
diff changeset
87 </html>