split website off into dedicated git repo
authorMike Frysinger <vapier@gentoo.org>
Wed, 13 May 2009 05:48:00 +0000 (01:48 -0400)
committerMike Frysinger <vapier@gentoo.org>
Wed, 13 May 2009 05:48:00 +0000 (01:48 -0400)
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
41 files changed:
docs/busybox.net/FAQ.html [deleted file]
docs/busybox.net/about.html [deleted file]
docs/busybox.net/busybox-growth.ps [deleted file]
docs/busybox.net/copyright.txt [deleted file]
docs/busybox.net/developer.html [deleted file]
docs/busybox.net/download.html [deleted file]
docs/busybox.net/fix.html [deleted file]
docs/busybox.net/footer.html [deleted file]
docs/busybox.net/header.html [deleted file]
docs/busybox.net/images/back.png [deleted file]
docs/busybox.net/images/busybox.jpeg [deleted file]
docs/busybox.net/images/busybox.png [deleted file]
docs/busybox.net/images/busybox1.png [deleted file]
docs/busybox.net/images/busybox2.jpg [deleted file]
docs/busybox.net/images/busybox2.png [deleted file]
docs/busybox.net/images/busybox3.jpg [deleted file]
docs/busybox.net/images/dir.png [deleted file]
docs/busybox.net/images/donate.png [deleted file]
docs/busybox.net/images/fm.mini.png [deleted file]
docs/busybox.net/images/gfx_by_gimp.png [deleted file]
docs/busybox.net/images/ltbutton2.png [deleted file]
docs/busybox.net/images/osuosl.png [deleted file]
docs/busybox.net/images/sdsmall.png [deleted file]
docs/busybox.net/images/text.png [deleted file]
docs/busybox.net/images/valid-html401.png [deleted file]
docs/busybox.net/images/vh40.gif [deleted file]
docs/busybox.net/images/written.in.vi.png [deleted file]
docs/busybox.net/index.html [deleted file]
docs/busybox.net/license.html [deleted file]
docs/busybox.net/links.html [deleted file]
docs/busybox.net/lists.html [deleted file]
docs/busybox.net/news.html [deleted file]
docs/busybox.net/oldnews.html [deleted file]
docs/busybox.net/products.html [deleted file]
docs/busybox.net/screenshot.html [deleted file]
docs/busybox.net/shame.html [deleted file]
docs/busybox.net/sponsors.html [deleted file]
docs/busybox.net/subversion.html [deleted file]
docs/busybox.net/svnindex.css [deleted file]
docs/busybox.net/svnindex.xsl [deleted file]
docs/busybox.net/tinyutils.html [deleted file]

diff --git a/docs/busybox.net/FAQ.html b/docs/busybox.net/FAQ.html
deleted file mode 100644 (file)
index 7ed1394..0000000
+++ /dev/null
@@ -1,1146 +0,0 @@
-<!--#include file="header.html" -->
-
-<h3>Frequently Asked Questions</h3>
-
-This is a collection of some of the more frequently asked questions
-about BusyBox.  Some of the questions even have answers. If you
-have additions to this FAQ document, we would love to add them,
-
-<h2>General questions</h2>
-<ol>
-<li><a href="#getting_started">How can I get started using BusyBox?</a></li>
-<li><a href="#configure">How do I configure busybox?</a></li>
-<li><a href="#build">How do I build BusyBox with a cross-compiler?</a></li>
-<li><a href="#build_system">How do I build a BusyBox-based system?</a></li>
-<li><a href="#kernel">Which Linux kernel versions are supported?</a></li>
-<li><a href="#arch">Which architectures does BusyBox run on?</a></li>
-<li><a href="#libc">Which C libraries are supported?</a></li>
-<li><a href="#commercial">Can I include BusyBox as part of the software on my device?</a></li>
-<li><a href="#external">Where can I find other small utilities since busybox does not include the features I want?</a></li>
-<li><a href="#demanding">I demand that you to add &lt;favorite feature&gt; right now!   How come you don't answer all my questions on the mailing list instantly?  I demand that you help me with all of my problems <em>Right Now</em>!</a></li>
-<li><a href="#helpme">I need help with BusyBox!  What should I do?</a></li>
-<li><a href="#contracts">I need you to add &lt;favorite feature&gt;!  Are the BusyBox developers willing to be paid in order to fix bugs or add in &lt;favorite feature&gt;?  Are you willing to provide support contracts?</a></li>
-</ol>
-
-<h2>Troubleshooting</h2>
-<ol>
-<li><a href="#bugs">I think I found a bug in BusyBox!  What should I do?!</a></li>
-<li><a href="#backporting">I'm using an ancient version from the dawn of time and something's broken.  Can you backport fixes for free?</a></li>
-<li><a href="#init">Busybox init isn't working!</a></li>
-<li><a href="#sed">I can't configure busybox on my system.</a></li>
-<li><a href="#job_control">Why do I keep getting "sh: can't access tty; job control turned off" errors?  Why doesn't Control-C work within my shell?</a></li>
-</ol>
-
-<h2>Misc. questions</h2>
-<ol>
-  <li><a href="#tz">How do I change the time zone in busybox?</a></li>
-</ol>
-
-<h2>Programming questions</h2>
-<ol>
-  <li><a href="#goals">What are the goals of busybox?</a></li>
-  <li><a href="#design">What is the design of busybox?</a></li>
-  <li><a href="#source">How is the source code organized?</a>
-    <ul>
-    <li><a href="#source_applets">The applet directories.</a></li>
-    <li><a href="#source_libbb">The busybox shared library (libbb)</a></li>
-    </ul>
-  </li>
-  <li><a href="#optimize">I want to make busybox even smaller, how do I go about it?</a></li>
-  <li><a href="#adding">Adding an applet to busybox</a></li>
-  <li><a href="#standards">What standards does busybox adhere to?</a></li>
-  <li><a href="#portability">Portability.</a></li>
-  <li><a href="#tips">Tips and tricks.</a>
-    <ul>
-    <li><a href="#tips_encrypted_passwords">Encrypted Passwords</a></li>
-    <li><a href="#tips_vfork">Fork and vfork</a></li>
-    <li><a href="#tips_short_read">Short reads and writes</a></li>
-    <li><a href="#tips_memory">Memory used by relocatable code, PIC, and static linking.</a></li>
-    <li><a href="#tips_kernel_headers">Including Linux kernel headers.</a></li>
-    </ul>
-  </li>
-  <li><a href="#who">Who are the BusyBox developers?</a></li>
-</ol>
-
-
-<hr />
-<h1>General questions</h1>
-
-<hr />
-<h2><a name="getting_started">How can I get started using BusyBox?</a></h2>
-
-<p> If you just want to try out busybox without installing it, download the
-    tarball, extract it, run "make defconfig", and then run "make".
-</p>
-<p>
-    This will create a busybox binary with almost all features enabled.  To try
-    out a busybox applet, type "./busybox [appletname] [options]", for
-    example "./busybox ls -l" or "./busybox cat LICENSE".  Type "./busybox"
-    to see a command list, and "busybox appletname --help" to see a brief
-    usage message for a given applet.
-</p>
-<p>
-    BusyBox uses the name it was invoked under to determine which applet is
-    being invoked.  (Try "mv busybox ls" and then "./ls -l".)  Installing
-    busybox consists of creating symlinks (or hardlinks) to the busybox
-    binary for each applet in busybox, and making sure these links are in
-    the shell's command $PATH.  The special applet name "busybox" (or with
-    any optional suffix, such as "busybox-static") uses the first argument
-    to determine which applet to run, as shown above.
-</p>
-<p>
-    BusyBox also has a feature called the
-    <a name="standalone_shell">"standalone shell"</a>, where the busybox
-    shell runs any built-in applets before checking the command path.  This
-    feature is also enabled by "make allyesconfig", and to try it out run
-    the command line "PATH= ./busybox ash".  This will blank your command path
-    and run busybox as your command shell, so the only commands it can find
-    (without an explicit path such as /bin/ls) are the built-in busybox ones.
-    This is another good way to see what's built into busybox.
-    Note that the standalone shell requires CONFIG_BUSYBOX_EXEC_PATH
-    to be set appropriately, depending on whether or not /proc/self/exe is
-    available or not. If you do not have /proc, then point that config option
-    to the location of your busybox binary, usually /bin/busybox.
-    (So if you set it to /proc/self/exe, and happen to be able to chroot into
-    your rootfs, you must mount /proc beforehand.)
-</p>
-<p>
-    A typical indication that you set CONFIG_BUSYBOX_EXEC_PATH to proc but
-    forgot to mount proc is:
-<pre>
-$ /bin/echo $PATH
-/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
-$ echo $PATH
-/bin/sh: echo: not found
-</pre>
-
-<hr />
-<h2><a name="configure">How do I configure busybox?</a></h2>
-
-<p> Busybox is configured similarly to the linux kernel.  Create a default
-    configuration and then run "make menuconfig" to modify it.  The end
-    result is a .config file that tells the busybox build process what features
-    to include.  So instead of "./configure; make; make install" the equivalent
-    busybox build would be "make defconfig; make; make install".
-</p>
-
-<p> Busybox configured with all features enabled is a little under a megabyte
-    dynamically linked on x86.  To create a smaller busybox, configure it with
-    fewer features.  Individual busybox applets cost anywhere from a few
-    hundred bytes to tens of kilobytes.  Disable unneeded applets to save,
-    space, using menuconfig.
-</p>
-
-<p>The most important busybox configurators are:</p>
-
-<ul>
-<li><p>make <b>defconfig</b> - Create the maximum "sane" configuration.  This
-enables almost all features, minus things like debugging options and features
-that require changes to the rest of the system to work (such as selinux or
-devfs device names).  Use this if you want to start from a full-featured
-busybox and remove features until it's small enough.</p></li>
-<li><p>make <b>allnoconfig</b> - Disable everything.  This creates a tiny version
-of busybox that doesn't do anything.  Start here if you know exactly what
-you want and would like to select only those features.</p></li>
-<li><p>make <b>menuconfig</b> - Interactively modify a .config file through a
-multi-level menu interface.  Use this after one of the previous two.</p></li>
-</ul>
-
-<p>Some other configuration options are:</p>
-<ul>
-<li><p>make <b>oldconfig</b> - Update an old .config file for a newer version
-of busybox.</p></li>
-<li><p>make <b>allyesconfig</b> - Select absolutely everything.  This creates
-a statically linked version of busybox full of debug code, with dependencies on
-selinux, using devfs names...  This makes sure everything compiles.  Whether
-or not the result would do anything useful is an open question.</p></li>
-<li><p>make <b>allbareconfig</b> - Select all applets but disable all sub-features
-within each applet.  More build coverage testing.</p></li>
-<li><p>make <b>randconfig</b> - Create a random configuration for test purposes.</p></li>
-</ul>
-
-<p> Menuconfig modifies your .config file through an interactive menu where you can enable or disable
-    busybox features, and get help about each feature.
-
-<p>
-    To build a smaller busybox binary, run "make menuconfig" and disable the
-    features you don't need.  (Or run "make allnoconfig" and then use
-    menuconfig to add just the features you need.  Don't forget to recompile
-    with "make" once you've finished configuring.)
-</p>
-
-<hr />
-<h2><a name="build">How do I build BusyBox with a cross-compiler?</a></h2>
-
-<p>
-   To build busybox with a cross-compiler, specify CROSS_COMPILE=&lt;prefix&gt;.
-</p>
-<p>
-   CROSS_COMPILE specifies the prefix used for all executables used
-   during compilation. Only gcc and related binutils executables
-   are prefixed with $(CROSS_COMPILE) in the makefiles.
-   CROSS_COMPILE can be set on the command line:
-</p>
-<pre>
-   make CROSS_COMPILE=arm-linux-uclibcgnueabi-
-</pre>
-<p>
-   Alternatively CROSS_COMPILE can be set in the environment.
-   Default value for CROSS_COMPILE is not to prefix executables.
-</p>
-<p>
-   To store the cross-compiler in your .config, set the variable
-   CONFIG_CROSS_COMPILER_PREFIX accordingly in menuconfig or by
-   editing the .config file.
-</p>
-
-<hr />
-<h2><a name="build_system">How do I build a BusyBox-based system?</a></h2>
-
-<p>
-    BusyBox is a package that replaces a dozen standard packages, but it is
-    not by itself a complete bootable system.  Building an entire Linux
-    distribution from source is a bit beyond the scope of this FAQ, but it
-    understandably keeps cropping up on the mailing list, so here are some
-    pointers.
-</p>
-<p>
-    Start by learning how to strip a working system down to the bare essentials
-    needed to run one or two commands, so you know what it is you actually
-    need.  An excellent practical place to do
-    this is the <a href="http://www.tldp.org/HOWTO/Bootdisk-HOWTO/">Linux
-    BootDisk Howto</a>, or for a more theoretical approach try
-    <a href="http://www.tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html">From
-    PowerUp to Bash Prompt</a>.
-</p>
-<p>
-    To learn how to build a working Linux system entirely from source code,
-    the place to go is the <a href="http://www.linuxfromscratch.org/">Linux
-    From Scratch</a> project.  They have an entire book of step-by-step
-    instructions you can
-    <a href="http://www.linuxfromscratch.org/lfs/view/stable/">read online</a>
-    or
-    <a href="http://www.linuxfromscratch.org/lfs/downloads/stable/">download</a>.
-    Be sure to check out the other sections of their main page, including
-    Beyond Linux From Scratch, Hardened Linux From Scratch, their Hints
-    directory, and their LiveCD project.  (They also have mailing lists which
-    are better sources of answers to Linux-system building questions than
-    the busybox list.)
-</p>
-<p>
-    If you want an automated yet customizable system builder which produces
-    a BusyBox and uClibc based system, try
-    <a href="http://buildroot.uclibc.org/">buildroot</a>, which is
-    another project by the maintainer of the uClibc (Erik Andersen).
-    Download the tarball, extract it, unset CC, make.
-    For more instructions, see the website.
-</p>
-
-<hr />
-<h2><a name="kernel">Which Linux kernel versions are supported?</a></h2>
-
-<p>
-    Full functionality requires Linux 2.4.x or better.  (Earlier versions may
-    still work, but are no longer regularly tested.)  A large fraction of the
-    code should run on just about anything.  While the current code is fairly
-    Linux specific, it should be fairly easy to port the majority of the code
-    to support, say, FreeBSD or Solaris, or Mac OS X, or even Windows (if you
-    are into that sort of thing).
-</p>
-
-<hr />
-<h2><a name="arch">Which architectures does BusyBox run on?</a></h2>
-
-<p>
-    BusyBox in general will build on any architecture supported by gcc.
-    Kernel module loading for 2.4 Linux kernels is currently
-    limited to ARM, CRIS, H8/300, x86, ia64, x86_64, m68k, MIPS, PowerPC,
-    S390, SH3/4/5, Sparc, v850e, and x86_64 for 2.4.x kernels.
-</p>
-<p>
-    With 2.6.x kernels, module loading support should work on all architectures.
-</p>
-
-<hr />
-<h2><a name="libc">Which C libraries are supported?</a></h2>
-
-<p>
-    On Linux, BusyBox releases are tested against uClibc (0.9.27 or later) and
-    glibc (2.2 or later).  Both should provide full functionality with busybox,
-    and if you find a bug we want to hear about it.
-</p>
-<p>
-    Linux-libc5 is no longer maintained (and has no known advantages over
-    uClibc), dietlibc is known to have numerous unfixed bugs, and klibc is
-    missing too many features to build BusyBox.  If you require a small C
-    library for Linux, the busybox developers recommend uClibc.
-</p>
-<p>
-    Some BusyBox applets have been built and run under a combination
-    of newlib and libgloss (see
-    <a href="http://www.busybox.net/lists/busybox/2005-March/013759.html">this thread</a>).
-    This is still experimental, but may be supported in a future release.
-</p>
-
-<hr />
-<h2><a name="commercial">Can I include BusyBox as part of the software on my device?</a></h2>
-
-<p>
-    Yes.  As long as you <a href="http://busybox.net/license.html">fully comply
-    with the generous terms of the GPL BusyBox license</a> you can ship BusyBox
-    as part of the software on your device.
-</p>
-
-<hr />
-<h2><a name="external">Where can I find other small utilities since busybox
-       does not include the features i want?</a></h2>
-
-<p>
-       we maintain such a <a href="tinyutils.html">list</a> on this site!
-</p>
-
-<hr />
-<h2><a name="demanding">I demand that you to add &lt;favorite feature&gt; right now!   How come you don't answer all my questions on the mailing list instantly?  I demand that you help me with all of my problems <em>Right Now</em>!</a></h2>
-
-<p>
-    You have not paid us a single cent and yet you still have the product of
-    many years of our work.  We are not your slaves!  We work on BusyBox
-    because we find it useful and interesting.  If you go off flaming us, we
-    will ignore you.
-
-<hr />
-<h2><a name="helpme">I need help with BusyBox!  What should I do?</a></h2>
-
-<p>
-    If you find that you need help with BusyBox, you can ask for help on the
-    BusyBox mailing list at busybox@busybox.net.</p>
-
-<p> In addition to the mailing list, Erik Andersen (andersee), Manuel Nova
-    (mjn3), Rob Landley (landley), Mike Frysinger (SpanKY),
-    Bernhard Reutner-Fischer (blindvt), and other long-time BusyBox developers
-    are known to hang out on the uClibc IRC channel: #uclibc on
-    irc.freenode.net. There is a
-    <a href="http://ibot.Rikers.org/%23uclibc/">web archive of
-    daily logs of the #uclibc IRC channel</a> going back to 2002.
-</p>
-
-<p>
-    <b>Please do not send private email to Rob, Erik, Manuel, or the other
-    BusyBox contributors asking for private help unless you are planning on
-    paying for consulting services.</b>
-</p>
-
-<p>
-    When we answer questions on the BusyBox mailing list, it helps everyone
-    since people with similar problems in the future will be able to get help
-    by searching the mailing list archives.  Private help is reserved as a paid
-    service.  If you need to use private communication, or if you are serious
-    about getting timely assistance with BusyBox, you should seriously consider
-    paying for consulting services.
-</p>
-
-<hr />
-<h2><a name="contracts">I need you to add &lt;favorite feature&gt;!  Are the BusyBox developers willing to be paid in order to fix bugs or add in &lt;favorite feature&gt;?  Are you willing to provide support contracts?</a></h2>
-
-<p>
-    Yes we are.  The easy way to sponsor a new feature is to post an offer on
-    the mailing list to see who's interested.  You can also email the project's
-    maintainer and ask them to recommend someone.
-</p>
-
-<hr />
-<h1>Troubleshooting</h1>
-
-<hr />
-<h2><a name="bugs">I think I found a bug in BusyBox!  What should I do?</a></h2>
-
-<p>
-    If you simply need help with using or configuring BusyBox, please submit a
-    detailed description of your problem to the BusyBox mailing list at <a
-    href="mailto:busybox@busybox.net">busybox@busybox.net</a>.
-    Please do not send email to individual developers asking
-    for private help unless you are planning on paying for consulting services.
-    When we answer questions on the BusyBox mailing list, it helps everyone,
-    while private answers help only you...
-</p>
-
-<p>
-    Bug reports and new feature patches sometimes get lost when posted to the
-    mailing list, because the developers of BusyBox are busy people and have
-    only so much they can keep in their brains at a time.   You can post a
-    polite reminder after 2-3 days without offending anybody.  If that doesn't
-    result in a solution, please use the
-    <a href="https://bugs.busybox.net/">BusyBox Bug
-    and Patch Tracking System</a> to submit a detailed explanation and we'll
-    get to it as soon as we can.
-</p>
-
-<p>
-    Note that bugs entered into the bug system without being mentioned on the
-    mailing list first may languish there for months before anyone even notices
-    them.  We generally go through the bug system when preparing for new
-    development releases, to see what fell through the cracks while we were
-    off writing new features.  (It's a fast/unreliable vs slow/reliable thing.
-    Saves retransits, but the latency sucks.)
-</p>
-
-<hr />
-<h2><a name="backporting">I'm using an ancient version from the dawn of time and something's broken.  Can you backport fixes for free?</a></h2>
-
-<p>Variants of this one get asked a lot.</p>
-
-<p>The purpose of the BusyBox mailing list is to develop and improve BusyBox,
-and we're happy to respond to our users' needs.  But if you're coming to the
-list for free tech support we're going to ask you to upgrade to a current
-version before we try to diagnose your problem.</p>
-
-<p>If you're building BusyBox 0.50 with uClibc 0.9.19 and gcc 1.27 there's a
-fairly large chance that whatever problem you're seeing has already been fixed.
-To get that fix, all you have to do is upgrade to a newer version.  If you
-don't at least _try_ that, you're wasting our time.</p>
-
-<p>The volunteers are happy to fix any bugs you point out in the current
-versions because doing so helps everybody and makes the project better.  We
-want to make the current version work for you.  But diagnosing, debugging, and
-backporting fixes to old versions isn't something we do for free, because it
-doesn't help anybody but you.  The cost of volunteer tech support is using a
-reasonably current version of the project.</p>
-
-<p>If you don't want to upgrade, you have the complete source code and thus
-the ability to fix it yourself, or hire a consultant to do it for you.  If you
-got your version from a vendor who still supports the older version, they can
-help you.  But there are limits as to what the volunteers will feel obliged to
-do for you.</p>
-
-<p>As a rule of thumb, volunteers will generally answer polite questions about
-a given version for about three years after its release before it's so old
-we don't remember the answer off the top of our head.  And if you want us to
-put any _effort_ into tracking it down, we want you to put in a little effort
-of your own by confirming it's still a problem with the current version.  It's
-also hard for us to fix a problem of yours if we can't reproduce it because
-we don't have any systems running an environment that old.</p>
-
-<p>A consultant will happily set up a special environment just to reproduce
-your problem, and you can always ask on the list if any of the developers
-have consulting rates.</p>
-
-<hr />
-<h2><a name="init">Busybox init isn't working!</a></h2>
-
-<p>
-    Init is the first program that runs, so it might be that no programs are
-    working on your new system because of a problem with your cross-compiler,
-    kernel, console settings, shared libraries, root filesystem...  To rule all
-    that out, first build a statically linked version of the following "hello
-    world" program with your cross compiler toolchain:
-</p>
-<pre>
-#include &lt;stdio.h&gt;
-
-int main(int argc, char *argv)
-{
-  printf("Hello world!\n");
-  sleep(999999999);
-}
-</pre>
-
-<p>
-    Now try to boot your device with an "init=" argument pointing to your
-    hello world program.  Did you see the hello world message?  Until you
-    do, don't bother messing with busybox init.
-</p>
-
-<p>
-    Once you've got it working statically linked, try getting it to work
-    dynamically linked.  Then read the FAQ entry <a href="#build_system">How
-    do I build a BusyBox-based system?</a>, and the
-    <a href="/downloads/BusyBox.html#item_init">documentation for BusyBox
-    init</a>.
-</p>
-
-<hr />
-<h2><a name="sed">I can't configure busybox on my system.</a></h2>
-
-<p>
-    Configuring Busybox depends on a recent version of sed.  Older
-    distributions (Red Hat 7.2, Debian 3.0) may not come with a
-    usable version.  Luckily BusyBox can use its own sed to configure itself,
-    although this leads to a bit of a chicken and egg problem.
-    You can work around this by hand-configuring busybox to build with just
-    sed, then putting that sed in your path to configure the rest of busybox
-    with, like so:
-</p>
-
-<pre>
-  tar xvjf sources/busybox-x.x.x.tar.bz2
-  cd busybox-x.x.x
-  make allnoconfig
-  make include/bb_config.h
-  echo "CONFIG_SED=y" >> .config
-  echo "#undef ENABLE_SED" >> include/bb_config.h
-  echo "#define ENABLE_SED 1" >> include/bb_config.h
-  make
-  mv busybox sed
-  export PATH=`pwd`:"$PATH"
-</pre>
-
-<p>Then you can run "make defconfig" or "make menuconfig" normally.</p>
-
-<hr />
-<h2><a name="job_control">Why do I keep getting "sh: can't access tty; job control turned off" errors?  Why doesn't Control-C work within my shell?</a></h2>
-
-<p>
-    Job control will be turned off since your shell can not obtain a controlling
-    terminal.  This typically happens when you run your shell on /dev/console.
-    The kernel will not provide a controlling terminal on the /dev/console
-    device.  Your should run your shell on a normal tty such as tty1 or ttyS0
-    and everything will work perfectly.  If you <em>REALLY</em> want your shell
-    to run on /dev/console, then you can hack your kernel (if you are into that
-    sortof thing) by changing drivers/char/tty_io.c to change the lines where
-    it sets "noctty = 1;" to instead set it to "0".  I recommend you instead
-    run your shell on a real console...
-</p>
-
-<hr />
-<h1>Misc. questions</h1>
-
-<hr />
-<h2><a name="tz">How do I change the time zone in busybox?</a></h2>
-
-<p>Busybox has nothing to do with the timezone. Please consult your libc
-documentation. (<a href="http://google.com/search?q=uclibc+glibc+timezone">http://google.com/search?q=uclibc+glibc+timezone</a>).</p>
-
-<hr />
-<h1>Development</h1>
-
-<hr />
-<h2><a name="goals">What are the goals of busybox?</a></h2>
-
-<p>Busybox aims to be the smallest and simplest correct implementation of the
-standard Linux command line tools.  First and foremost, this means the
-smallest executable size we can manage.  We also want to have the simplest
-and cleanest implementation we can manage, be <a href="#standards">standards
-compliant</a>, minimize run-time memory usage (heap and stack), run fast, and
-take over the world.</p>
-
-<hr />
-<h2><a name="design">What is the design of busybox?</a></h2>
-
-<p>Busybox is like a swiss army knife: one thing with many functions.
-The busybox executable can act like many different programs depending on
-the name used to invoke it.  Normal practice is to create a bunch of symlinks
-pointing to the busybox binary, each of which triggers a different busybox
-function.  (See <a href="FAQ.html#getting_started">getting started</a> in the
-FAQ for more information on usage, and <a href="BusyBox.html">the
-busybox documentation</a> for a list of symlink names and what they do.)
-
-<p>The "one binary to rule them all" approach is primarily for size reasons: a
-single multi-purpose executable is smaller then many small files could be.
-This way busybox only has one set of ELF headers, it can easily share code
-between different apps even when statically linked, it has better packing
-efficiency by avoding gaps between files or compression dictionary resets,
-and so on.</p>
-
-<p>Work is underway on new options such as "make standalone" to build separate
-binaries for each applet, and a "libbb.so" to make the busybox common code
-available as a shared library.  Neither is ready yet at the time of this
-writing.</p>
-
-<a name="source"></a>
-
-<hr />
-<h2><a name="source_applets">The applet directories</a></h2>
-
-<p>The directory "applets" contains the busybox startup code (applets.c and
-busybox.c), and several subdirectories containing the code for the individual
-applets.</p>
-
-<p>Busybox execution starts with the main() function in applets/busybox.c,
-which sets the global variable applet_name to argv[0] and calls
-run_applet_and_exit() in applets/applets.c.  That uses the applets[] array
-(defined in include/busybox.h and filled out in include/applets.h) to
-transfer control to the appropriate APPLET_main() function (such as
-cat_main() or sed_main()).  The individual applet takes it from there.</p>
-
-<p>This is why calling busybox under a different name triggers different
-functionality: main() looks up argv[0] in applets[] to get a function pointer
-to APPLET_main().</p>
-
-<p>Busybox applets may also be invoked through the multiplexor applet
-"busybox" (see busybox_main() in libbb/appletlib.c), and through the
-standalone shell (grep for STANDALONE_SHELL in applets/shell/*.c).
-See <a href="FAQ.html#getting_started">getting started</a> in the
-FAQ for more information on these alternate usage mechanisms, which are
-just different ways to reach the relevant APPLET_main() function.</p>
-
-<p>The applet subdirectories (archival, console-tools, coreutils,
-debianutils, e2fsprogs, editors, findutils, init, loginutils, miscutils,
-modutils, networking, procps, shell, sysklogd, and util-linux) correspond
-to the configuration sub-menus in menuconfig.  Each subdirectory contains the
-code to implement the applets in that sub-menu, as well as a Config.in
-file defining that configuration sub-menu (with dependencies and help text
-for each applet), and the makefile segment (Makefile.in) for that
-subdirectory.</p>
-
-<p>The run-time --help is stored in usage_messages[], which is initialized at
-the start of applets/applets.c and gets its help text from usage.h.  During the
-build this help text is also used to generate the BusyBox documentation (in
-html, txt, and man page formats) in the docs directory.  See
-<a href="#adding">adding an applet to busybox</a> for more
-information.</p>
-
-<hr />
-<h2><a name="source_libbb"><b>libbb</b></a></h2>
-
-<p>Most non-setup code shared between busybox applets lives in the libbb
-directory.  It's a mess that evolved over the years without much auditing
-or cleanup.  For anybody looking for a great project to break into busybox
-development with, documenting libbb would be both incredibly useful and good
-experience.</p>
-
-<p>Common themes in libbb include allocation functions that test
-for failure and abort the program with an error message so the caller doesn't
-have to test the return value (xmalloc(), xstrdup(), etc), wrapped versions
-of open(), close(), read(), and write() that test for their own failures
-and/or retry automatically, linked list management functions (llist.c),
-command line argument parsing (getopt32.c), and a whole lot more.</p>
-
-<hr />
-<h2><a name="optimize">I want to make busybox even smaller, how do I go about it?</a></h2>
-
-<p>
-       To conserve bytes it's good to know where they're being used, and the
-       size of the final executable isn't always a reliable indicator of
-       the size of the components (since various structures are rounded up,
-       so a small change may not even be visible by itself, but many small
-       savings add up).
-</p>
-
-<p>     The busybox Makefile builds two versions of busybox, one of which
-        (busybox_unstripped) has extra information that various analysis tools
-        can use.  (This has nothing to do with CONFIG_DEBUG, leave that off
-        when trying to optimize for size.)
-</p>
-
-<p>     The <b>"make bloatcheck"</b> option uses Matt Mackall's bloat-o-meter
-        script to compare two versions of busybox (busybox_unstripped vs
-        busybox_old), and report which symbols changed size and by how much.
-        To use it, first build a base version with <b>"make baseline"</b>.
-        (This creates busybox_old, which should have the original sizes for
-        comparison purposes.)  Then build the new version with your changes
-        and run "make bloatcheck" to see the size differences from the old
-        version.
-</p>
-<p>
-        The first line of output has totals: how many symbols were added or
-        removed, how many symbols grew or shrank, the number of bytes added
-        and number of bytes removed by these changes, and finally the total
-        number of bytes difference between the two files.  The remaining
-        lines show each individual symbol, the old and new sizes, and the
-        increase or decrease in size (which results are sorted by).
-</p>
-<p>
-       The <b>"make sizes"</b> option produces raw symbol size information for
-        busybox_unstripped.  This is the output from the "nm --size-sort"
-        command (see "man nm" for more information), and is the information
-        bloat-o-meter parses to produce the comparison report above.  For
-        defconfig, this is a good way to find the largest symbols in the tree
-        (which is a good place to start when trying to shrink the code).  To
-        take a closer look at individual applets, configure busybox with just
-        one applet (run "make allnoconfig" and then switch on a single applet
-        with menuconfig), and then use "make sizes" to see the size of that
-        applet's components.
-</p>
-<p>
-        The "showasm" command (in the scripts directory) produces an assembly
-        dump of a function, providing a closer look at what changed.  Try
-        "scripts/showasm busybox_unstripped" to list available symbols, and
-        "scripts/showasm busybox_unstripped symbolname" to see the assembly
-        for a sepecific symbol.
-</p>
-
-<hr />
-<h2><a name="adding">Adding an applet to busybox</a></h2>
-
-<p>To add a new applet to busybox, first pick a name for the applet and
-a corresponding CONFIG_NAME.  Then do this:</p>
-
-<ul>
-<li>Figure out where in the busybox source tree your applet best fits,
-and put your source code there.  Be sure to use APPLET_main() instead
-of main(), where APPLET is the name of your applet.</li>
-
-<li>Add your applet to the relevant Config.in file (which file you add
-it to determines where it shows up in "make menuconfig").  This uses
-the same general format as the linux kernel's configuration system.</li>
-
-<li>Add your applet to the relevant Makefile.in file (in the same
-directory as the Config.in you chose), using the existing entries as a
-template and the same CONFIG symbol as you used for Config.in.  (Don't
-forget "needlibm" or "needcrypt" if your applet needs libm or
-libcrypt.)</li>
-
-<li>Add your applet to "include/applets.h", using one of the existing
-entries as a template.  (Note: this is in alphabetical order.  Applets
-are found via binary search, and if you add an applet out of order it
-won't work.)</li>
-
-<li>Add your applet's runtime help text to "include/usage.h".  You need
-at least appname_trivial_usage (the minimal help text, always included
-in the busybox binary when this applet is enabled) and appname_full_usage
-(extra help text included in the busybox binary with
-CONFIG_FEATURE_VERBOSE_USAGE is enabled), or it won't compile.
-The other two help entry types (appname_example_usage and
-appname_notes_usage) are optional.  They don't take up space in the binary,
-but instead show up in the generated documentation (BusyBox.html,
-BusyBox.txt, and the man page BusyBox.1).</li>
-
-<li>Run menuconfig, switch your applet on, compile, test, and fix the
-bugs.  Be sure to try both "allyesconfig" and "allnoconfig" (and
-"allbareconfig" if relevant).</li>
-
-</ul>
-
-<hr />
-<h2><a name="standards">What standards does busybox adhere to?</a></h2>
-
-<p>The standard we're paying attention to is the "Shell and Utilities"
-portion of the <a href="http://www.opengroup.org/onlinepubs/009695399/">Open
-Group Base Standards</a> (also known as the Single Unix Specification version
-3 or SUSv3).  Note that paying attention isn't necessarily the same thing as
-following it.</p>
-
-<p>SUSv3 doesn't even mention things like init, mount, tar, or losetup, nor
-commonly used options like echo's '-e' and '-n', or sed's '-i'.  Busybox is
-driven by what real users actually need, not the fact the standard believes
-we should implement ed or sccs.  For size reasons, we're unlikely to include
-much internationalization support beyond UTF-8, and on top of all that, our
-configuration menu lets developers chop out features to produce smaller but
-very non-standard utilities.</p>
-
-<p>Also, Busybox is aimed primarily at Linux.  Unix standards are interesting
-because Linux tries to adhere to them, but portability to dozens of platforms
-is only interesting in terms of offering a restricted feature set that works
-everywhere, not growing dozens of platform-specific extensions.  Busybox
-should be portable to all hardware platforms Linux supports, and any other
-similar operating systems that are easy to do and won't require much
-maintenance.</p>
-
-<p>In practice, standards compliance tends to be a clean-up step once an
-applet is otherwise finished.  When polishing and testing a busybox applet,
-we ensure we have at least the option of full standards compliance, or else
-document where we (intentionally) fall short.</p>
-
-<hr />
-<h2><a name="portability">Portability.</a></h2>
-
-<p>Busybox is a Linux project, but that doesn't mean we don't have to worry
-about portability.  First of all, there are different hardware platforms,
-different C library implementations, different versions of the kernel and
-build toolchain...  The file "include/platform.h" exists to centralize and
-encapsulate various platform-specific things in one place, so most busybox
-code doesn't have to care where it's running.</p>
-
-<p>To start with, Linux runs on dozens of hardware platforms.  We try to test
-each release on x86, x86-64, arm, power pc, and mips.  (Since qemu can handle
-all of these, this isn't that hard.)  This means we have to care about a number
-of portability issues like endianness, word size, and alignment, all of which
-belong in platform.h.  That header handles conditional #includes and gives
-us macros we can use in the rest of our code.  At some point in the future
-we might grow a platform.c, possibly even a platform subdirectory.  As long
-as the applets themselves don't have to care.</p>
-
-<p>On a related note, we made the "default signedness of char varies" problem
-go away by feeding the compiler -funsigned-char.  This gives us consistent
-behavior on all platforms, and defaults to 8-bit clean text processing (which
-gets us halfway to UTF-8 support).  NOMMU support is less easily separated
-(see the tips section later in this document), but we're working on it.</p>
-
-<p>Another type of portability is build environments: we unapologetically use
-a number of gcc and glibc extensions (as does the Linux kernel), but these have
-been picked up by packages like uClibc, TCC, and Intel's C Compiler.  As for
-gcc, we take advantage of newer compiler optimizations to get the smallest
-possible size, but we also regression test against an older build environment
-using the Red Hat 9 image at "http://busybox.net/downloads/qemu".  This has a
-2.4 kernel, gcc 3.2, make 3.79.1, and glibc 2.3, and is the oldest
-build/deployment environment we still put any effort into maintaining.  (If
-anyone takes an interest in older kernels you're welcome to submit patches,
-but the effort would probably be better spent
-<a href="http://www.selenic.com/linux-tiny/">trimming
-down the 2.6 kernel</a>.)  Older gcc versions than that are uninteresting since
-we now use c99 features, although
-<a href="http://fabrice.bellard.free.fr/tcc/">tcc</a> might be worth a
-look.</p>
-
-<p>We also test busybox against the current release of uClibc.  Older versions
-of uClibc aren't very interesting (they were buggy, and uClibc wasn't really
-usable as a general-purpose C library before version 0.9.26 anyway).</p>
-
-<p>Other unix implementations are mostly uninteresting, since Linux binaries
-have become the new standard for portable Unix programs.  Specifically,
-the ubiquity of Linux was cited as the main reason the Intel Binary
-Compatability Standard 2 died, by the standards group organized to name a
-successor to ibcs2: <a href="http://www.telly.org/86open/">the 86open
-project</a>.  That project disbanded in 1999 with the endorsement of an
-existing standard: Linux ELF binaries.  Since then, the major players at the
-time (such as <a
-href="http://www-03.ibm.com/servers/aix/products/aixos/linux/index.html">AIX</a>, <a
-href="http://www.sun.com/software/solaris/ds/linux_interop.jsp#3">Solaris</a>, and
-<a href="http://www.onlamp.com/pub/a/bsd/2000/03/17/linuxapps.html">FreeBSD</a>)
-have all either grown Linux support or folded.</p>
-
-<p>The major exceptions are newcomer MacOS X, some embedded environments
-(such as newlib+libgloss) which provide a posix environment but not a full
-Linux environment, and environments like Cygwin that provide only partial Linux
-emulation.  Also, some embedded Linux systems run a Linux kernel but amputate
-things like the /proc directory to save space.</p>
-
-<p>Supporting these systems is largely a question of providing a clean subset
-of BusyBox's functionality -- whichever applets can easily be made to
-work in that environment.  Annotating the configuration system to
-indicate which applets require which prerequisites (such as procfs) is
-also welcome.  Other efforts to support these systems (swapping #include
-files to build in different environments, adding adapter code to platform.h,
-adding more extensive special-case supporting infrastructure such as mount's
-legacy mtab support) are handled on a case-by-case basis.  Support that can be
-cleanly hidden in platform.h is reasonably attractive, and failing that
-support that can be cleanly separated into a separate conditionally compiled
-file is at least worth a look.  Special-case code in the body of an applet is
-something we're trying to avoid.</p>
-
-<hr />
-<h2><a name="tips">Programming tips and tricks.</a></h2>
-
-<p>Various things busybox uses that aren't particularly well documented
-elsewhere.</p>
-
-<hr />
-<h2><a name="tips_encrypted_passwords">Encrypted Passwords</a></h2>
-
-<p>Password fields in /etc/passwd and /etc/shadow are in a special format.
-If the first character isn't '$', then it's an old DES style password.  If
-the first character is '$' then the password is actually three fields
-separated by '$' characters:</p>
-<pre>
-  <b>$type$salt$encrypted_password</b>
-</pre>
-
-<p>The "type" indicates which encryption algorithm to use: 1 for MD5 and 2 for SHA1.</p>
-
-<p>The "salt" is a bunch of ramdom characters (generally 8) the encryption
-algorithm uses to perturb the password in a known and reproducible way (such
-as by appending the random data to the unencrypted password, or combining
-them with exclusive or).  Salt is randomly generated when setting a password,
-and then the same salt value is re-used when checking the password.  (Salt is
-thus stored unencrypted.)</p>
-
-<p>The advantage of using salt is that the same cleartext password encrypted
-with a different salt value produces a different encrypted value.
-If each encrypted password uses a different salt value, an attacker is forced
-to do the cryptographic math all over again for each password they want to
-check.  Without salt, they could simply produce a big dictionary of commonly
-used passwords ahead of time, and look up each password in a stolen password
-file to see if it's a known value.  (Even if there are billions of possible
-passwords in the dictionary, checking each one is just a binary search against
-a file only a few gigabytes long.)  With salt they can't even tell if two
-different users share the same password without guessing what that password
-is and decrypting it.  They also can't precompute the attack dictionary for
-a specific password until they know what the salt value is.</p>
-
-<p>The third field is the encrypted password (plus the salt).  For md5 this
-is 22 bytes.</p>
-
-<p>The busybox function to handle all this is pw_encrypt(clear, salt) in
-"libbb/pw_encrypt.c".  The first argument is the clear text password to be
-encrypted, and the second is a string in "$type$salt$password" format, from
-which the "type" and "salt" fields will be extracted to produce an encrypted
-value.  (Only the first two fields are needed, the third $ is equivalent to
-the end of the string.)  The return value is an encrypted password in
-/etc/passwd format, with all three $ separated fields.  It's stored in
-a static buffer, 128 bytes long.</p>
-
-<p>So when checking an existing password, if pw_encrypt(text,
-old_encrypted_password) returns a string that compares identical to
-old_encrypted_password, you've got the right password.  When setting a new
-password, generate a random 8 character salt string, put it in the right
-format with sprintf(buffer, "$%c$%s", type, salt), and feed buffer as the
-second argument to pw_encrypt(text,buffer).</p>
-
-<hr />
-<h2><a name="tips_vfork">Fork and vfork</a></h2>
-
-<p>On systems that haven't got a Memory Management Unit, fork() is unreasonably
-expensive to implement (and sometimes even impossible), so a less capable
-function called vfork() is used instead.  (Using vfork() on a system with an
-MMU is like pounding a nail with a wrench.  Not the best tool for the job, but
-it works.)</p>
-
-<p>Busybox hides the difference between fork() and vfork() in
-libbb/bb_fork_exec.c.  If you ever want to fork and exec, use bb_fork_exec()
-(which returns a pid and takes the same arguments as execve(), although in
-this case envp can be NULL) and don't worry about it.  This description is
-here in case you want to know why that does what it does.</p>
-
-<p>Implementing fork() depends on having a Memory Management Unit.  With an
-MMU then you can simply set up a second set of page tables and share the
-physical memory via copy-on-write.  So a fork() followed quickly by exec()
-only copies a few pages of the parent's memory, just the ones it changes
-before freeing them.</p>
-
-<p>With a very primitive MMU (using a base pointer plus length instead of page
-tables, which can provide virtual addresses and protect processes from each
-other, but no copy on write) you can still implement fork.  But it's
-unreasonably expensive, because you have to copy all the parent process'
-memory into the new process (which could easily be several megabytes per fork).
-And you have to do this even though that memory gets freed again as soon as the
-exec happens.  (This is not just slow and a waste of space but causes memory
-usage spikes that can easily cause the system to run out of memory.)</p>
-
-<p>Without even a primitive MMU, you have no virtual addresses.  Every process
-can reach out and touch any other process' memory, because all pointers are to
-physical addresses with no protection.  Even if you copy a process' memory to
-new physical addresses, all of its pointers point to the old objects in the
-old process.  (Searching through the new copy's memory for pointers and
-redirect them to the new locations is not an easy problem.)</p>
-
-<p>So with a primitive or missing MMU, fork() is just not a good idea.</p>
-
-<p>In theory, vfork() is just a fork() that writeably shares the heap and stack
-rather than copying it (so what one process writes the other one sees).  In
-practice, vfork() has to suspend the parent process until the child does exec,
-at which point the parent wakes up and resumes by returning from the call to
-vfork().  All modern kernel/libc combinations implement vfork() to put the
-parent to sleep until the child does its exec.  There's just no other way to
-make it work: the parent has to know the child has done its exec() or exit()
-before it's safe to return from the function it's in, so it has to block
-until that happens.  In fact without suspending the parent there's no way to
-even store separate copies of the return value (the pid) from the vfork() call
-itself: both assignments write into the same memory location.</p>
-
-<p>One way to understand (and in fact implement) vfork() is this: imagine
-the parent does a setjmp and then continues on (pretending to be the child)
-until the exec() comes around, then the _exec_ does the actual fork, and the
-parent does a longjmp back to the original vfork call and continues on from
-there.  (It thus becomes obvious why the child can't return, or modify
-local variables it doesn't want the parent to see changed when it resumes.)
-
-<p>Note a common mistake: the need for vfork doesn't mean you can't have two
-processes running at the same time.  It means you can't have two processes
-sharing the same memory without stomping all over each other.  As soon as
-the child calls exec(), the parent resumes.</p>
-
-<p>If the child's attempt to call exec() fails, the child should call _exit()
-rather than a normal exit().  This avoids any atexit() code that might confuse
-the parent.  (The parent should never call _exit(), only a vforked child that
-failed to exec.)</p>
-
-<p>(Now in theory, a nommu system could just copy the _stack_ when it forks
-(which presumably is much shorter than the heap), and leave the heap shared.
-Even with no MMU at all
-In practice, you've just wound up in a multi-threaded situation and you can't
-do a malloc() or free() on your heap without freeing the other process' memory
-(and if you don't have the proper locking for being threaded, corrupting the
-heap if both of you try to do it at the same time and wind up stomping on
-each other while traversing the free memory lists).  The thing about vfork is
-that it's a big red flag warning "there be dragons here" rather than
-something subtle and thus even more dangerous.)</p>
-
-<hr />
-<h2><a name="tips_sort_read">Short reads and writes</a></h2>
-
-<p>Busybox has special functions, bb_full_read() and bb_full_write(), to
-check that all the data we asked for got read or written.  Is this a real
-world consideration?  Try the following:</p>
-
-<pre>while true; do echo hello; sleep 1; done | tee out.txt</pre>
-
-<p>If tee is implemented with bb_full_read(), tee doesn't display output
-in real time but blocks until its entire input buffer (generally a couple
-kilobytes) is read, then displays it all at once.  In that case, we _want_
-the short read, for user interface reasons.  (Note that read() should never
-return 0 unless it has hit the end of input, and an attempt to write 0
-bytes should be ignored by the OS.)</p>
-
-<p>As for short writes, play around with two processes piping data to each
-other on the command line (cat bigfile | gzip &gt; out.gz) and suspend and
-resume a few times (ctrl-z to suspend, "fg" to resume).  The writer can
-experience short writes, which are especially dangerous because if you don't
-notice them you'll discard data.  They can also happen when a system is under
-load and a fast process is piping to a slower one.  (Such as an xterm waiting
-on x11 when the scheduler decides X is being a CPU hog with all that
-text console scrolling...)</p>
-
-<p>So will data always be read from the far end of a pipe at the
-same chunk sizes it was written in?  Nope.  Don't rely on that.  For one
-counterexample, see <a href="http://www.faqs.org/rfcs/rfc896.html">rfc 896
-for Nagle's algorithm</a>, which waits a fraction of a second or so before
-sending out small amounts of data through a TCP/IP connection in case more
-data comes in that can be merged into the same packet.  (In case you were
-wondering why action games that use TCP/IP set TCP_NODELAY to lower the latency
-on their their sockets, now you know.)</p>
-
-<hr />
-<h2><a name="tips_memory">Memory used by relocatable code, PIC, and static linking.</a></h2>
-
-<p>The downside of standard dynamic linking is that it results in self-modifying
-code.  Although each executable's pages are mmaped() into a process' address
-space from the executable file and are thus naturally shared between processes
-out of the page cache, the library loader (ld-linux.so.2 or ld-uClibc.so.0)
-writes to these pages to supply addresses for relocatable symbols.  This
-dirties the pages, triggering copy-on-write allocation of new memory for each
-processes' dirtied pages.</p>
-
-<p>One solution to this is Position Independent Code (PIC), a way of linking
-a file so all the relocations are grouped together.  This dirties fewer
-pages (often just a single page) for each process' relocations.  The down
-side is this results in larger executables, which take up more space on disk
-(and a correspondingly larger space in memory).  But when many copies of the
-same program are running, PIC dynamic linking trades a larger disk footprint
-for a smaller memory footprint, by sharing more pages.</p>
-
-<p>A third solution is static linking.  A statically linked program has no
-relocations, and thus the entire executable is shared between all running
-instances.  This tends to have a significantly larger disk footprint, but
-on a system with only one or two executables, shared libraries aren't much
-of a win anyway.</p>
-
-<p>You can tell the glibc linker to display debugging information about its
-relocations with the environment variable "LD_DEBUG".  Try
-"LD_DEBUG=help /bin/true" for a list of commands.  Learning to interpret
-"LD_DEBUG=statistics cat /proc/self/statm" could be interesting.</p>
-
-<p>For more on this topic, here's Rich Felker:</p>
-<blockquote>
-<p>Dynamic linking (without fixed load addresses) fundamentally requires
-at least one dirty page per dso that uses symbols. Making calls (but
-never taking the address explicitly) to functions within the same dso
-does not require a dirty page by itself, but will with ELF unless you
-use -Bsymbolic or hidden symbols when linking.</p>
-
-<p>ELF uses significant additional stack space for the kernel to pass all
-the ELF data structures to the newly created process image. These are
-located above the argument list and environment. This normally adds 1
-dirty page to the process size.</p>
-
-<p>The ELF dynamic linker has its own data segment, adding one or more
-dirty pages. I believe it also performs relocations on itself.</p>
-
-<p>The ELF dynamic linker makes significant dynamic allocations to manage
-the global symbol table and the loaded dso's. This data is never
-freed. It will be needed again if libdl is used, so unconditionally
-freeing it is not possible, but normal programs do not use libdl. Of
-course with glibc all programs use libdl (due to nsswitch) so the
-issue was never addressed.</p>
-
-<p>ELF also has the issue that segments are not page-aligned on disk.
-This saves up to 4k on disk, but at the expense of using an additional
-dirty page in most cases, due to a large portion of the first data
-page being filled with a duplicate copy of the last text page.</p>
-
-<p>The above is just a partial list of the tiny memory penalties of ELF
-dynamic linking, which eventually add up to quite a bit. The smallest
-I've been able to get a process down to is 8 dirty pages, and the
-above factors seem to mostly account for it (but some were difficult
-to measure).</p>
-</blockquote>
-
-<hr />
-<h2><a name="tips_kernel_headers"></a>Including kernel headers</h2>
-
-<p>The &quot;linux&quot; or &quot;asm&quot; directories of /usr/include
-contain Linux kernel
-headers, so that the C library can talk directly to the Linux kernel.  In
-a perfect world, applications shouldn't include these headers directly, but
-we don't live in a perfect world.</p>
-
-<p>For example, Busybox's losetup code wants linux/loop.c because nothing else
-#defines the structures to call the kernel's loopback device setup ioctls.
-Attempts to cut and paste the information into a local busybox header file
-proved incredibly painful, because portions of the loop_info structure vary by
-architecture, namely the type __kernel_dev_t has different sizes on alpha,
-arm, x86, and so on.  Meaning we either #include &lt;linux/posix_types.h&gt; or
-we hardwire #ifdefs to check what platform we're building on and define this
-type appropriately for every single hardware architecture supported by
-Linux, which is simply unworkable.</p>
-
-<p>This is aside from the fact that the relevant type defined in
-posix_types.h was renamed to __kernel_old_dev_t during the 2.5 series, so
-to cut and paste the structure into our header we have to #include
-&lt;linux/version.h&gt; to figure out which name to use.  (What we actually
-do is
-check if we're building on 2.6, and if so just use the new 64 bit structure
-instead to avoid the rename entirely.)  But we still need the version
-check, since 2.4 didn't have the 64 bit structure.</p>
-
-<p>The BusyBox developers spent <u>two years</u> trying to figure
-out a clean way to do all this.  There isn't one.  The losetup in the
-util-linux package from kernel.org isn't doing it cleanly either, they just
-hide the ugliness by nesting #include files.  Their mount/loop.h
-#includes &quot;my_dev_t.h&quot;, which #includes &lt;linux/posix_types.h&gt;
-and &lt;linux/version.h&gt; just like we do.  There simply is no alternative.
-</p>
-
-<p>Just because directly #including kernel headers is sometimes
-unavoidable doesn't me we should include them when there's a better
-way to do it.  However, block copying information out of the kernel headers
-is not a better way.</p>
-
-<hr />
-<h2><a name="who">Who are the BusyBox developers?</a></h2>
-
-<p>The following login accounts currently exist on busybox.net.  (I.E. these
-people can commit <a href="http://busybox.net/downloads/patches/">patches</a>
-into subversion for the BusyBox, uClibc, and buildroot projects.)</p>
-
-<pre>
-aldot     :Bernhard Reutner-Fischer
-andersen  :Erik Andersen      - uClibc and BuildRoot maintainer.
-bug1      :Glenn McGrath
-davidm    :David McCullough
-gkajmowi  :Garrett Kajmowicz  - uClibc++ maintainer
-jbglaw    :Jan-Benedict Glaw
-jocke     :Joakim Tjernlund
-landley   :Rob Landley
-lethal    :Paul Mundt
-mjn3      :Manuel Novoa III
-osuadmin  :osuadmin
-pgf       :Paul Fox
-pkj       :Peter Kjellerstedt
-prpplague :David Anders
-psm       :Peter S. Mazinger
-russ      :Russ Dill
-sandman   :Robert Griebl
-sjhill    :Steven J. Hill
-solar     :Ned Ludd
-timr      :Tim Riker
-tobiasa   :Tobias Anderberg
-vapier    :Mike Frysinger
-vda       :Denys Vlasenko     - BusyBox maintainer
-</pre>
-
-<p>The following accounts used to exist on busybox.net, but don't anymore so
-I can't ask /etc/passwd for their names.  Rob Wentworth
-&lt;robwen at gmail.com&gt; asked Google and recovered the names:</p>
-
-<pre>
-aaronl   :Aaron Lehmann
-beppu    :John Beppu
-dwhedon  :David Whedon
-erik     :Erik Andersen
-gfeldman :Gennady Feldman
-jimg     :Jim Gleason
-kraai    :Matt Kraai
-markw    :Mark Whitley
-miles    :Miles Bader
-proski   :Pavel Roskin
-rjune    :Richard June
-tausq    :Randolph Chung
-vodz     :Vladimir N. Oleynik
-</pre>
-
-
-<br>
-<br>
-<br>
-
-<!--#include file="footer.html" -->
diff --git a/docs/busybox.net/about.html b/docs/busybox.net/about.html
deleted file mode 100644 (file)
index 35809c3..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--#include file="header.html" -->
-
-<h3>BusyBox: The Swiss Army Knife of Embedded Linux</h3>
-
-<p>BusyBox combines tiny versions of many common UNIX utilities into a single
-small executable. It provides replacements for most of the utilities you
-usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox
-generally have fewer options than their full-featured GNU cousins; however,
-the options that are included provide the expected functionality and behave
-very much like their GNU counterparts.  BusyBox provides a fairly complete
-environment for any small or embedded system.</p>
-
-<p>BusyBox has been written with size-optimization and limited resources in
-mind. It is also extremely modular so you can easily include or exclude
-commands (or features) at compile time. This makes it easy to customize
-your embedded systems. To create a working system, just add some device
-nodes in /dev, a few configuration files in /etc, and a Linux kernel.</p>
-
-<p>BusyBox is maintained by
-<a href="mailto:vda.linux@googlemail.com">Denys Vlasenko</a>,
-and licensed under the <a href="license.html">GNU GENERAL PUBLIC LICENSE</a>
-version 2.</p>
-
-<!--#include file="footer.html" -->
diff --git a/docs/busybox.net/busybox-growth.ps b/docs/busybox.net/busybox-growth.ps
deleted file mode 100644 (file)
index 2379def..0000000
+++ /dev/null
@@ -1,404 +0,0 @@
-%!PS-Adobe-2.0
-%%Title: busybox-growth.ps
-%%Creator: gnuplot 3.5 (pre 3.6) patchlevel beta 347
-%%CreationDate: Tue Apr 10 14:03:36 2001
-%%DocumentFonts: (atend)
-%%BoundingBox: 50 40 554 770
-%%Orientation: Landscape
-%%Pages: (atend)
-%%EndComments
-/gnudict 120 dict def
-gnudict begin
-/Color true def
-/Solid true def
-/gnulinewidth 5.000 def
-/userlinewidth gnulinewidth def
-/vshift -46 def
-/dl {10 mul} def
-/hpt_ 31.5 def
-/vpt_ 31.5 def
-/hpt hpt_ def
-/vpt vpt_ def
-/M {moveto} bind def
-/L {lineto} bind def
-/R {rmoveto} bind def
-/V {rlineto} bind def
-/vpt2 vpt 2 mul def
-/hpt2 hpt 2 mul def
-/Lshow { currentpoint stroke M
-  0 vshift R show } def
-/Rshow { currentpoint stroke M
-  dup stringwidth pop neg vshift R show } def
-/Cshow { currentpoint stroke M
-  dup stringwidth pop -2 div vshift R show } def
-/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
-  /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def
-/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
- {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
-/BL { stroke gnulinewidth 2 mul setlinewidth } def
-/AL { stroke gnulinewidth 2 div setlinewidth } def
-/UL { gnulinewidth mul /userlinewidth exch def } def
-/PL { stroke userlinewidth setlinewidth } def
-/LTb { BL [] 0 0 0 DL } def
-/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
-/LT0 { PL [] 1 0 0 DL } def
-/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def
-/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def
-/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
-/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
-/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
-/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
-/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
-/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
-/Pnt { stroke [] 0 setdash
-   gsave 1 setlinecap M 0 0 V stroke grestore } def
-/Dia { stroke [] 0 setdash 2 copy vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V closepath stroke
-  Pnt } def
-/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V
-  currentpoint stroke M
-  hpt neg vpt neg R hpt2 0 V stroke
-  } def
-/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V closepath stroke
-  Pnt } def
-/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M
-  hpt2 vpt2 neg V currentpoint stroke M
-  hpt2 neg 0 R hpt2 vpt2 V stroke } def
-/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V closepath stroke
-  Pnt  } def
-/Star { 2 copy Pls Crs } def
-/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M
-  0 vpt2 neg V  hpt2 0 V  0 vpt2 V
-  hpt2 neg 0 V  closepath fill } def
-/TriUF { stroke [] 0 setdash vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V closepath fill } def
-/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V closepath stroke
-  Pnt  } def
-/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V closepath fill} def
-/DiaF { stroke [] 0 setdash vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V closepath fill } def
-/Pent { stroke [] 0 setdash 2 copy gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  closepath stroke grestore Pnt } def
-/PentF { stroke [] 0 setdash gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  closepath fill grestore } def
-/Circle { stroke [] 0 setdash 2 copy
-  hpt 0 360 arc stroke Pnt } def
-/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def
-/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450  arc } bind def
-/C1 { BL [] 0 setdash 2 copy        moveto
-       2 copy  vpt 0 90 arc closepath fill
-               vpt 0 360 arc closepath } bind def
-/C2 { BL [] 0 setdash 2 copy moveto
-       2 copy  vpt 90 180 arc closepath fill
-               vpt 0 360 arc closepath } bind def
-/C3 { BL [] 0 setdash 2 copy moveto
-       2 copy  vpt 0 180 arc closepath fill
-               vpt 0 360 arc closepath } bind def
-/C4 { BL [] 0 setdash 2 copy moveto
-       2 copy  vpt 180 270 arc closepath fill
-               vpt 0 360 arc closepath } bind def
-/C5 { BL [] 0 setdash 2 copy moveto
-       2 copy  vpt 0 90 arc
-       2 copy moveto
-       2 copy  vpt 180 270 arc closepath fill
-               vpt 0 360 arc } bind def
-/C6 { BL [] 0 setdash 2 copy moveto
-      2 copy  vpt 90 270 arc closepath fill
-              vpt 0 360 arc closepath } bind def
-/C7 { BL [] 0 setdash 2 copy moveto
-      2 copy  vpt 0 270 arc closepath fill
-              vpt 0 360 arc closepath } bind def
-/C8 { BL [] 0 setdash 2 copy moveto
-      2 copy vpt 270 360 arc closepath fill
-              vpt 0 360 arc closepath } bind def
-/C9 { BL [] 0 setdash 2 copy moveto
-      2 copy  vpt 270 450 arc closepath fill
-              vpt 0 360 arc closepath } bind def
-/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
-       2 copy moveto
-       2 copy vpt 90 180 arc closepath fill
-               vpt 0 360 arc closepath } bind def
-/C11 { BL [] 0 setdash 2 copy moveto
-       2 copy  vpt 0 180 arc closepath fill
-       2 copy moveto
-       2 copy  vpt 270 360 arc closepath fill
-               vpt 0 360 arc closepath } bind def
-/C12 { BL [] 0 setdash 2 copy moveto
-       2 copy  vpt 180 360 arc closepath fill
-               vpt 0 360 arc closepath } bind def
-/C13 { BL [] 0 setdash  2 copy moveto
-       2 copy  vpt 0 90 arc closepath fill
-       2 copy moveto
-       2 copy  vpt 180 360 arc closepath fill
-               vpt 0 360 arc closepath } bind def
-/C14 { BL [] 0 setdash 2 copy moveto
-       2 copy  vpt 90 360 arc closepath fill
-               vpt 0 360 arc } bind def
-/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
-               vpt 0 360 arc closepath } bind def
-/Rec   { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
-       neg 0 rlineto closepath } bind def
-/Square { dup Rec } bind def
-/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def
-/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def
-/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def
-/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
-/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def
-/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
-/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill
-       exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
-/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def
-/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
-       2 copy vpt Square fill
-       Bsquare } bind def
-/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def
-/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def
-/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
-       Bsquare } bind def
-/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
-       Bsquare } bind def
-/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def
-/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
-       2 copy vpt Square fill Bsquare } bind def
-/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
-       2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
-/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def
-/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def
-/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def
-/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def
-/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def
-/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def
-/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def
-/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def
-/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def
-/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def
-/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def
-/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def
-/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def
-/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def
-/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def
-/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def
-/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def
-/DiaE { stroke [] 0 setdash vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V closepath stroke } def
-/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V closepath stroke } def
-/TriUE { stroke [] 0 setdash vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V closepath stroke } def
-/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V closepath stroke } def
-/PentE { stroke [] 0 setdash gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  closepath stroke grestore } def
-/CircE { stroke [] 0 setdash
-  hpt 0 360 arc stroke } def
-/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
-/DiaW { stroke [] 0 setdash vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V Opaque stroke } def
-/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V Opaque stroke } def
-/TriUW { stroke [] 0 setdash vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V Opaque stroke } def
-/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V Opaque stroke } def
-/PentW { stroke [] 0 setdash gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  Opaque stroke grestore } def
-/CircW { stroke [] 0 setdash
-  hpt 0 360 arc Opaque stroke } def
-/BoxFill { gsave Rec 1 setgray fill grestore } def
-end
-%%EndProlog
-%%Page: 1 1
-gnudict begin
-gsave
-50 50 translate
-0.100 0.100 scale
-90 rotate
-0 -5040 translate
-0 setgray
-newpath
-(Helvetica) findfont 140 scalefont setfont
-1.000 UL
-LTb
-560 420 M
-63 0 V
-6409 0 R
--63 0 V
-476 420 M
-(0) Rshow
-560 1056 M
-63 0 V
-6409 0 R
--63 0 V
--6493 0 R
-(100) Rshow
-560 1692 M
-63 0 V
-6409 0 R
--63 0 V
--6493 0 R
-(200) Rshow
-560 2328 M
-63 0 V
-6409 0 R
--63 0 V
--6493 0 R
-(300) Rshow
-560 2964 M
-63 0 V
-6409 0 R
--63 0 V
--6493 0 R
-(400) Rshow
-560 3600 M
-63 0 V
-6409 0 R
--63 0 V
--6493 0 R
-(500) Rshow
-560 4236 M
-63 0 V
-6409 0 R
--63 0 V
--6493 0 R
-(600) Rshow
-560 4872 M
-63 0 V
-6409 0 R
--63 0 V
--6493 0 R
-(700) Rshow
-1531 420 M
-0 63 V
-0 4389 R
-0 -63 V
-0 -4529 R
-(400) Cshow
-2825 420 M
-0 63 V
-0 4389 R
-0 -63 V
-0 -4529 R
-(600) Cshow
-4120 420 M
-0 63 V
-0 4389 R
-0 -63 V
-0 -4529 R
-(800) Cshow
-5414 420 M
-0 63 V
-0 4389 R
-0 -63 V
-0 -4529 R
-(1000) Cshow
-6708 420 M
-0 63 V
-0 4389 R
-0 -63 V
-0 -4529 R
-(1200) Cshow
-1.000 UL
-LTb
-560 420 M
-6472 0 V
-0 4452 V
--6472 0 V
-560 420 L
-0 2646 M
-currentpoint gsave translate 90 rotate 0 0 M
-(tar.gz size \(Kb\)) Cshow
-grestore
-3796 140 M
-(time \(days since Jan 1, 1998\)) Cshow
-1.000 UL
-LT0
-696 420 M
-0 593 V
-1255 0 V
-0 15 V
-214 0 V
-0 6 V
-958 0 V
-0 1 V
--84 0 V
-0 37 V
-168 0 V
-0 262 V
-13 0 V
-0 56 V
-91 0 V
-0 33 V
-6 0 V
-0 1 V
-19 0 V
-0 11 V
-20 0 V
-0 13 V
-32 0 V
-0 104 V
-52 0 V
-0 27 V
-65 0 V
-0 15 V
-39 0 V
-0 126 V
-174 0 V
-0 103 V
-52 0 V
-0 49 V
-175 0 V
-0 56 V
-433 0 V
-0 661 V
-415 0 V
-0 857 V
-123 0 V
-0 -291 V
-498 0 V
-0 208 V
-505 0 V
-0 66 V
-291 0 V
-0 115 V
-311 0 V
-0 449 V
-162 0 V
-0 309 V
-stroke
-grestore
-end
-showpage
-%%Trailer
-%%DocumentFonts: Helvetica
-%%Pages: 1
diff --git a/docs/busybox.net/copyright.txt b/docs/busybox.net/copyright.txt
deleted file mode 100644 (file)
index 3974756..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-
-The code and graphics on this website (and it's mirror sites, if any) are
-Copyright (c) 1999-2004 by Erik Andersen.  All rights reserved.
-Copyright (c) 2005-2006 Rob Landley.
-
-Documents on this Web site including their graphical elements, design, and
-layout are protected by trade dress and other laws and MAY BE COPIED OR
-IMITATED IN WHOLE OR IN PART.  THIS WEBSITE IS LICENSED FREE OF CHARGE, THERE
-IS NO WARRANTY FOR THE WEBSITE TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-SHOULD THIS WEBSITE PROVE DEFECTIVE, YOU MAY ASSUME THAT SOMEONE MIGHT GET
-AROUND TO SERVICING, REPAIRING OR CORRECTING IT SOMETIME WHEN THEY HAVE NOTHING
-BETTER TO DO.  REGARDLESS, YOU GET TO KEEP BOTH PIECES.
-
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
-COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THIS
-WEBSITE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
-INABILITY TO USE THIS WEBSITE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
-LOSS OF HAIR, LOSS OF LIFE, LOSS OF MEMORY, LOSS OF YOUR CARKEYS, MISPLACEMENT
-OF YOUR PAYCHECK, OR COMMANDER DATA BEING RENDERED UNABLE TO ASSIST THE
-STARFLEET OFFICERS ABORD THE STARSHIP ENTERPRISE TO RECALIBRATE THE MAIN
-DEFLECTOR ARRAY, LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
-WEBSITE TO OPERATE WITH YOUR WEBBROWSER), EVEN IF SUCH HOLDER OR OTHER PARTY
-HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-You have been warned.
-
-You can contact the webmaster at <rob@landley.net> if you have some sort
-of problem with this.
-
diff --git a/docs/busybox.net/developer.html b/docs/busybox.net/developer.html
deleted file mode 100644 (file)
index ce50555..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-<!--#include file="header.html" -->
-
-<h3>Prerequisites</h3>
-<p>
-<ul>
-<li>Send several <em>sensible</em> patches to the <a href="lists.html" title="Mailing list">Mailing list</a>.</li>
-<li>Help <em>users</em>, answer their questions, guide them, be helpful and friendly.</li>
-<li>Repeat above.
-</ul>
-</p>
-<p>
-If you feel comfortable with the above and have proven to continually
-fulfill these requirements, or somebody asks you to apply for write-access
-to the repository who itself is maintainer of a project, then please apply
-for an account (if needed).
-</p>
-<h3>Morris Dancing</h3>
-
-<p>Subversion commit access requires an account on Morris.  The server
-behind busybox.net and uclibc.org.  If you want to be able to commit things to
-Subversion, first contribute some stuff to show you are serious, can handle
-some responsibility, and that your patches don't generally need a lot of
-cleanup.  Then, very nicely ask one of us
-(<a href="mailto:vda.linux@googlemail.com">Denys Vlasenko</a> for primarily BusyBox, or
-<a href="mailto:rep&#46;<literal>dot</>&#46;nop@gmail.com">Bernhard Reutner-Fischer</a> primarily for uClibc)
-for an account.</p>
-
-<p>If you're approved for an account, you'll need to send an email from your
-preferred contact email address with the username you'd like to use when
-committing changes to GIT, and attach a public ssh key to access your account
-with.</p>
-
-<p>If you don't currently have an ssh version 2 DSA key at least 4096 bits
-long, you can generate a key using the command
-<b>ssh-keygen -b 4096 -t dsa</b>
-and hitting enter at the prompts.
-This will create the files <b>~/.ssh/id_dsa</b> and <b>~/.ssh/id_dsa.pub</b>
-You must then send the content of 'id_dsa.pub' to me so I can set up your
-account.  (The content of 'id_dsa' should of course be kept secret, anyone
-who has that can access any account that's installed your public key in
-its <b>.ssh/authorized_keys</b> file.)</p>
-
-<p>Note that if you would prefer to keep your communications with us
-private, you can encrypt your email using
-<a href="http://busybox.net/~vda/vda_pubkey.gpg">Denys' public key</a> or
-<a href="http://uClibc.org/~aldot/gpg.asc">Bernhard's public key</a>.
-</p>
-
-<p>Once you are setup with an account, you will need to use your account to
-checkout a copy of BusyBox from GIT:</p>
-
-<p><b>git+ssh://username@git.busybox.net/git/busybox busybox.mine</b></p>
-<p>or</p>
-<p><b>git+ssh://username@git.uClibc.org/git/uClibc uClibc.tmp</b></p>
-
-<p>You must change <em>username</em> to your own username, or omit
-it if it's the same as your local username.</p>
-
-<p>You can then enter the newly checked out project directory, make changes,
-check your changes, diff your changes, revert your changes, and and commit your
-changes using commands such as:</p>
-
-<b><pre>
-git diff
-git format-patch -s
-git status
-git revert <revert-hash>
-EDITOR=vi git commit -s
-git log
-git push -v --thin
-git help
-</pre></b>
-
-<p>For additional detail on how to use
-<a href="http://www.kernel.org/pub/software/scm/git/">GIT</a>, please visit the
-<a href="http://git.or.cz/">GIT overview</a> site.
-You might also want to read online the <a
-href="http://www.kernel.org/pub/software/scm/git/docs">manpages</a>
-or
-<a href="http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html">tutorial</a>.
-</p>
-
-<p>A morris account also gives you a personal web page
-(http://busybox.net/~username comes from ~/public_html on morris), and of
-course a shell prompt you can ssh into (as a regular user, root access is
-reserved for folks doing maintenancy stuff only).  But keep in mind an
-account on Morris is a
-priviledge, not a requirement.  Most contributors to busybox and uClibc
-haven't got one, and accounts are handed out to make the project maintainers'
-lives easier, not because &quot;you deserve it&quot;.</p>
-
-<!--#include file="footer.html" -->
diff --git a/docs/busybox.net/download.html b/docs/busybox.net/download.html
deleted file mode 100644 (file)
index 34195b6..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<!--#include file="header.html" -->
-
-
-
-<h3>Download</h3>
-
-<p>
-Source for the latest release can always be
-downloaded from <a href="downloads/">http://www.busybox.net/downloads/</a>.
-
-<p>
-Each 1.x branch has bug fix releases after initial 1.x.0 release.
-Also there are patches on top of latest bug fix release.
-<p>
-Latest releases and patch directories for each branch:
-<br>
-<a href="http://busybox.net/downloads/busybox-1.10.1.tar.bz2">1.10.1</a>,
-<a href="http://busybox.net/downloads/fixes-1.10.1/">patches</a>,
-<br>
-<a href="http://busybox.net/downloads/busybox-1.9.2.tar.bz2">1.9.2</a>,
-<a href="http://busybox.net/downloads/fixes-1.9.2/">patches</a>,
-<br>
-<a href="http://busybox.net/downloads/busybox-1.8.3.tar.bz2">1.8.3</a>,
-<a href="http://busybox.net/downloads/fixes-1.8.3/">patches</a>,
-<br>
-<a href="http://busybox.net/downloads/busybox-1.7.5.tar.bz2">1.7.5</a>,
-<a href="http://busybox.net/downloads/fixes-1.7.5/">patches</a>,
-<br>
-<a href="http://busybox.net/downloads/busybox-1.6.2.tar.bz2">1.6.2</a>,
-<a href="http://busybox.net/downloads/fixes-1.6.2/">patches</a>,
-<br>
-<a href="http://busybox.net/downloads/busybox-1.5.2.tar.bz2">1.5.2</a>,
-<a href="http://busybox.net/downloads/fixes-1.5.2/">patches</a>,
-<br>
-<a href="http://busybox.net/downloads/busybox-1.4.2.tar.bz2">1.4.2</a>,
-<a href="http://busybox.net/downloads/fixes-1.4.2/">patches</a>,
-<br>
-<a href="http://busybox.net/downloads/busybox-1.3.2.tar.bz2">1.3.2</a>,
-<a href="http://busybox.net/downloads/fixes-1.3.2/">patches</a>.
-
-<p>
-You can also obtain <a href="downloads/snapshots/">Daily Snapshots</a> of
-the latest development source tree for those wishing to follow BusyBox development,
-but cannot or do not wish to use Subversion (svn).
-
-<ul>
-       <li> Click here to <a href="http://sources.busybox.net/index.py/trunk/busybox/">browse the source tree</a>.
-       </li>
-
-       <li>Anonymous <a href="subversion.html">Subversion access</a> is available.
-       </li>
-
-       <li>For those that are actively contributing obtaining
-               <a href="developer.html">Subversion read/write access</a> is also possible.
-       </li>
-
-</ul>
-
-<!--#include file="footer.html" -->
-
diff --git a/docs/busybox.net/fix.html b/docs/busybox.net/fix.html
deleted file mode 100644 (file)
index 7bd7fe0..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<!--#include file="header.html" -->
-
-<h3>How to get your patch added to "hot fixes"</h3>
-
-<p> If you found a regression or severe bug in busybox, and you have a patch
-    for it, and you want to see it added to "hot fixes", please rediff your
-    patch against corresponding unmodified busybox source and send it to
-    <a href="mailto:busybox@busybox.net">the mailing list</a>.
-</p>
-
-<br>
-<br>
-<br>
-
-<!--#include file="footer.html" -->
diff --git a/docs/busybox.net/footer.html b/docs/busybox.net/footer.html
deleted file mode 100644 (file)
index 0667092..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<!-- Footer -->
-
-
-    </td>
-    </tr>
-    </table>
-
-<hr />
-
-
-    <table width="100%">
-       <tr>
-           <td width="60%">
-               <font face="arial, helvetica, sans-serif" size="-1">
-               <!--div style="font-family: arial, helvetica, sans-serif; font-size: 80%;" -->
-                   <a href="/copyright.txt">Copyright &copy; 1999-2008 Erik Andersen</a>
-                   <br>
-                   Mail all comments, insults, suggestions and bribes to
-                   <br>
-                   Denys Vlasenko <a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a><br>
-               </font>
-               <!--/div-->
-           </td>
-
-           <td>
-               <a href="http://www.vim.org/"><img border="0"
-               width="88" height="31"
-               src="images/written.in.vi.png"
-               alt="This site created with the vi editor" /></a>
-           </td>
-
-           <td>
-               <a href="http://osuosl.org/"><img border="0"
-               width="114" height="63"
-               src="images/osuosl.png"
-               alt="This site is kindly hosted by OSL" /></a>
-           </td>
-<!--
-           <td>
-               <a href="http://validator.w3.org/check?uri=referer"><img
-               border="0" height="31" width="88"
-               src="images/valid-html401.png"
-               alt="Valid HTML" /></a>
-           </td>
--->
-       </tr>
-    </table>
-
-  </body>
-</html>
-
diff --git a/docs/busybox.net/header.html b/docs/busybox.net/header.html
deleted file mode 100644 (file)
index 16f3d7a..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
-
-<html>
-  <head>
-    <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
-    <title>BusyBox</title>
-    <style type="text/css">
-     body {
-      background-color: #DEE2DE;
-      color: #000000;
-      font-family: lucida, helvetica, arial;
-      font-size: 100%;
-     }
-     :link { color: #660000 }
-     :visited { color: #660000 }
-     :active { color: #660000 }
-     td.c2 {font-family: arial, helvetica, sans-serif; font-size: 80%}
-     td.c1 {font-family: lucida, helvetica; font-size: 248%}
-    </style>
-  </head>
-
-  <body>
-    <!--basefont face="lucida, helvetica, arial" size="3"-->
-
-<table border="0" cellpadding="0" cellspacing="0">
-<tr>
-<td>
-    <div class="c3">
-      <table border="0" cellspacing="1" cellpadding="2">
-        <tr>
-          <td class="c1">BUSYBOX</td>
-        </tr>
-      </table>
-    </div>
-
-  <a href="/"><img src="images/busybox1.png" alt="BusyBox" border="0" /></a><br>
-</td>
-</tr>
-
-<tr>
-
-<td valign="top">
-    <b>About</b>
-    <ul>
-        <li><a href="about.html">About BusyBox</a></li>
-        <li><a href="screenshot.html">Screenshot</a></li>
-        <li><a href="news.html">Announcements</a></li>
-    </ul>
-    <b>Documentation</b>
-    <ul>
-        <li><a href="FAQ.html">FAQ</a></li>
-        <li><a href="downloads/BusyBox.html">Command Help</a></li>
-        <li><a href="downloads/README">README</a></li>
-    </ul>
-    <b>Get BusyBox</b>
-    <ul>
-        <li><a href="download.html">Download Source</a></li>
-        <li><a href="license.html">License</a></li>
-        <li><a href="products.html">Products</a></li>
-    </ul>
-    <b>Development</b>
-    <ul>
-        <li><a href="http://sources.busybox.net/index.py/trunk/busybox/">Browse Source</a></li>
-        <li><a href="subversion.html">Source Control</a></li>
-        <!--li><a href="/downloads/patches/recent.html">Recent Changes</a></li-->
-        <li><a href="lists.html">Mailing Lists</a></li>
-        <li><a href="https://bugs.busybox.net/">Bug Tracking</a></li>
-        <li><a href="developer.html">Contributing</a></li>
-    </ul>
-    <p><b>Links</b>
-    <ul>
-        <li><a href="links.html">Related Sites</a></li>
-        <li><a href="tinyutils.html">Tiny Utilities</a></li>
-        <li><a href="sponsors.html">Sponsors</a></li>
-    </ul>
-    <p><b>Developer Pages</b>
-    <ul>
-        <li><a href="http://busybox.net/~landley/">Rob</a></li>
-        <li><a href="http://busybox.net/~aldot/">Bernhard</a></li>
-       <li><a href="http://busybox.net/~vda/">Denys</a>
-        <br>- <a href="http://busybox.net/~vda/resume/denys_vlasenko.htm">resume</a>
-        <br>- <a href="http://busybox.net/~vda/mboot/">mboot</a>
-        <br>- <a href="http://busybox.net/~vda/linld/">linld</a>
-        <br>- <a href="http://busybox.net/~vda/init_vs_runsv.html">init must die</a>
-        <br>- <a href="http://busybox.net/~vda/no_ifup.txt">no ifup</a>
-        <br>- <a href="http://busybox.net/~vda/unscd/">unscd</a>
-       </li>
-    </ul>
-</td>
-
-<td valign="top">
-
diff --git a/docs/busybox.net/images/back.png b/docs/busybox.net/images/back.png
deleted file mode 100644 (file)
index 7992386..0000000
Binary files a/docs/busybox.net/images/back.png and /dev/null differ
diff --git a/docs/busybox.net/images/busybox.jpeg b/docs/busybox.net/images/busybox.jpeg
deleted file mode 100644 (file)
index 37edc96..0000000
Binary files a/docs/busybox.net/images/busybox.jpeg and /dev/null differ
diff --git a/docs/busybox.net/images/busybox.png b/docs/busybox.net/images/busybox.png
deleted file mode 100644 (file)
index b1eb92f..0000000
Binary files a/docs/busybox.net/images/busybox.png and /dev/null differ
diff --git a/docs/busybox.net/images/busybox1.png b/docs/busybox.net/images/busybox1.png
deleted file mode 100644 (file)
index 4d3126a..0000000
Binary files a/docs/busybox.net/images/busybox1.png and /dev/null differ
diff --git a/docs/busybox.net/images/busybox2.jpg b/docs/busybox.net/images/busybox2.jpg
deleted file mode 100644 (file)
index abf8f06..0000000
Binary files a/docs/busybox.net/images/busybox2.jpg and /dev/null differ
diff --git a/docs/busybox.net/images/busybox2.png b/docs/busybox.net/images/busybox2.png
deleted file mode 100644 (file)
index a7460b6..0000000
Binary files a/docs/busybox.net/images/busybox2.png and /dev/null differ
diff --git a/docs/busybox.net/images/busybox3.jpg b/docs/busybox.net/images/busybox3.jpg
deleted file mode 100644 (file)
index 0fab84c..0000000
Binary files a/docs/busybox.net/images/busybox3.jpg and /dev/null differ
diff --git a/docs/busybox.net/images/dir.png b/docs/busybox.net/images/dir.png
deleted file mode 100644 (file)
index 1d633ce..0000000
Binary files a/docs/busybox.net/images/dir.png and /dev/null differ
diff --git a/docs/busybox.net/images/donate.png b/docs/busybox.net/images/donate.png
deleted file mode 100644 (file)
index b55621b..0000000
Binary files a/docs/busybox.net/images/donate.png and /dev/null differ
diff --git a/docs/busybox.net/images/fm.mini.png b/docs/busybox.net/images/fm.mini.png
deleted file mode 100644 (file)
index c0883cd..0000000
Binary files a/docs/busybox.net/images/fm.mini.png and /dev/null differ
diff --git a/docs/busybox.net/images/gfx_by_gimp.png b/docs/busybox.net/images/gfx_by_gimp.png
deleted file mode 100644 (file)
index d583140..0000000
Binary files a/docs/busybox.net/images/gfx_by_gimp.png and /dev/null differ
diff --git a/docs/busybox.net/images/ltbutton2.png b/docs/busybox.net/images/ltbutton2.png
deleted file mode 100644 (file)
index 9bad949..0000000
Binary files a/docs/busybox.net/images/ltbutton2.png and /dev/null differ
diff --git a/docs/busybox.net/images/osuosl.png b/docs/busybox.net/images/osuosl.png
deleted file mode 100644 (file)
index b00b500..0000000
Binary files a/docs/busybox.net/images/osuosl.png and /dev/null differ
diff --git a/docs/busybox.net/images/sdsmall.png b/docs/busybox.net/images/sdsmall.png
deleted file mode 100644 (file)
index b102450..0000000
Binary files a/docs/busybox.net/images/sdsmall.png and /dev/null differ
diff --git a/docs/busybox.net/images/text.png b/docs/busybox.net/images/text.png
deleted file mode 100644 (file)
index 6034f89..0000000
Binary files a/docs/busybox.net/images/text.png and /dev/null differ
diff --git a/docs/busybox.net/images/valid-html401.png b/docs/busybox.net/images/valid-html401.png
deleted file mode 100644 (file)
index ec9bc0c..0000000
Binary files a/docs/busybox.net/images/valid-html401.png and /dev/null differ
diff --git a/docs/busybox.net/images/vh40.gif b/docs/busybox.net/images/vh40.gif
deleted file mode 100644 (file)
index c5e9402..0000000
Binary files a/docs/busybox.net/images/vh40.gif and /dev/null differ
diff --git a/docs/busybox.net/images/written.in.vi.png b/docs/busybox.net/images/written.in.vi.png
deleted file mode 100644 (file)
index 84f59bc..0000000
Binary files a/docs/busybox.net/images/written.in.vi.png and /dev/null differ
diff --git a/docs/busybox.net/index.html b/docs/busybox.net/index.html
deleted file mode 100644 (file)
index 1bab6b0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<!--#include file="news.html" -->
diff --git a/docs/busybox.net/license.html b/docs/busybox.net/license.html
deleted file mode 100644 (file)
index 2a4c51d..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<!--#include file="header.html" -->
-
-<p>
-<h3><a name="license">BusyBox is licensed under the GNU General Public License, version 2</a></h3>
-
-<p>BusyBox is licensed under <a href="http://www.gnu.org/licenses/gpl.html#SEC1">the
-GNU General Public License</a> version 2, which is often abbreviated as GPLv2.
-(This is the same license the Linux kernel is under, so you may be somewhat
-familiar with it by now.)</p>
-
-<p>A complete copy of the license text is included in the file LICENSE in
-the BusyBox source code.</p>
-
-<p><a href="products.html">Anyone thinking of shipping BusyBox as part of a
-product</a> should be familiar with the licensing terms under which they are
-allowed to use and distribute BusyBox.  Read the full test of the GPL (either
-through the above link, or in the file LICENSE in the busybox tarball), and
-also read the <a href="http://www.gnu.org/licenses/gpl-faq.html">Frequently
-Asked Questions about the GPL</a>.</p>
-
-<p>Basically, if you distribute GPL software the license requires that you also
-distribute the source code to that GPL-licensed software.  So if you distribute
-BusyBox without making the source code to the version you distribute available,
-you violate the license terms, and thus infringe on the copyrights of BusyBox.
-(This requirement applies whether or not you modified BusyBox; either way the
-license terms still apply to you.)  Read the license text for the details.</p>
-
-<h3><a name="version">A note on GPL versions</a></h3>
-
-<p>Version 2 of the GPL is the only version of the GPL which current versions
-of BusyBox may be distributed under.  New code added to the tree is licensed
-GPL version 2, and the project's license is GPL version 2.</p>
-
-<p>Older versions of BusyBox (versions 1.2.2 and earlier, up through about svn
-16112) included variants of the recommended
-&quot;GPL version 2 or (at your option) later versions&quot; boilerplate
-permission grant.  Ancient versions of BusyBox
-(before svn 49) did not specify any version at all, and section 9 of GPLv2
-(the most recent version at that time) says those old versions may be
-redistributed under any version of GPL (including the obsolete V1).  This was
-conceptually similar to a dual license, except that the different licenses were
-different versions of the GPL.</p>
-
-<p>However, BusyBox has apparently always contained chunks of code that were
-licensed under GPL version 2 only.  Examples include applets written by Linus
-Torvalds (util-linux/mkfs_minix.c and util_linux/mkswap.c) which stated they
-&quot;may be redistributed as per the Linux copyright&quot; (which Linus
-clarified in the
-2.4.0-pre8 release announcement in 2000 was GPLv2 only), and Linux kernel code
-copied into libbb/loop.c (after Linus's announcement).  There are probably
-more, because all we used to check was that the code was GPL, not which
-version.  (Before the GPLv3 draft proceedings in 2006, it was a purely
-theoretical issue that didn't come up much.)</p>
-
-<p>To summarize: every version of BusyBox may be distributed under the terms of
-GPL version 2.  New versions (after 1.2.2) may <b>only</b> be distributed under
-GPLv2, not under other versions of the GPL.  Older versions of BusyBox might
-(or might not) be distributable under other versions of the GPL.  If you
-want to use a GPL version other than 2, you should start with one of the old
-versions such as release 1.2.2 or SVN 16112, and do your own homework to
-identify and remove any code that can't be licensed under the GPL version you
-want to use.  New development is all GPLv2.</p>
-
-<h3><a name="enforce">License enforcement</a></h3>
-
-<p>BusyBox's copyrights are enforced by the <a
-href="http://www.softwarefreedom.org/">Software Freedom Law Center</a>
-(you can contact them at gpl@busybox.net), which
-&quot;accepts primary responsibility for enforcement of US copyrights on the
-software... and coordinates international copyright enforcement efforts for
-such works as necessary.&quot;  If you distribute BusyBox in a way that doesn't
-comply with the terms of the license BusyBox is distributed under, expect to
-hear from these guys.  Their entire reason for existing is to do pro-bono
-legal work for free/open source software projects.  (We used to list people who
-violate the BusyBox license in <a href="shame.html">The Hall of Shame</a>,
-but these days we find it much more effective to hand them over to the
-lawyers.)</p>
-
-<p>Our enforcement efforts are aimed at bringing people into compliance with
-the BusyBox license.  Open source software is under a different license from
-proprietary software, but if you violate that license you're still a software
-pirate and the law gives the vendor (us) some big sticks to play with.  We
-don't want monetary awards, injunctions, or to generate bad PR for a company,
-unless that's the only way to get somebody that repeatedly ignores us to comply
-with the license on our code.</p>
-
-<h3><a name="good">A Good Example</a></h3>
-
-<p>These days, <a href="http://www.linksys.com/">Linksys</a> is
-doing a good job at complying with the GPL, they get to be an
-example of how to do things right.  Please take a moment and
-check out what they do with
-<a href="http://www.linksys.com/servlet/Satellite?c=L_Content_C1&amp;childpagename=US%2FLayout&amp;cid=1115416836002&amp;pagename=Linksys%2FCommon%2FVisitorWrapper">
-distributing the firmware for their WRT54G Router.</a>
-Following their example would be a fine way to ensure that you
-have also fulfilled your licensing obligations.</p>
-
-<!--#include file="footer.html" -->
-
diff --git a/docs/busybox.net/links.html b/docs/busybox.net/links.html
deleted file mode 100644 (file)
index 14ad8d1..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!--#include file="header.html" -->
-
-<h3>Related Sites</h3>
-
-<br><a href="http://uclibc.org/">uClibc.org</a>
-<br><a href="http://cxx.uclibc.org/">uClibc++</a>
-<!--br><a href="http://udhcp.busybox.net/">udhcp</a -->
-<br><a href="http://buildroot.uclibc.org/">buildroot</a>
-<br><a href="http://www.scratchbox.org/">Scratchbox</a>
-<br><a href="http://openembedded.org/">OpenEmbedded</a>
-<br><a href="http://www.ucdot.org/">uCdot</a>
-<br><a href="http://www.linuxdevices.com/">LinuxDevices</a>
-<br><a href="http://slashdot.org/">Slashdot</a>
-<br><a href="http://freshmeat.net/">Freshmeat</a>
-<br><a href="http://linuxtoday.com/">Linux Today</a>
-<br><a href="http://lwn.net/">Linux Weekly News</a>
-<br><a href="http://www.tldp.org/HOWTO">Linux HOWTOs</a>
-
-<!--#include file="footer.html" -->
diff --git a/docs/busybox.net/lists.html b/docs/busybox.net/lists.html
deleted file mode 100644 (file)
index 29c2f74..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<!--#include file="header.html" -->
-
-
-<!-- Begin Introduction section -->
-
-<h3>Mailing List Information</h3>
-BusyBox has a <a href="/lists/busybox/">mailing list</a> for discussion and
-development.  You can subscribe by visiting
-<a href="http://lists.busybox.net/mailman/listinfo/busybox">this page</a>.
-Only subscribers to the BusyBox mailing list are allowed to post
-to this list.
-
-<p>
-There is also a mailing list for <a href="/lists/busybox-cvs/">active developers</a>
-wishing to read the complete diff of each and every change to busybox -- not for the
-faint of heart.  Active developers can subscribe by visiting
-<a href="http://lists.busybox.net/mailman/listinfo/busybox-cvs">this page</a>.
-The Subversion server is the only one permtted to post to this list.  And yes,
-this list name uses the word 'cvs' even though we don't use that anymore...
-
-<p>
-
-
-<h3>Search the List Archives</h3>
-Please search the mailing list archives before asking questions on the mailing
-list, since there is a good chance someone else has asked the same question
-before.  Checking the archives is a great way to avoid annoying everyone on the
-list with frequently asked questions...
-<p>
-
-<center>
-<form method="GET" action="http://www.google.com/custom">
-<input type="hidden" name="domains" value="busybox.net">
-<input type="hidden" name="sitesearch" value="busybox.net">
-<input type="text" name="q" size="31" maxlength="255" value="">
-<br>
-<input type="submit" name="sa" value="search the mailing list archives">
-<br>
-<a href="http://www.google.com"><img src="http://www.google.com/logos/Logo_25wht.gif" border="0" alt="Google" height="32" width="75" align="middle"></a>
-<br>
-</form>
-</center>
-
-
-
-<!--#include file="footer.html" -->
diff --git a/docs/busybox.net/news.html b/docs/busybox.net/news.html
deleted file mode 100644 (file)
index e0a8138..0000000
+++ /dev/null
@@ -1,504 +0,0 @@
-<!--#include file="header.html" -->
-
-<ul>
-
-  <li>
-    <p>We want to thank the following companies which are providing support for the BusyBox project:
-      <ul>
-        <li>AOE media, a <a href="http://www.aoemedia.com/typo3-development.html">
-        TYPO3 development agency</a> contributes financially.</li>
-        <li><a href="http://www.analog.com/en/">Analog Devices, Inc.</a> provided
-        a <a href="http://docs.blackfin.uclinux.org/doku.php?id=bf537_quick_start">
-        Blackfin development board</a> free of charge.
-        <a href="http://www.analog.com/blackfin">Blackfin</a>
-        is a NOMMU processor, and its availability for testing is invaluable.
-        If you are an embedded device developer,
-        please note that Analog Devices has entire Linux distribution available
-        for download for this board. Visit
-        <a href="http://blackfin.uclinux.org/">http://blackfin.uclinux.org/</a>
-        for more information.
-        </li>
-      </ul>
-    </p>
-  </li>
-
-  <li><b>15 April 2009 -- BusyBox 1.14.0 (unstable), BusyBox 1.13.4 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.14.0.tar.bz2">BusyBox 1.14.0</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_14_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.14.0/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p><a href="http://busybox.net/downloads/busybox-1.13.4.tar.bz2">BusyBox 1.13.4</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.13.4/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>Sizes of busybox-1.13.4 and busybox-1.14.0 (with equivalent config, static uclibc build):<pre>
-   text    data     bss     dec     hex filename
- 785501     483    7036  793020   c19bc busybox.1.13.4/busybox
- 788380     467    6960  795807   c249f busybox.1.14.0/busybox
-  15361       0       0   15361    3c01 busybox.1.13.4/shell/hush.o
-  20724       0       0   20724    50f4 busybox.1.14.0/shell/hush.o
-</pre>
-    <p>Most of growth is in hush. The rest shrank a bit.
-
-    <p>New applets:
-      <ul>
-       <li>flash_eraseall: by Sebastian Andrzej Siewior (bigeasy AT linutronix.de)</li>
-       <li>acpid, mkdosfs, tunctl: by Vladimir</li>
-       <li>ftpd: by Adam Tkac (vonsch AT gmail.com)</li>
-       <li>timeout: by Roberto Foglietta</li>
-       <li>ionice: adapted from Linux kernel example by Walter Harms</li>
-       <li>mkpasswd: synonym to cryptpw. mkpasswd is in Debian, OTOH cryptpw was added to busybox earlier. Trying to make both camps happy by making those two applets just aliases. They are command-line compatible</li>
-      </ul>
-
-    <p>Changes since previous release:
-
-    <p>lash and msh are deprecated, please migrate to hush.
-
-    <p>hush had many, many fixes and features added: here documents, arithmetic evaluation, function support, and all this works on NOMMU too, safely, including 100kb-sized `command` and here documents. Here document support, arithmetic evaluation, improved ${var} operations, other fixes are by Mike Frysinger (vapier AT gentoo.org).
-
-    <p>Other changes:
-      <ul>
-       <li>libbb: unify concurrent-safe update of /etc/{passwd,group,[g]shadow}. By Tito (farmatito AT tiscali.it)</li>
-       <li>libbb/sha{1,256,512}: major code shrink</li>
-       <li>libbb/lineedit: make history saving/loading concurrent-safe</li>
-       <li>libbb: shrink linked list ops. By xmaks AT email.cz</li>
-       <li>libbb: str2sockaddr should accept [IPv6] addr without port - wget 'ftp://[::1]/file' needs that to work</li>
-       <li>libbb: make bb_info_msg do atomic, unbuffered writes</li>
-       <li>util-linux/volumeid: abort early on read failures. Should help with probing missing fdd's</li>
-       <li>util-linux/volumeid: fix bug 249 "findfs finds the wrong partition"</li>
-       <li>adduser: allow adding to group 0; don't _create_ /etc/shadow, only append data if it exists</li>
-       <li>ash: fix mishandled ^C and SIGINT (several cases)</li>
-       <li>ash: fix "ash -c 'exec 1&gt;&amp;0'" complaining that fd 0 is busy</li>
-       <li>ash: fix $IFS handling in read. Closes bug 235</li>
-       <li>ash: fix a case where we were closing wrong descriptor</li>
-       <li>ash: fix bad interaction between ash -c '....&amp;' and bash compat</li>
-       <li>ash: fix miscalculation of memory needed for eval tree. Found by Timo Teras (timo.teras AT iki.fi)</li>
-       <li>ash: make dot command search current directory first, as bash does</li>
-       <li>ash: printf builtin with no arguments should not exit</li>
-       <li>awk: fix long field separators case. By Ian Wienand (ianw AT vmware.com)</li>
-       <li>awk: in BEGIN section $0 should be "", not "0"</li>
-       <li>awk: make "struct global" hack more robust wrt alignment. Closes bug 131</li>
-       <li>brctl: fix compilation on 2.4.x kernels</li>
-       <li>chat: treat timeout more correctly</li>
-       <li>chat: recognize RECORD directive</li>
-       <li>cksum, head, printenv: report errors via exitcode</li>
-       <li>cpio: add -p, -0 and -L options</li>
-       <li>crond, crontab: make cron directory location configurable</li>
-       <li>crond: correct more of logfile to 0666 (as usual, umask allows user to remove unwanted bits)</li>
-       <li>crond: put tasks in separate process groups</li>
-       <li>dc: fix the "base 2" patch omission of base not being set</li>
-       <li>depmod: accept and ignore -r. Linux kernel build needs this</li>
-       <li>depmod: fix -b option. By timo.teras AT iki.fi</li>
-       <li>udhcpc: fix a problem where we don't open listening socket fast enough</li>
-       <li>udhcpc: stop filtering environment passed to the script</li>
-       <li>udhcpd: disable option to have absolute lease times in lease file (that does not work with dumpleases)</li>
-       <li>udhcpd: write 64-bit current time in lease file. Without it, determination of remaining lease time is unreliable</li>
-       <li>udhcpd: remember hostnames of clients</li>
-       <li>dumpleases: fix -a option, use recorded current time in lease file, show hostnames</li>
-       <li>dnsd: fix a number of bugs. Ideas by Ming-Ching Tiew (mctiew AT yahoo.com)</li>
-       <li>dpkg: better and shorter code to compare versions. Taken from "official" dpkg by Eugene T. Bordenkircher (eugebo AT gmail.com)</li>
-       <li>du: fix "du /dir /dir" case</li>
-       <li>env: support -uVAR=VAL</li>
-       <li>expand, unexpand: fix incorrect expansion in some cases</li>
-       <li>expr: a bit more robust handling of regexps with groups. Closes bug 87</li>
-       <li>find: support --mindepth</li>
-       <li>getty: make speed 0 mean "don't change speed", stop using non-portable way of setting speeds</li>
-       <li>grep: support -z</li>
-       <li>gzip: fix gzip -dc bug caused by using stale getopt state</li>
-       <li>httpd: set $HOST to Host: header value. By Tobias Poschwatta (tp AT fonz.de)</li>
-       <li>ifupdown: allow options to udhcpc to be configurable from .config</li>
-       <li>init: do not eat last char in messages; do not print duplicate "init:" prefix to syslog</li>
-       <li>init: fix a bug where on reload order of entries might be wrong</li>
-       <li>init: major improvement in documentation and signal handling. Lots of nasty, but hard to trip, races are fixed</li>
-       <li>init: reinstate proper handling of !ENABLE_FEATURE_USE_INITTAB</li>
-       <li>init: remove wait loop on restart, it may be dangerous</li>
-       <li>init: test for vt terminal with VT_OPENQRY, assume that anything else is TERM=vt102, not TERM=linux. Closes bug 195</li>
-       <li>inotifyd: add x, o, and u events</li>
-       <li>inotifyd: fix buffer overflow and "unreaped zombies" problem</li>
-       <li>inotifyd: conserve resourses by closing unused inotify descriptors</li>
-       <li>insmod/modprobe: do not pass NULL to kernel as module parameter</li>
-       <li>ip: in "ip rule add from all table 1", "all" is taken as 0.0.0.0/32, whereas "any" and "default" would be 0.0.0.0/0. They must be all 0.0.0.0/0. Closes bug 57</li>
-       <li>iproute: fix ipXXX utilities trying to parse their applet name as their 1st parameter</li>
-       <li>klogctl: fix a problem where we don't terminate read data with '\0' and then misinterpret it</li>
-       <li>ls: do not follow links with -s. Closes bug 33</li>
-       <li>ls: implement -Q and -g (-g was accepted but ignored)</li>
-       <li>ls: make readlink error to not disrupt output (try ls -l /proc/self/fd)</li>
-       <li>man: better check for duplicated MANPATH</li>
-       <li>mdev: add support for - ("dont stop here") char</li>
-       <li>mdev: if /sys/class/block exists, don't scan /sys/block</li>
-       <li>mdev: ignore events with "$SUBSYSTEM" == "firmware" &amp;&amp; "$ACTION" == "remove"</li>
-       <li>mdev: provide $SUBSYSTEM. By Vladimir</li>
-       <li>modprobe/insmod for 2.4: support compressed modules. By Guenter (lists AT gknw.net)</li>
-       <li>modprobe: rework/speedup by Timo Teras (timo.teras AT iki.fi)</li>
-       <li>modutils-24: fix bad interaction of xzalloc with xrealloc_vector</li>
-       <li>mount: support "-O option", stop trying to mount swap partitions, fix CIFS support</li>
-       <li>mountpoint: add -n option. By Vladimir</li>
-       <li>nslookup: allow usage of IPv6 addresses or hostnames for DNS server name; allow for port specification. Tested to work on uclibc svn: "nslookup google.com [::1]:5353". glibc + IPv6 address of DNS server still does not work</li>
-       <li>popmaildir: fix several grave bugs with using memory past end of malloc block</li>
-       <li>printf: fix 1.12.0 breakage (from %*d fix), it was misinterpreting "*"</li>
-       <li>printf: make integer format strings print long long-sized values</li>
-       <li>rmmod: fix bug 263 "modutils/rmmod can't remove modules with dash in name on 2.4 kernels"</li>
-       <li>sendmail: document and fix usage of fd #4, fix check for helper failure</li>
-       <li>sendmail: update by Vladimir</li>
-       <li>seq: add -w support. By Natanael Copa</li>
-       <li>seq: add support for "-s separator"</li>
-       <li>stat: make stat -f show filesystem "ID:" as coreutils does</li>
-       <li>sysctl: fix another corner case with "dots and slashes"</li>
-       <li>sysctl: fix broken -p [file]. Closes bug 231</li>
-       <li>sysctl: support recursing if name is a directory: "sysctl net.ipv4.conf". Patch by xmaks AT email.cz</li>
-       <li>syslogd: make signal handling syncronous</li>
-       <li>syslogd: create logfile with 0666 (affected by umask as usual), not 0600</li>
-       <li>tail: fix tail +N syntax not working. Closes bug 221</li>
-       <li>tar: do not change new tarfile's mode, GNU tar doesn't do it</li>
-       <li>tar: support GNU tar's "base256" encoding</li>
-       <li>telnetd: correctly output 0xff char</li>
-       <li>telnetd: do not advertise TELNET_LFLOW, we do not support it properly</li>
-       <li>tftp: when we infer local name from remote (-r [/]path/path/file), strip path. This mimics wget and is generally more intuitive</li>
-       <li>timeout: fix parsing of -t NUM on MMU</li>
-       <li>top: make it work again on 2.4 kernels. Closes bug 125</li>
-       <li>tr: fix overflow in expand and complement, fix stop after [:class:], fix handling of ranges and [x]'s</li>
-       <li>tr: support -C as synonym to -c, support [:xdigit:]</li>
-       <li>traceroute: rewrite. Do not emit raw IP packets, instead send UDP or ICMP packets and rely on the kernel to form IP headers, select source IP and interface</li>
-       <li>uname: add support for -i and -o, fix printing of unknown -p value with -a option, support long options</li>
-       <li>unzip: fix thinko with le/be conv and size. Closes bug 129</li>
-       <li>vi: fix several instances of major goof: when text grows, text[] might get reallocated! We were keeping around pointers to old place</li>
-       <li>vi: speedup and code shrink. By Walter Harms</li>
-       <li>wget: --post-data support. By Harald Kuthe (harald-tuxbox AT arcor.de)</li>
-       <li>wget: fix --header handling, more robust EINTR detection</li>
-      </ul>
-    </p>
-
-  <li><b>8 March 2009 -- BusyBox 1.13.3 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.13.3.tar.bz2">BusyBox 1.13.3</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.13.3/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>1.13.3 is a bug fix release. It has fixes for awk, depmod, init, killall, mdev,
-    modprobe, printf, syslogd, tar, top, unzip, wget.
-    </p>
-  </li>
-
-  <li><b>31 December 2008 -- BusyBox 1.13.2 (stable), BusyBox 1.12.4 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.13.2.tar.bz2">BusyBox 1.13.2</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.13.2/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p><a href="http://busybox.net/downloads/busybox-1.12.4.tar.bz2">BusyBox 1.12.4</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.12.4/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>Bug fix releases. 1.13.2 has fixes for crond, dc, init, ip, printf.
-    1.12.4 has fixes for ip and printf.
-    </p>
-  </li>
-
-  <li><b>29 November 2008 -- BusyBox 1.13.1 (stable), BusyBox 1.12.3 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.13.1.tar.bz2">BusyBox 1.13.1</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.13.1/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p><a href="http://busybox.net/downloads/busybox-1.12.3.tar.bz2">BusyBox 1.12.3</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.12.3/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>Bug fix releases. 1.13.1 has fixes for ash, option parsing, id, init,
-    inotifyd, klogd, line editing and modprobe. 1.12.3 has fixes
-    for option parsing and line editing.
-    </p>
-  </li>
-
-  <li><b>10 November 2008 -- BusyBox 1.13.0 (unstable), BusyBox 1.12.2 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.13.0.tar.bz2">BusyBox 1.13.0</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.13.0/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p><a href="http://busybox.net/downloads/busybox-1.12.2.tar.bz2">BusyBox 1.12.2</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.12.2/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>Sizes of busybox-1.12.2 and busybox-1.13.0 (with equivalent config, static uclibc build):<pre>
-   text    data     bss     dec     hex filename
- 778291     551    7856  786698   c010a busybox-1.12.2/busybox
- 778981     551    7852  787384   c03b8 busybox-1.13.0/busybox
-</pre>
-
-    <p>New applets: blkid, devmem
-
-    <p>Changes since previous release:
-      <ul>
-       <li>mail applets: total overhaul. Vladimir as usual</li>
-       <li>ash: fix "while kill -0 $child; do true; done" looping forever</li>
-       <li>ash: fix NOEXEC mode - we were forgetting to pass environment</li>
-       <li>ash: fix a bug in standalone mode (corrupted getopt state)</li>
-       <li>ash: optionally support "&gt;&amp;file" and "&amp;&gt;file" redirections</li>
-       <li>awk: bitwise ops cast oprands and results to unsigned long, not signed. closes bug 4774</li>
-       <li>awk: fix typo in atan2 code. closes bug 5594</li>
-       <li>awk: improve handling of negative numbers in bitwise ops; fix handling of octal costants</li>
-       <li>awk: support hex constants</li>
-       <li>basename: fix error code (again)</li>
-       <li>cpio: emit TRAILER even when hard links were found. By Pascal Bellard (pascal.bellard AT ads-lu.com)</li>
-       <li>crontab: do not destroy STDIN_FILENO, editor may need it (crontab -e)</li>
-       <li>dc: support for bases 2 and 8, by Nate Case (ncase AT xes-inc.com)</li>
-       <li>dhcpc: treat "discover...select...discover..." loop the same way as "discover...discover...discover..."</li>
-       <li>dpkg: add dpkg -l PACKAGE_PATTERN. By Peter Korsgaard</li>
-       <li>fbset: fix mode matching code: original code may trigger false positive.</li>
-       <li>findfs: fix LUKS and FAT detection routines; do not exit if corrupted FAT fs makes us try to seek past the end</li>
-       <li>grep: fix 'echo aaa | grep -o a' + ENABLE_EXTRA_COMPAT case. By Natanael Copa</li>
-       <li>grep: fix EXTRA_COMPAT grep to honor -E and -i</li>
-       <li>gunzip: restore mtime</li>
-       <li>halt: reinstate -w even if !FEATURE_WTMP</li>
-       <li>hexdump: fix SEGV in hexdump -e ""</li>
-       <li>httpd: pass "Accept:" and "Accept-Language:" header to CGI scripts (Alina Friedrichsen)</li>
-       <li>hush: fix environment and memory leaks</li>
-       <li>hush: fix trashing of environment by local env vars: a=a; a=b cmd; - a was unset</li>
-       <li>id: improve compatibility with coreutils. By Tito Ragusa</li>
-       <li>inetd: fix a case when we have zero services</li>
-       <li>inetd: use config parser. by Vladimir</li>
-       <li>init: set stderr to NONBLOCK</li>
-       <li>insmod: fix detection of open failure</li>
-       <li>install: support -D</li>
-       <li>ip: fix ip route rejecting dotted quads as prefix</li>
-       <li>ip: route metric support (Natanael Copa)</li>
-       <li>iplink: accept shorthands for "address" keyword: "ip link set address 00:11:22:33:44:55"</li>
-       <li>kbd_mode: support -C TTY</li>
-       <li>kill[all[5]]: accept -s SIG too. By Steve Bennett (steveb AT workware.net.au)</li>
-       <li>klogd: handle many lines at once. By Steve Bennett (steveb AT workware.net.au)</li>
-       <li>less: support -I to be able to search case-insensitively</li>
-       <li>less: add optional line number toggle and resizing on window resize</li>
-       <li>libbb: do not reject floating point strings like ".15"</li>
-       <li>lineedit: fix bug 5824 "since rev 23530 fdisk and ed don't work any more"</li>
-       <li>lineedit: fix problems with empty commands in history</li>
-       <li>login: fix /etc/nologin handling</li>
-       <li>man: fix inconsistencies in handling $MANPATH</li>
-       <li>mdev: support match by major,minor. See bug 4714</li>
-       <li>modprobe-small: make insmod command line compatible</li>
-       <li>modprobe-small: support "blacklist" keyword in /etc/modules/MODULE_NAME</li>
-       <li>modprobe: fix a segfault when modprobe is called with no arguments at all</li>
-       <li>modutils/*: rewrite by Timo Teras (timo.teras AT iki.fi)</li>
-       <li>mount: fix "-o parm1 -o parm2" not accumulating</li>
-       <li>nmeter: 4k buffers are too small for /proc files, make them dynamically sized with 16k upper limit</li>
-       <li>ping: SO_RCVBUF must be bigger than packet size, otherwise large ping packets might fail to be received</li>
-       <li>route: fix for 64-bit BE machines by Seonghun Lim (wariua AT gmail.com)</li>
-       <li>rpm: fix incompatibilities which prevented rpm -i foo.src.rpm</li>
-       <li>runsvdir: support runsvdir-as-init</li>
-       <li>setarch: do not try to use non-existent data in argv[]</li>
-       <li>setfont: support -m and -C, support -m TEXTUAL_MAP (by Vladimir)</li>
-       <li>setup_environment: cd $HOME regardless of clear_env value</li>
-       <li>slattach: preserve speed in non-raw mode. By Matthieu Castet (matthieu.castet AT parrot.com)</li>
-       <li>start_stop_daemon: accept (and ignore) -R PARAM</li>
-       <li>sv: make default service dir configurable (Vladimir wants it)</li>
-       <li>sysctl: fix bug 3894 (by Kryzhanovskyy Maksym)</li>
-       <li>tar: fix bug 3844: non-root tar does not preserve perms</li>
-       <li>telnetd: handle emacs M-DEL and IAC-NOP. by Jim Cathey (jcathey AT ciena.com)</li>
-       <li>top: fix "top -d 1" (bug 5144)</li>
-       <li>top: optional SMP support by Vineet Gupta (vineetg76 AT gmail.com)</li>
-       <li>trylink: make messages less confusing</li>
-       <li>unzip: handle "central directory". needed for OpenOffice, gmail attachment .zips etc</li>
-       <li>vi: Rob's algorithm of reading and matching ESC sequences (nice work btw!)</li>
-       <li>vi: deal with EOF/error on stdin and with input NULs</li>
-       <li>vi: fix uninitialized last_search_pattern (bug 5794)</li>
-       <li>vi: handle chars 0x80, 0x81 etc correctly</li>
-       <li>volume identification: abolish /proc/partitions and /proc/cdroms scanning. It does not catch volume managers and such. Simply scan /dev/* for any block devices</li>
-       <li>watchdog: WDIOC_SETTIMEOUT accepts seconds, not milliseconds</li>
-       <li>watchdog: add -T option</li>
-      </ul>
-    <p>
-    The email address gpl@busybox.net is the recommended way to contact
-    the Software Freedom Law Center to report BusyBox license violations.
-    </p>
-  </li>
-
-  <li><b>28 September 2008 -- BusyBox 1.12.1 (stable), BusyBox 1.11.3 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.12.1.tar.bz2">BusyBox 1.12.1</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.12.1/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p><a href="http://busybox.net/downloads/busybox-1.11.3.tar.bz2">BusyBox 1.11.3</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_11_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.11.3/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p>
-    Bugfix-only releases for 1.11.x and 1.12.x branches.
-    </p>
-  </li>
-
-  <li><b>21 August 2008 -- BusyBox 1.12.0 (unstable), BusyBox 1.11.2 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.12.0.tar.bz2">BusyBox 1.12.0</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.12.0/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p><a href="http://busybox.net/downloads/busybox-1.11.2.tar.bz2">BusyBox 1.11.2</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_11_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.11.2/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>Sizes of busybox-1.11.2 and busybox-1.12.0 (with equivalent config, static uclibc build):<pre>
-   text    data     bss     dec     hex filename
- 829687     617    7052  837356   cc6ec busybox-1.11.2/busybox
- 822961     594    6832  830387   cabb3 busybox-1.12.0/busybox
-</pre>
-
-    <p>New applets: rdev (Grant Erickson), setfont, showkey (both by Vladimir)
-
-    <p>Most significant changes since previous release (please report any regression):
-      <ul>
-       <li>ash: bash compat: "shift $BIGNUM" is equivalent to "shift 1"</li>
-       <li>ash: dont allow e.g. exec &lt;&amp;10 to attach to script's fd! </li>
-       <li>ash: fix a bug where redirection fds were not closed afterwards. optimize close+fcntl(DUPFD) into dup2</li>
-       <li>ash: fix segfault in "command -v"</li>
-       <li>ash: fix very weak $RANDOM generator</li>
-       <li>ash: prevent exec NN&gt;&amp;- from closing fd used for script reading</li>
-       <li>ash: teach ash about 123&gt;file. It could take only 0..9 before</li>
-       <li>hush: fix a case where "$@" must expand to no word at all</li>
-       <li>hush: fix mishandling of a'b'c=fff as assignments. They are not</li>
-       <li>hush: fix non-detection of builtins and applets in "v=break; ...; $v; ..." case</li>
-       <li>hush: fix "while false; ..." exitcode; add testsuites</li>
-       <li>hush: support "case...esac" statements (~350 bytes of code)</li>
-       <li>hush: support "break [N]" and "continue [N]" statements</li>
-       <li>hush: support "for if in do done then; do echo $if; done" case</li>
-       <li>hush: support "for v; do ... done" syntax (implied 'in "$@"')</li>
-       <li>hush: support $_NUMBERS variable names</li>
-       <li>libbb: unified config parser (by Vladimir). This change affected many applets</li>
-      </ul>
-
-    <p>Other changes:
-      <ul>
-       <li>libbb: dump: do not use uninitialized memory (closes bug 4364)</li>
-       <li>libbb: fix bb_strtol[l]'s check for "-" (closes bug 4174)</li>
-       <li>libbb: fix --help to not affect "test --help"</li>
-       <li>libbb: fix mishandling of "all argv are opts" in getopt32()</li>
-       <li>libbb: getopt32() should not ever touch argv[0] (even read)</li>
-       <li>libbb: introduce and use xrealloc_vector</li>
-       <li>libbb: [x]fopen_for_{read,write} introduced and used (by Vladimir)</li>
-       <li>lineedit: fix use-after-free</li>
-       <li>libunarchive: refactor handling of archived files. "tar f file.tar.lzma" now works too</li>
-       <li>bb_strtoXXX: close bug 4174 (potential use of buf[-1])</li>
-       <li>open_transformer: don't leak file descriptor</li>
-       <li>open_transformer: fix bug of calling exit instead of _exit</li>
-       <li>arp: without -H type, assume "ether" (closes bug 4564)</li>
-       <li>ar: reuse existing ar unpacking code</li>
-       <li>awk: fix a case with multiple -f options. Simplify -f file reading. </li>
-       <li>build system: introduce and use FAST_FUNC: regparm on i386, otherwise no-op</li>
-       <li>bunzip2: fix an uncompression error (by Rob Landley rob AT landley.net)</li>
-       <li>b[un]zip2, g[un]zip: unlink destination if -f is given (closes bug 3854)</li>
-       <li>comm: almost total rewrite</li>
-       <li>cpio: fix -m to actually work as expected (by Pascal Bellard)</li>
-       <li>cpio: internalize archive_xread_all_eof, add a few paranoia checks for corrupted cpio files</li>
-       <li>cpio: make long opts depend only on ENABLE_GETOPT_LONG</li>
-       <li>cpio: on unpack, limit filename length to 8k</li>
-       <li>cpio: support some long options</li>
-       <li>crond: use execlp instead of execl</li>
-       <li>cut: fix buffer overflow (closes bug 4544)</li>
-       <li>envdir: fix "envdir" (no params at all) and "envdir dir" cases</li>
-       <li>findfs: make it use setuid-ness of busybox binary</li>
-       <li>fsck: use getmntent_r instead of open-coded parsing (by Vladimir)</li>
-       <li>fuser: a bit of safety in scanf</li>
-       <li>grep: option to use GNU regex matching instead of POSIX one. This fixes problems with NULs in files being scanned, but costs +800 bytes</li>
-       <li>halt: signal init regardless of ENABLE_INIT</li>
-       <li>httpd: add homedir directive specially for (and by) Walter Harms wharms AT bfs.de</li>
-       <li>ifupdown: /etc/network/interfaces can have comments with leading blanks</li>
-       <li>ifupdown: fixes for custom MAC address (by Wade Berrier wberrier AT gmail.com)</li>
-       <li>ifupdown: fixes for shutdown of DHCP-managed interfaces (by Wade Berrier wberrier AT gmail.com)</li>
-       <li>inetd: do not trash errno in signal handlers; in CHLD handler, stop looping through services when pid is found</li>
-       <li>insmod: users report that "|| defined(__powerpc__)" is missing</li>
-       <li>install: do not chown intermediate directories with install -d (by Natanael Copa)</li>
-       <li>install: fix long option not taking params (closes bug 4584)</li>
-       <li>lpd,lpr: send/receive ACKs after filenames, not only after file bodies</li>
-       <li>ls: fix a bug where we may use uninintialized variable</li>
-       <li>man: add handling of "man links", by Ivana Varekova varekova AT redhat.com</li>
-       <li>man: fix a case when a full pathname to manpage is given</li>
-       <li>man: fix inverted cat/man bool variable</li>
-       <li>man: fix missed NULL termination of an array</li>
-       <li>man: mimic "no manual entry for 'bogus'" message and exitcode</li>
-       <li>man: support cat pages too (by Jason Curl jcurlnews AT arcor.de)</li>
-       <li>man: teach it to use .lzma if requested by .config</li>
-       <li>mdev: check for "/block/" substring for block dev detection</li>
-       <li>mdev: do not complain if mdev.conf does not exist</li>
-       <li>mdev: if device was moved at creation, at removal correctly remove it from moved location and also remove symlinks to it</li>
-       <li>mdev: support for serializing hotplug</li>
-       <li>mdev, init: use shared code for fd sanitization</li>
-       <li>mkdir: fix "uname 0222; mkdir -p foo/bar" case (by Doug Graham dgraham AT nortel.com)</li>
-       <li>modprobe: support for /etc/modprobe.d (by Timo Teras)</li>
-       <li>modprobe: use buffering line reads (fgets()) instead of reads()</li>
-       <li>modutils: optional modprobe-small (by Vladimir), 15kb smaller than standard one</li>
-       <li>mount: support for "-o mand" and "[no]relatime"</li>
-       <li>mount: support nfs mount option "nordiplus" (by Octavian Purdila opurdila AT ixiacom.com)</li>
-       <li>mount: support "relatime" / "norelatime"</li>
-       <li>mount: testsuite for "-o mand"</li>
-       <li>msh: fix "while... continue; ..." (closes bug 3884)</li>
-       <li>mv: fix a case when we move dangling symlink across mountpoints</li>
-       <li>netstat: optional -p support (by L. Gabriel Somlo somlo AT cmu.edu)</li>
-       <li>nmeter: fix read past the end of a buffer (closes bug 4594)</li>
-       <li>od, hexdump: fix bug where xrealloc may move pointer, leaving other pointers dangling (closes bug 4104)</li>
-       <li>pidof/killall: allow find_pid_by_name to find running processes started as scripts_with_name_longer_than_15_bytes.sh (closes bug 4054)</li>
-       <li>printf: do not print garbage on "%Ld" (closes bug 4214)</li>
-       <li>printf: fix %b, fix several bugs in %*.*, fix compat issues with aborting too early, support %zd; expand testsuite</li>
-       <li>printf: protect against bogus format specifiers (closes bug 4184)</li>
-       <li>sendmail: updates from Vladimir:</li>
-       <li>sendmail: do not discard all headers</li>
-       <li>sendmail: do not ignore CC; accept to: and cc: case-insensitively. +20 bytes</li>
-       <li>sendmail: fixed mail recipient address</li>
-       <li>sendmail: fixed SEGV if sender address is missed</li>
-       <li>sendmail: use HOSTNAME instead of HOST when no server is explicitly specified</li>
-       <li>sleep: if FANCY &amp;&amp; DESKTOP, support fractional seconds, minutes, hours and so on (coreutils compat)</li>
-       <li>ssd: CLOSE_EXTRA_FDS in MMU case too</li>
-       <li>ssd: do not stat -x EXECUTABLE, it is not needed anymore</li>
-       <li>ssd: fix -a without -x case</li>
-       <li>ssd: use $PATH</li>
-       <li>tar: fix handling of tarballs with symlinks with size field != 0</li>
-       <li>tar: handle autodetection for tiny .tar.gz files too, simplify autodetection</li>
-       <li>taskset: fix some careless code in both fancy and non-fancy cases. -5 bytes for fancy, +5 for non-fancy</li>
-       <li>tee: fix infinite looping on open error (echo asd | tee "")</li>
-       <li>tee: "-" is a name for stdout, handle it that way</li>
-       <li>telnetd: fix issue file printing</li>
-       <li>test: fix parser to prefer binop over unop, as coreutils does</li>
-       <li>testsuite: uniformly use $ECHO with -n -e</li>
-       <li>time: don't segfault with no arguments</li>
-       <li>touch: support -r REF_FILE if ENABLE_DESKTOP (needed for blackfin compile)</li>
-       <li>tr: fix "access past the end of a string" bug 4354</li>
-       <li>tr: fix "tr [=" case (closes bug 4374)</li>
-       <li>tr: fix yet another access past the end of a string (closes bug 4374)</li>
-       <li>unlzma: fix memory leak (by Pascal Bellard)</li>
-       <li>vi: fix reversed checks for underflow</li>
-       <li>vi: using array data after it fell out of scope is stupid</li>
-       <li>xargs: fix -e default to match newer GNU xargs, add SUS mandated -E (closes bug 4414)</li>
-       <li>other fixes and code size reductions in many applets</li>
-      </ul>
-    </p>
-
-  <li><b>12 July 2008 -- BusyBox 1.11.1 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.11.1.tar.bz2">BusyBox 1.11.1</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_11_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.11.1/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p>
-    Bugfix-only release for 1.11.x branch. It contains fixes for awk,
-    bunzip2, cpio, ifupdown, ip, man, start-stop-daemon, uname and vi.
-    </p>
-  </li>
-
-  <li><b>11 July 2008 -- HOWTO is updated</b>
-    <p>
-    <a href="http://busybox.net/~vda/HOWTO/i486-linux-uclibc/HOWTO.txt">
-    "How to build static busybox for i486-linux-uclibc"</a> is updated
-    and tested on a fresh Fedora 9 install. Please report if it doesn't
-    work for you.
-    </p>
-  </li>
-
-
-
-  <li><b>Old News</b><p>
-    Click here to read <a href="oldnews.html">older news</a>
-    </p>
-  </li>
-
-</ul>
-
-<!--#include file="footer.html" -->
-
diff --git a/docs/busybox.net/oldnews.html b/docs/busybox.net/oldnews.html
deleted file mode 100644 (file)
index 444af74..0000000
+++ /dev/null
@@ -1,2214 +0,0 @@
-<!--#include file="header.html" -->
-
-<h3>News archive</h3>
-
-<ul>
-
-  <li><b>25 June 2008 -- BusyBox 1.11.0 (unstable), BusyBox 1.10.4 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.11.0.tar.bz2">BusyBox 1.11.0</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_11_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.11.0/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p><a href="http://busybox.net/downloads/busybox-1.10.4.tar.bz2">BusyBox 1.10.4</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_10_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.10.4/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p>Sizes of busybox-1.10.4 and busybox-1.11.0 (with equivalent config, static uclibc build):<pre>
-   text    data     bss     dec     hex filename
- 800675     636    7080  808391   c55c7 busybox-1.10.4
- 798392     611    6900  805903   c4c0f busybox-1.11.0
-</pre>
-
-    <p>New applets: inotify (Vladimir Dronnikov), man (Ivana Varekova),
-    fbsplash (Michele Sanges), depmod (Bernhard Reutner-Fischer)
-
-    <p>Changes since previous release:
-      <ul>
-       <li>build system: reinstate CONFIG_CROSS_COMPILE_PREFIX</li>
-       <li>ash: optional bash compatibility features added; other fixes</li>
-       <li>hush: lots and lots of fixes</li>
-       <li>msh: fix the case where the file has exec bit but can't be run directly (runs "$SHELL file" instead)</li>
-       <li>msh: fix exit codes when command is not found or can't be execed</li>
-       <li>udhcpc: added workaround for buggy kernels</li>
-       <li>mount: fix mishandling of proto=tcp/udp</li>
-       <li>diff: make it work on non-seekable streams</li>
-       <li>openvt: made more compatible with "standard" one</li>
-       <li>mdev: fix block/char device detection</li>
-       <li>ping: add -w, -W support (James Simmons)</li>
-       <li>crond: add handling of "MAILTO=user" lines</li>
-       <li>start-stop-daemon: make --exec follow symlinks (Joakim Tjernlund)</li>
-       <li>date: make it accept ISO date format</li>
-       <li>echo: fix echo -e -n "msg\n\0" (David Pinedo)</li>
-       <li>httpd: fix several bugs triggered by relative path in -h DIR</li>
-       <li>printf: fix printf -%s- foo, printf -- -%s- foo</li>
-       <li>syslogd: do not error out on missing files to rotate</li>
-       <li>ls: support Unicode in names</li>
-       <li>ip: support for the LOWER_UP flag (Natanael Copa)</li>
-       <li>mktemp: make argument optional (coreutil 6.12 compat)</li>
-       <li>libiproute: fix option parsing, so that "ip -o link" works again</li>
-       <li>other fixes and code size reductions in many applets</li>
-      </ul>
-    <p>
-    The email address gpl@busybox.net is the recommended way to contact
-    the Software Freedom Law Center to report BusyBox license violations.
-    </p>
-  </li>
-
-  <li><b>12 June 2008 -- Sponsors!</b>
-    <p>We want to thank the following companies which are providing support
-    for the BusyBox project:
-    </p>
-      <ul>
-        <li>AOE media, a <a href="http://www.aoemedia.com/typo3-development.html">
-       TYPO3 development agency</a> contributes financially.</li>
-       <li><a href="http://www.analog.com/en/">Analog Devices, Inc.</a> provided
-        a <a href="http://docs.blackfin.uclinux.org/doku.php?id=bf537_quick_start">
-       Blackfin development board</a> free of charge.
-       <a href="http://www.analog.com/blackfin">Blackfin</a>
-       is a NOMMU processor, and its availability for testing is invaluable.
-       If you are an embedded device developer,
-       please note that Analog Devices has entire Linux distribution available
-       for download for this board. Visit
-       <a href="http://blackfin.uclinux.org/">http://blackfin.uclinux.org/</a>
-       for more information.
-       </li>
-      </ul>
-  </li>
-
-  <li><b>5 June 2008 -- BusyBox 1.10.3 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.10.3.tar.bz2">BusyBox 1.10.3</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_10_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.10.3/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p>
-    Bugfix-only release for 1.10.x branch. It contains fixes for dnsd, fuser, hush,
-    ip, mdev and syslogd.
-    </p>
-  </li>
-
-  <li><b>8 May 2008 -- BusyBox 1.10.2 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.10.2.tar.bz2">BusyBox 1.10.2</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_10_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.10.2/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p>
-    Bugfix-only release for 1.10.x branch. It contains fixes for echo, httpd, pidof,
-    start-stop-daemon, tar, taskset, tab completion in shells, build system.
-    <p>Please note that mdev was backported from current svn trunk. Please
-    report if you encounter any problems with it.
-    </p>
-  </li>
-
-  <li><b>19 April 2008 -- BusyBox 1.10.1 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.10.1.tar.bz2">BusyBox 1.10.1</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_10_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.10.1/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p>
-    Bugfix-only release for 1.10.x branch. It contains fixes for
-    fuser, init, less, nameif, tail, taskset, tcpudp, top, udhcp.
-  </li>
-
-  <li><b>21 March 2008 -- BusyBox 1.10.0 (unstable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.10.0.tar.bz2">BusyBox 1.10.0</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_10_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.10.0/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>Sizes of busybox-1.9.2 and busybox-1.10.0 (with almost full config, static uclibc build):<pre>
-   text    data     bss     dec     hex filename
- 781405     679    7500  789584   c0c50 busybox-1.9.2
- 773551     640    7372  781563   becfb busybox-1.10.0
-</pre>
-    <p>Top 10 stack users:<pre>
-busybox-1.9.2:               busybox-1.10.0:
-echo_dg                 4116 bb_full_fd_action       4112
-bb_full_fd_action       4112 find_list_entry2        4096
-discard_dg              4108 readlink_main           4096
-discard_dg              4096 ipaddr_list_or_flush    3900
-echo_stream             4096 iproute_list_or_flush   3680
-discard_stream          4096 insmod_main             3152
-find_list_entry2        4096 fallbackSort            2952
-readlink_main           4096 do_iproute              2492
-ipaddr_list_or_flush    3900 cal_main                2464
-iproute_list_or_flush   3680 readhere                2308
-</pre>
-
-    <p>New applets: brctl, chat (by Vladimir Dronnikov &lt;dronnikov AT gmail.com&gt;),
-       findfs, ifenslave (closes bug 115), lpd (by Vladimir Dronnikov &lt;dronnikov AT gmail.com&gt;),
-       lpr+lpq (by Walter Harms), script (by Pascal Bellard &lt;pascal.bellard AT ads-lu.com&gt;),
-       sendmail (Vladimir Dronnikov &lt;dronnikov AT gmail.com&gt;), tac, tftpd.
-    </p>
-    <p>Made NOMMU-compatible: crond, crontab, ifupdown, inetd, init, runsv, svlogd, tcpsvd, udpsvd.
-    </p>
-    <p>Changes since previous release:
-    </p>
-      <ul>
-       <li>globally: add -Wunused-parameter</li>
-       <li>globally: add optimization barrier to all "G trick" locations</li>
-       <li>adduser/addgroup: check username for invalid chars (by Tito &lt;farmatito AT tiscali.it&gt;)</li>
-       <li>adduser: optional support for long options. Closes bug 2134</li>
-       <li>ash: handle "A=1 A=2 B=$A; echo $B". Closes bug 947</li>
-       <li>ash: make ash -c "if set -o barfoo 2&gt;/dev/null; then echo foo; else echo bar; fi" work. Closes bug 1142</li>
-       <li>build system: don't use "gcc -o /dev/null", old gcc can delete /dev/null in this case</li>
-       <li>build system: fixes for cross-compiling on an OS X host</li>
-       <li>build system: make it do without "od -t"</li>
-       <li>build system: pass CFLAGS to link stage too. Closes bug 1376</li>
-       <li>build system: add CONFIG_NOMMU</li>
-       <li>cp: add ENABLE_FEATURE_VERBOSE_CP_MESSAGE. Closes bug 1470</li>
-       <li>crontab: almost complete rewrite</li>
-       <li>dnsd: properly set _src_ IP:port on outgoing UDP packets</li>
-       <li>dpkg: fix bug where existence check was reversed</li>
-       <li>eject: add -s for SCSI- and USB-devices (Nico Erfurth)</li>
-       <li>fdisk: fix a case where break was reached only for DOS labels</li>
-       <li>fsck: don't kill pid -1! (Roy Marples &lt;roy at marples.name&gt;)</li>
-       <li>fsck_minix: fix bug in map_block2: s/(blknr &gt;= 256 * 256)/(blknr &lt; 256 * 256)/</li>
-       <li>fuser: substantial rewrite</li>
-       <li>getopt: add support for "a+" specifier for nonnegative int parameters. By Vladimir Dronnikov &lt;dronnikov at gmail.com&gt;</li>
-       <li>getty: don't try to detect parity on local lines (Joakim Tjernlund &lt;Joakim.Tjernlund at transmode.se&gt;)</li>
-       <li>halt: write wtmp entry if wtmp support is enabled</li>
-       <li>httpd: "HEAD" support. Closes bug 1530</li>
-       <li>httpd: fix bug 2004: wrong argv when interpreter is invoked</li>
-       <li>httpd: fix bug where we did chdir("") if CGI path had only one "/"</li>
-       <li>httpd: fix for POST upload</li>
-       <li>httpd: support for "I:index.xml" syntax (Peter Korsgaard &lt;jacmet AT uclibc.org&gt;)</li>
-       <li>hush: fix a case where none of pipe members could be started because of fork failure</li>
-       <li>hush: more correct handling of piping</li>
-       <li>hush: reinstate `cmd` handling for NOMMU</li>
-       <li>hush: report [v]fork failures</li>
-       <li>hush: set CLOEXEC on script file being executed</li>
-       <li>hush: try to add a bit more of vfork-friendliness</li>
-       <li>inetd: make "udp nowait" work</li>
-       <li>inetd: make inetd IPv6-capable</li>
-       <li>init: add FEATURE_KILL_REMOVED (Eugene Bordenkircher &lt;eugebo AT gmail.com&gt;)</li>
-       <li>init: allow last line of config file to be not terminated by "\n"</li>
-       <li>init: do not die if "/dev/null" is missing</li>
-       <li>init: fix bug 1111: restart actions were not splitting words</li>
-       <li>init: wait for orphaned children too while waiting for sysinit-like processes (harald-tuxbox AT arcor.de)</li>
-       <li>ip route: "ip route" was misbehaving (extra argv+1 ate 1st env var)</li>
-       <li>last: do not go into endless loop on read error</li>
-       <li>less,klogd,syslogd,nc,tcpudp: exit on signal by killing itself, not exit(1)</li>
-       <li>less: "examine" command will not bomb out on bad file name now</li>
-       <li>less: fix bug where backspace wasn't actually deleting chars</li>
-       <li>less: make it a bit more resistant against status line corruption</li>
-       <li>less: improve search when data is not supplied fast enough by stdin - now will try reading for 1-2 seconds before declaring that there is no match. This fixes a very common annoyance with long manpages</li>
-       <li>less: update line input so that it doesn't interfere with screen update. Makes "man bash", [enter], [/], &lt;enter search pattern&gt;, [enter] more usable - manpage now draws even as you enter the pattern!</li>
-       <li>libbb: filename completion matches dangling symlinks too</li>
-       <li>libbb: fix getopt state corruption for NOFORK applets</li>
-       <li>libbb: full_read/write now will report partial data counts prior to error</li>
-       <li>libbb: intrduce and use safe_gethostname. By Tito &lt;farmatito AT tiscali.it&gt;</li>
-       <li>libbb: introduce and use nonblock_safe_read(). Yay! Our shells are immune from this nasty O_NONBLOCK now!</li>
-       <li>login,su: avoid clearing environment with some options, as was intended</li>
-       <li>microcom: read more than 1 byte from device, if possible</li>
-       <li>microcom: split -d (delay) option away from -t</li>
-       <li>mktemp: support -p DIR (Timo Teras &lt;timo.teras at iki.fi&gt;)</li>
-       <li>mount: #ifdef out MOUNT_LABEL code parts if it is not selected</li>
-       <li>mount: add another mount helper call method</li>
-       <li>mount: allow and ignore _netdev option</li>
-       <li>mount: make -f work even without mtab support (Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn at axis.com&gt;)</li>
-       <li>mount: optional support for -vv verbosity</li>
-       <li>mount: plug a hole where FEATURE_MOUNT_HELPERS could allow execution of arbitrary command</li>
-       <li>mount: recognize "dirsync" (closes bug 835)</li>
-       <li>mount: sanitize environment if called by non-root</li>
-       <li>mount: support for mount by label. Closes bug 1143</li>
-       <li>mount: with -vv -f, say what mount() calls we were going to make</li>
-       <li>msh: create testsuite (based on hush one)</li>
-       <li>msh: don't use floating point in "times" builtin</li>
-       <li>msh: fix Ctrl-C handling with line editing</li>
-       <li>msh: fix for bug 846 ("break" didn't work second time)</li>
-       <li>msh: glob0/glob1/glob2/glob3 were just a sorting routine, removed</li>
-       <li>msh: instead of fixing "ls | cd", "cd | ls" etc disallow builtins in pipes. They make no sense there anyway</li>
-       <li>msh: stop trying to parse variables in "msh SCRIPT VAR=val param". They are passed as ordinary parameters</li>
-       <li>netstat: print control chars as "^C" etc</li>
-       <li>nmeter: fix bug where %[mf] behaves as %[mt]</li>
-       <li>nohup: compat patch by Christoph Gysin &lt;mailinglist.cache at gmail.com&gt;</li>
-       <li>od: handle /proc files (which have filesize 0) correctly</li>
-       <li>patch: don't trash permissions of patched file</li>
-       <li>ps: add conditional support for -o [e]time</li>
-       <li>ps: fix COMMAND column adjustment; overflow in USER and VSZ columns</li>
-       <li>reset: call "stty sane". Closes bug 1414</li>
-       <li>rmdir: optional long options support for Debian users. By Roberto Gordo Saez &lt;roberto.gordo AT gmail.com&gt;</li>
-       <li>run-parts: add --reverse</li>
-       <li>script: correctly handle buffered "tail" of output</li>
-       <li>sed: "n" command must reset "we had successful subst" flag. Closes bug 1214</li>
-       <li>sort: -z outputs NUL terminated lines. Closes bug 1591</li>
-       <li>stty: fix mishandling of control keywords (Ralf Friedl &lt;Ralf.Friedl AT online.de&gt;)</li>
-       <li>switch_root: stop at first non-option. Closes bug 1425</li>
-       <li>syslogd: avoid excessive time() system calls</li>
-       <li>syslogd: don't die if remote host's IP cannot be resolved. Retry resolutions every two minutes instead</li>
-       <li>syslogd: fix shmat error check</li>
-       <li>syslogd: optional support for dropping dups. Closes bug 436</li>
-       <li>syslogd: send "\n"-terminated messages over the network. Fully closes bug 1574</li>
-       <li>syslogd: tighten up hostname handling</li>
-       <li>tail: fix "tail -c 20 /dev/huge_disk" (was taking ages)</li>
-       <li>tar: compat: handle tarballs with only one zero block at the end</li>
-       <li>tar: autodetection of gz/bz2 compressed tarballs. Closes bug 992</li>
-       <li>tar: real support for -p. By Natanael Copa &lt;natanael.copa at gmail.com&gt;</li>
-       <li>tcpudp: narrow down time window where we have no wildcard socket</li>
-       <li>telnetd: use login always, not "sometimes login, sometimes shell"</li>
-       <li>test: fix mishandling of "test ! arg1 op arg2 more args"</li>
-       <li>trylink: instead of build error, disable --gc-sections if GLIBC and STATIC are selected</li>
-       <li>udhcp: make file paths configurable</li>
-       <li>udhcp: optional support for non-standard DHCP ports</li>
-       <li>udhcp: set correct op byte in the packet for DHCPDECLINE</li>
-       <li>udhcpc: filter unwanted packets in kernel (Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn AT axis.com&gt;)</li>
-       <li>udhcpc: fix wrong options in decline and release packets (Jonas Danielsson &lt;jonas.danielsson AT axis.com&gt;)</li>
-       <li>umount: do not complain several times about the same mountpoint</li>
-       <li>umount: do not try to free loop device or erase mtab if remounted ro</li>
-       <li>umount: instead of non-standard -D, use -d with opposite meaning. Closes bug 1604</li>
-       <li>unlzma: shrink by Pascal Bellard &lt;pascal.bellard AT ads-lu.com&gt;</li>
-       <li>unzip: do not try to read entire compressed stream at once (it can be huge)</li>
-       <li>unzip: handle short reads correctly</li>
-       <li>vi: many fixes</li>
-       <li>zcip: don't chdir to root</li>
-       <li>zcip: open ARP socket before openlog (else we can trash syslog socket)</li>
-      </ul>
-  </li>
-
-  <li><b>21 March 2008 -- BusyBox old stable releases</b>
-    <p>
-    Bugfix-only releases for four past branches. Links to locations
-    for future hot patches are in parentheses.
-    <p>
-    <a href="http://busybox.net/downloads/busybox-1.9.2.tar.bz2">1.9.2</a>
-    (<a href="http://busybox.net/downloads/fixes-1.9.2/">patches</a>),
-    <a href="http://busybox.net/downloads/busybox-1.8.3.tar.bz2">1.8.3</a>
-    (<a href="http://busybox.net/downloads/fixes-1.8.3/">patches</a>),
-    <a href="http://busybox.net/downloads/busybox-1.7.5.tar.bz2">1.7.5</a>
-    (<a href="http://busybox.net/downloads/fixes-1.7.5/">patches</a>),
-    <a href="http://busybox.net/downloads/busybox-1.5.2.tar.bz2">1.5.2</a>
-    (<a href="http://busybox.net/downloads/fixes-1.5.2/">patches</a>).
-    <p>
-    <a href="http://busybox.net/fix.html">How to add a patch.</a>
-    </p>
-
-
-  <li><b>12 February 2008 -- BusyBox 1.9.1 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.9.1.tar.bz2">BusyBox 1.9.1</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_9_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.9.1/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>This is a bugfix-only release, with fixes to fsck,
-    iproute, mdev, mkswap, msh, nameif, stty, test, zcip.</p>
-    <p>hush has `command` expansion re-enabled for NOMMU, although it is
-    inherently unsafe (by virtue of NOMMU's use of vfork instead of fork).
-    The plan is to make this less likely to bite people in future versions.</p>
-  </li>
-
-  <li><b>24 December 2007 -- BusyBox 1.9.0 (unstable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.9.0.tar.bz2">BusyBox 1.9.0</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_9_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.9.0/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>Sizes of busybox-1.8.2 and busybox-1.9.0 (with almost full config, static uclibc build):<pre>
-   text    data     bss     dec     hex filename
- 792796     978    9724  803498   c42aa busybox-1.8.2
- 783803     683    7508  791994   c15ba busybox-1.9.0
-</pre>
-    <p>Top 10 stack users:<pre>
-busybox-1.8.2:               busybox-1.9.0:
-input_tab             10428  echo_dg                4116
-umount_main            8252  bb_full_fd_action      4112
-rtnl_talk              8240  discard_dg             4096
-xrtnl_dump_filter      8240  echo_stream            4096
-sendMTFValues          5316  discard_stream         4096
-mainSort               4700  find_list_entry2       4096
-mkfs_minix_main        4288  readlink_main          4096
-grave                  4260  ipaddr_list_or_flush   3900
-unix_do_one            4156  iproute_list_or_flush  3680
-parse_prompt           4132  insmod_main            3152
-</pre>
-
-    <p>lash is deleted from this release. hush can be configured down to almost
-       the same size, but it is significantly less buggy. It even works
-       on NOMMU machines (interactive mode and backticks are not working on NOMMU,
-       though). "lash" applet is still available, but it runs hush.
-
-    <p>init has some changes in this release, please report if it causes
-       problems for you.
-
-    <p>Changes since previous release:
-      <ul>
-       <li>Build system improvements
-       <li>Testsuite additions
-       <li>Stack size reductions, code size reductions, data/bss reductions
-       <li>An option to prefer IPv4 address if host has both
-       <li>New applets: hd, sestatus
-       <li>Removed applets: lash
-       <li>hush: fixed a few bugs, wired up echo and test to be builtins
-       <li>init: simplify forking of children
-       <li>getty: special handling of '#' and '@' is removed
-       <li>[su]login: sanitize environment if called by non-root
-       <li>udhcpc: support "bad" servers which send oversized packets
-         (Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn at axis.com&gt;)
-       <li>udhcpc: -O option allows to specify which options to ask for
-         (Stefan Hellermann &lt;stefan at the2masters.de&gt;)
-       <li>udhcpc: optionally check whether given IP is really free (by ARP ping)
-         (Jonas Danielsson &lt;jonas.danielsson at axis.com&gt;)
-       <li>vi: now handles files with unlimited line length
-       <li>vi: speedup for huge line lengths
-       <li>vi: Del key works
-       <li>sed: support GNUism '\t'
-       <li>cp/mv/install: optionally use bigger buffer for bulk copying
-       <li>line editing: don't eat stack like crazy
-       <li>passwd: follows symlinked /etc/passwd
-       <li>renice: accepts priority with +N too
-       <li>netstat: wide output mode
-       <li>nameif: extended matching (Nico Erfurth &lt;masta at perlgolf.de&gt;)
-       <li>test: become NOFORK applet
-       <li>find: -iname (Alexander Griesser &lt;alexander.griesser at lkh-vil.or.at&gt;)
-       <li>df: -i option (show inode info) (Pascal Bellard &lt;pascal.bellard at ads-lu.com&gt;)
-       <li>hexdump: -R option (Pascal Bellard &lt;pascal.bellard at ads-lu.com&gt;)
-      </ul>
-  </li>
-
-  <li><b>23 November 2007 -- BusyBox 1.8.2 (stable), BusyBox 1.7.4 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.8.2.tar.bz2">BusyBox 1.8.2</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_8_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.8.2/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-    <p><a href="http://busybox.net/downloads/busybox-1.7.4.tar.bz2">BusyBox 1.7.4</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_7_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.7.4/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>These are bugfix-only releases.
-    1.8.2 contains fixes for inetd, lash, tar, tr, and build system.
-    1.7.4 contains a fix for inetd.</p>
-  </li>
-
-  <li><b>9 November 2007 -- BusyBox 1.8.1 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.8.1.tar.bz2">BusyBox 1.8.1</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_8_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.8.1/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>This is a bugfix-only release, with fixes to login (PAM), modprobe, syslogd, telnetd, unzip.</p>
-  </li>
-
-  <li><b>4 November 2007 -- BusyBox 1.8.0 (unstable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.8.0.tar.bz2">BusyBox 1.8.0</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_8_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.8.0/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>Note: this is probably the very last release with lash. It will be dropped. Please migrate to hush.
-
-    <p>Applets which had many changes since 1.7.x:
-    <p>httpd:
-      <ul>
-       <li>does not clear environment, CGIs will see all environment variables which were set for httpd
-       <li>fix bug where we were trying to read more POSTDATA than content-length
-       <li>fix trivial bug (spotted by Alex Landau)
-       <li>optional support for partial downloads
-       <li>simplified CGI i/o loop (now it looks good to me)
-       <li>small auth and IPv6 fixes (Kim B. Heino &lt;Kim.Heino at bluegiga.com>)
-       <li>support for proxying connection to other http server (by Alex Landau &lt;landau_alex at yahoo.com>)
-      </ul>
-
-    <p>top:
-      <ul>
-       <li>TOPMEM feature - 's(how sizes)' command
-       <li>don't wait before final bailout (try top -b -n1)
-       <li>fix for command line wrapping
-      </ul>
-
-    <p>Build system improvements: libbusybox mode restored (it was lost in transition to new makefiles).
-
-    <p>Code and data size in comparison with 1.7.3:<pre>
-Equivalent .config, i386 uclibc static builds:
-   text    data     bss     dec     hex filename
- 768123           1055   10768  779946   be6aa busybox-1.7.3/busybox
- 759693            974    9420  770087   bc027 busybox-1.8.0/busybox</pre>
-
-    <p>New applets:
-      <ul>
-       <li>microcom: new applet by Vladimir Dronnikov &lt;dronnikov at gmail.ru&gt;
-       <li>kbd_mode: new applet by Loic Grenie &lt;loic.grenie at gmail.com&gt;
-       <li>bzip2: port bzip2 1.0.4 to busybox, 9 kb of code
-       <li>pgrep, pkill: new applets by Loic Grenie &lt;loic.grenie at gmail.com&gt;
-       <li>setsebool: new applet (Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
-      </ul>
-
-    <p>Other changes since previous release (abridged):
-      <ul>
-       <li>cp: -r and -R imply -d (coreutils compat)
-       <li>cp: detect and prevent infinite recursion
-       <li>cp: make it a bit closer to POSIX, but still refuse to open and overwrite symbolic link
-       <li>hdparm: reduce possibility of numeric overflow in -T
-       <li>hdparm: simplify timing measurement
-       <li>wget: -O FILE is allowed to overwrite existing file (compat)
-       <li>wget: allow dots in header field names
-       <li>telnetd: add -K option to close sessions as soon as child exits
-       <li>telnetd: don't SIGKILL child when closing the session, kernel will send SIGHUP for us
-       <li>ed: large cleanup, add line editing
-       <li>hush: feeble attempt at making it more NOMMU-friendly
-       <li>hush: fix glob()
-       <li>hush: stop doing manual accounting of open fd's, kernel can do it for us
-       <li>adduser: implement -S and fix uid selection
-       <li>ash: fix prompt expansion (Natanael Copa &lt;natanael.copa at gmail.com&gt;)
-       <li>ash: revert "cat | jobs" fix, it causes more problems than good
-       <li>find: fix -xdev behavior in the presence of two or more nested mount points
-       <li>grep: fix grep -F -e str1 -e str2 (was matching str2 only)
-       <li>grep: optimization: stop on first -e match
-       <li>gunzip: support concatenated gz files
-       <li>inetd: fix bug 1562 "inetd does not set argv[0] properly" (fix by Ilya Panfilov)
-       <li>install: 'support' (by ignoring) -v and -b
-       <li>install: fix bug in "install -c file dir" (tried to copy dir into dir too)
-       <li>ip: tunnel parameter parsing fix by Jean Wolter &lt;jw5 at os.inf.tu-dresden.de&gt;
-       <li>isrv: use monotonic_sec
-       <li>less: make 'f' key page forward
-       <li>libiproute: add missing break statements
-       <li>load_policy: update (Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
-       <li>logger: fix a problem of losing all argv except first
-       <li>login: do reject wrong passwords with PAM auth
-       <li>losetup: support -f (Loic Grenie &lt;loic.grenie at gmail.com&gt;)
-       <li>fdisk: make fdisk compile on libc without llseek64
-       <li>libbb: by popular request allow PATH to be customized at build time
-       <li>mkswap: selinux support by KaiGai Kohei &lt;kaigai at ak.jp.nec.com&gt;
-       <li>mount: allow (and ignore) -i
-       <li>mount: ignore NFS bg option on NOMMU machines
-       <li>mount: mount helpers support (by Vladimir Dronnikov &lt;dronnikov at gmail.ru&gt;)
-       <li>passwd: handle Ctrl-C, restore termios on Ctrl-C
-       <li>passwd: SELinux support by KaiGai Kohei &lt;kaigai at ak.jp.nec.com&gt;
-       <li>ping: make -I ethN work too (-I addr already worked)
-       <li>ps: fix RSS parsing (rss field in /proc/PID/stat is in pages, not bytes)
-       <li>read_line_input: fix it to not do any fancy editing if echoing is disabled
-       <li>run_parts: make it sort executables by name (required by API)
-       <li>runsv: do not use clock_gettime if !MONOTONIC_CLOCK
-       <li>runsvdir: fix "linear wait time" bug
-       <li>sulogin: remove alarm handling, it is redundant there
-       <li>svlogd: compat: svlogd -tt should timestamp stderr too
-       <li>syslogd: bail out if you see null read from Unix socket
-       <li>syslogd: do not need to poll(), we can just block in read()
-       <li>tail: work correctly on /proc files (Kazuo TAKADA &lt;kztakada at sm.sony.co.jp&gt;)
-       <li>tar + gzip/bzip2/etc: support NOMMU machines (by Alex Landau &lt;landau_alex at yahoo.com&gt;)
-       <li>tar: strip leading '/' BEFORE memorizing hardlink's name
-       <li>tftp: fix infinite retry bug
-       <li>umount: support (by ignoring) -i; style fixes
-       <li>unzip: fix endianness bugs
-       <li>vi: don't wait 50 ms before reading ESC sequences
-       <li>watchdog: allow millisecond spec (-t 250ms)
-       <li>zcip: fix unaligned trap on ARM
-      </ul>
-  </li>
-
-  <li><b>4 November 2007 -- BusyBox 1.7.3 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.7.3.tar.bz2">BusyBox 1.7.3</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_7_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.7.3/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>This is a bugfix-only release, with fixes to ash, httpd, inetd, iptun, logger, login, tail.</p>
-  </li>
-
-  <li><b>30 September 2007 -- BusyBox 1.7.2 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.7.2.tar.bz2">BusyBox 1.7.2</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_7_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.7.2/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>This is a bugfix-only release, with fixes to install, find, login, httpd, runsvdir, chcon, setfiles, fdisk and line editing.</p>
-  </li>
-
-  <li><b>16 September 2007 -- BusyBox 1.7.1 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.7.1.tar.bz2">BusyBox 1.7.1</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_7_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.7.1/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>This is a bugfix-only release, with fixes to cp, runsv, tar, busybox --install and build system.</p>
-  </li>
-
-  <li><b>24 August 2007 -- BusyBox 1.7.0 (unstable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.7.0.tar.bz2">BusyBox 1.7.0</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_7_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.7.0/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>Applets which had many changes since 1.6.x:
-    <p>httpd:
-      <ul>
-       <li>works in standalone mode on NOMMU machines now (partly by Alex Landau &lt;landau_alex at yahoo.com&gt;)
-       <li>indexer example is rewritten in C
-       <li>optional support for error pages (by Pierre Metras &lt;genepi at sympatico.ca&gt;)
-       <li>stop reading headers using 1-byte reads
-       <li>new option -v[v]: prints client addresses, HTTP codes returned, URLs
-       <li>extended -p PORT to -p [IP[v6]:]PORT
-       <li>sendfile support (by Pierre Metras &lt;genepi at sympatico.ca&gt;)
-       <li>add support for Status: CGI header
-       <li>fix CGI handling bug (we were closing wrong fd)
-       <li>CGI I/O loop still doesn't look 100% ok to me...
-      </ul>
-
-    <p>udhcp[cd]:
-      <ul>
-       <li>add -f "foreground" and -S "syslog" options
-       <li>fixed "ifupdown + udhcpc_without_pidfile_creation" bug
-       <li>new config option "Rewrite the lease file at every new acknowledge" (Mats Erik Andersson &lt;mats at blue2net.com&gt; (Blue2Net AB))
-       <li>consistently treat server_config.start/end IPs as host-order
-       <li>fix IP parsing for 64bit machines
-       <li>fix unsafe hton macro usage in read_opt()
-       <li>do not chdir to / when daemonizing
-      </ul>
-
-    <p>top, ps, killall, pidof:
-      <ul>
-       <li>simpler loadavg processing
-       <li>truncate usernames to 8 chars
-       <li>fix non-CONFIG_DESKTOP ps -ww (by rockeychu)
-       <li>improve /proc/PID/cmdinfo reading code
-       <li>use cmdline, not comm field (fixes problems with re-execed applets showing as processes with name "exe", and not being found by pidof/killall by applet name)
-       <li>reduce CPU usage in decimal conversion (optional) (corresponding speedup on kernel side is accepted in mainline Linux kernel, yay!)
-       <li>make percentile (0.1%) calculations configurable
-       <li>add config option and code for global CPU% display
-       <li>reorder columns, so that [P]PIDs are together and VSZ/%MEM are together - makes more sense
-      </ul>
-
-    <p>Build system improvements: doesn't link against libraries we don't need,
-       generates verbose link output and map file, allows for custom link
-       scripts (useful for removing extra padding, among other things).
-
-    <p>Code and data size in comparison with 1.6.1:<pre>
-Equivalent .config, i386 glibc dynamic builds:
-   text    data     bss     dec     hex filename
- 672671    2768   16808  692247   a9017 busybox-1.6.1/busybox
- 662948    2660   13528  679136   a5ce0 busybox-1.7.0/busybox
- 662783    2631   13416  678830   a5bae busybox-1.7.0/busybox.customld
-
-Same .config built against static uclibc:
- 765021    1059   11020  777100   bdb8c busybox-1.7.0/busybox_uc</pre>
-
-    <p>Code/data shrink done in applets: crond, hdparm, dd, cal, od, nc, expr, uuencode,
-       test, slattach, diff, ping, tr, syslogd, hwclock, zcip, find, pidof, ash, uudecode,
-       runit/*, in libbb.
-
-    <p>New applets:
-      <ul>
-       <li>pscan, expand, unexpand (from Tito &lt;farmatito at tiscali.it&gt;)
-       <li>setfiles, restorecon (by Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
-       <li>chpasswd (by Alexander Shishkin &lt;virtuoso at slind.org&gt;)
-       <li>slattach, ttysize
-      </ul>
-
-    <p>Unfortunately, not much work is done on shells. This was mostly stalled
-       by lack of time (read: laziness) on my part to learn how to adapt existing
-       qemu-runnable image for a NOMMU architechture (available on qemu website)
-       for local testing of cross-compiled busybox on my machine.
-
-    <p>Other changes since previous release (abridged):
-      <ul>
-       <li>addgroup: disallow addgroup -g num user group; make -g 0 work (Tito &lt;farmatito at tiscali.it&gt;)
-       <li>adduser: close /etc/{passwd,shadow} before calling passwd etc. Spotted by Natanael Copa &lt;natanael.copa at gmail.com&gt;
-       <li>arping: -i should be -I, fixed
-       <li>ash: make "jobs | cat" work like in bash (was giving empty output)
-       <li>ash: recognize -l as --login equivalent; do not recognize +-login
-       <li>ash: fix buglet in DEBUG code (Nguyen Thai Ngoc Duy &lt;pclouds at gmail.com&gt;)
-       <li>ash: fix SEGV if type has zero parameters
-       <li>awk: fix -F 'regex' bug (miscounted fields if last field is empty)
-       <li>catv: catv without arguments was trying to use environ as argv (Alex Landau &lt;landau_alex at yahoo.com&gt;)
-       <li>catv: don't die on open error (emit warning)
-       <li>chown/chgrp: completely match coreutils 6.8 wrt symlink handling
-       <li>correct_password: do not print "no shadow passwd..." message
-       <li>crond: don't start sendmail with absolute path, don't report obsolete version (report true bbox version)
-       <li>dd: fix bug where we assume count=INT_MAX when count is unspecified
-       <li>devfsd: sanitization by Tito &lt;farmatito at tiscali.it&gt;
-       <li>echo: fix non-fancy echo
-       <li>fdisk: make it work with big disks (read: typical today's disks) even if CONFIG_LFS is unset
-       <li>find: -context support for SELinux (KaiGai Kohei &lt;kaigai at kaigai.gr.jp&gt;)
-       <li>find: add conditional support for -maxdepth and -regex, make -size match GNU find
-       <li>find: fix build failure on certain configs (found by Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn at axis.com&gt;)
-       <li>fsck_minix: make it print bb version, not it's own (outdated/irrelevant) one
-       <li>grep: implement -m MAX_MATCHES, fix buglets with context printing
-       <li>grep: fix selection done by FEATURE_GREP_EGREP_ALIAS (Maxime Bizon &lt;mbizon at freebox.fr&gt; (Freebox))
-       <li>hush: add missing dependencies (Maxime Bizon &lt;mbizon at freebox.fr&gt; (Freebox))
-       <li>hush: fix read builtin to not read ahead past EOL and to not use insane amounts of stack
-       <li>ifconfig: make it work with ifaces with interface no. &gt; 255
-       <li>ifup/ifdown: make location of ifstate configurable
-       <li>ifupdown: make netmask parsing smaller and more strict (was accepting 255.0.255.0, 255.1234.0.0 etc...)
-       <li>install: fix -s (strip) option, fix install a b /a/link/to/dir
-       <li>libbb: consolidate ARRAY_SIZE macro (Walter Harms &lt;wharms at bfs.de&gt;)
-       <li>libbb: make /etc/network parsing configurable. -200 bytes when off
-       <li>libbb: nuke BB_GETOPT_ERROR, always die if there are mutually exclusive options
-       <li>libbb: xioctl and friends by Tito &lt;farmatito at tiscali.it&gt;
-       <li>login: optional support for PAM
-       <li>login: make /etc/nologin support configurable (-240 bytes)
-       <li>login: ask passwords even for wrong usernames
-       <li>md5_sha1_sum: fix mishandling when run as /bin/md5sum
-       <li>mdev: add support for firmware loading
-       <li>mdev: work even when CONFIG_SYSFS_DEPRECATED in kernel is off
-       <li>modprobe: add scanning of /lib/modules/`uname -r`/modules.symbols (by Yann E. MORIN &lt;yann.morin.1998 at anciens.enib.fr&gt;)
-       <li>more: fixes by Tristan Schmelcher &lt;tpkschme at engmail.uwaterloo.ca&gt;
-       <li>nc: make connecting to IPv4 from IPv6-enabled hosts easier (was requiring -s local_addr)
-       <li>passwd: fix bug "updating shadow even if user's record is in passwd"
-       <li>patch: fix -p -1 handling
-       <li>patch: fix bad line ending handling (Nguyen Thai Ngoc Duy &lt;pclouds at gmail.com&gt;)
-       <li>ping: display roundtrip times with 1/1000th of ms, not 1/10 ms precision.
-       <li>ping: fix incorrect handling of -I (Iouri Kharon &lt;bc-info at styx.cabel.net&gt;)
-       <li>ping: fix non-fancy ping6
-       <li>printenv: fix "printenv VAR1 VAR2" bug (spotted by Kalyanatejaswi Balabhadrapatruni &lt;kalyanatejaswi at yahoo.co.in&gt;)
-       <li>ps: fix -Z (by Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
-       <li>rpm: add optional support for bz2 data. +50 bytes of code
-       <li>rpm: fix bogus "package is not installed" case
-       <li>sed: fix 'q' command handling (by Nguyen Thai Ngoc Duy &lt;pclouds at gmail.com&gt;)
-       <li>start_stop_daemon: NOMMU fixes by Alex Landau &lt;landau_alex at yahoo.com&gt;
-       <li>stat: fix option -Z SEGV
-       <li>strings: strings a b was processing a twice, fix that
-       <li>svlogd: fix timestamping, do not warn if config is missing
-       <li>syslogd, logread: get rid of head pointer, fix logread bug in the process
-       <li>syslogd: do not convert tabs to ^I, set syslog IPC buffer to mode 0644
-       <li>tar: improve OLDGNU compat, make old SUN compat configurable
-       <li>test: fix testing primary expressions like '"-u" = "-u"'
-       <li>uudecode: fix to base64 decode by Jorgen Cederlof &lt;jcz at google.com&gt;
-       <li>vi: multiple fixes by Natanael Copa &lt;natanael.copa at gmail.com&gt;
-       <li>wget: fix bug in base64 encoding (bug 1404). +10 bytes
-       <li>wget: lift 256 chars limitation on terminal width
-       <li>wget, zcip: use monotonic_sec instead of gettimeofday
-      </ul>
-  </li>
-
-  <li><b>30 June 2007 -- BusyBox 1.6.1 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.6.1.tar.bz2">BusyBox 1.6.1</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_6_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.6.1/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>This is a bugfix-only release, with fixes to echo, hush, and wget.</p>
-  </li>
-
-  <li><b>1 June 2007 -- BusyBox 1.6.0 (unstable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.6.0.tar.bz2">BusyBox 1.6.0</a>.
-    (<a href="http://sources.busybox.net/index.py/branches/busybox_1_6_stable/">svn</a>,
-    <a href="http://busybox.net/downloads/fixes-1.6.0/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>Since this is a x.x.0 release, it probably does not deserve "stable"
-    label. Please help making 1.6.1 stable by testing 1.6.0.</p>
-    <p>Note that hush shell had many changes and (hopefully) is much improved now,
-    but there is a possibility that it regressed in some obscure cases. Please
-    report any such cases.</p>
-    <p>lash users please note: lash is going to be deprecated in busybox 1.7.0
-    and removed in the more distant future. Please migrate to hush.</p>
-    <p><a href="http://busybox.net/~vda/mem_usage-1.6.0.txt">Memory usage has decreased, but we can do better still</a></p>
-    <p>Other changes since previous release:
-    <ul>
-<li>NOFORK: audit small applets and mark some of them as NOFORK. Put big scary warnings in relevant places
-<li>NOFORK: factor out NOFORK/NOEXEC code from find. Use NOFORK/NOEXEC in find and xargs
-<li>NOFORK: remove potential xmalloc from NOFORK path in bb_full_fd_action
-<li>NOMMU: random fixes; compressed --help now works for NOMMU
-<li>SELinux: load_policy applet
-<li>[u]mount: extend -t option (Roy Marples &lt;uberlord at gentoo.org&gt;)
-<li>addgroup: clean up, fix adding users to existing groups and make it optional (Tito)
-<li>adduser: don't bomb out if shadow password file doesn't exist (from Tito &lt;farmatito at tiscali.it&gt;)
-<li>applet.c: do not even try to read config if run by real root; fix suid config handling
-<li>ash: fix infinite loop on exit if tty is not there anymore
-<li>ash: fix kill -l (by Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
-<li>ash: implement type -p, costs less than 10 bytes (patch by Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
-<li>awk: don't segfault on printf(%*s). Closes bug 1337
-<li>awk: guard against empty environment
-<li>awk: some 'lineno' vars were shorts, made them ints (code got smaller)
-<li>cat: stop using stdio.h opens
-<li>config system: clarify PREFER_APPLETS/SH_STANDALONE effects in help text
-<li>cryptpw: new applet (by Thomas Lundquist &lt;lists at zelow.no&gt;)
-<li>cttyhack: new applet
-<li>dd: NOEXEC fix; fix skip= parse error (spotted by Dirk Clemens &lt;develop at cle-mens.de&gt;)
-<li>deluser: add optional support for removing users from groups (by Tito &lt;farmatito at tiscali.it&gt;)
-<li>diff: fix SEGV (NULL deref) in diff -N
-<li>diff: fix segfault on empty dirs (Peter Korsgaard &lt;peter.korsgaard at barco.com&gt;)
-<li>dnsd: fix several buglets, make smaller; openlog(), so that applet's name is logged
-<li>dpkg: run_package_script() returns 0 if all ok and non-zero if failure. The result code was checked incorrectly in two places. (from Kim B. Heino &lt;Kim.Heino at bluegiga.com&gt;)
-<li>dpkg: use bitfields which are a bit closer to typical short/char. Code size -800 bytes
-<li>dumpleases: getopt32()-ization (from Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
-<li>e2fsprogs: stop using statics in chattr. Minor code shrinkage (-130 bytes)
-<li>ether-wake: close bug 1317. Reorder fuctions to avoid forward refs while at it
-<li>ether-wake: save a few more bytes of code
-<li>find: -group, -depth (Natanael Copa &lt;natanael.copa at gmail.com&gt;)
-<li>find: add support for -delete, -path (by Natanael Copa)
-<li>find: fix -prune. Add big comment about it
-<li>find: improve usage text (Natanael Copa &lt;natanael.copa at gmail.com&gt;)
-<li>find: missed 'static' on const data; size and prune were mixed up; use index_in_str_array
-<li>find: un-DESKTOPize (Kai Schwenzfeier &lt;niteblade at gmx.net&gt;)
-<li>find_root_device: teach to deal with /dev/ subdirs (by Kirill K. Smirnov &lt;lich at math.spbu.ru&gt;)
-<li>find_root_device: use lstat - don't follow links
-<li>getopt32: fix llist_t options ordering. llist_rev is now unused
-<li>getopt: use getopt32 for option parsing - inspired by patch by Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;
-<li>hdparm: fix multisector mode setting (from Toni Mirabete &lt;amirabete at catix.cat&gt;)
-<li>hdparm: make -T -t code smaller (-194 bytes), and output prettier
-<li>ifupdown: make it possible to use DHCP clients different from udhcp
-<li>ifupdown: reread state file before rewriting it. Fixes "ifup started another ifup" state corruption bug. Patch by Natanael Copa &lt;natanael.copa at gmail.com&gt;
-<li>ifupdown: small optimization (avoid doing useless work if we are not going to update state file)
-<li>ip: fix compilation if FEATURE_TR_CLASSES is off
-<li>ip: mv ip*_main into ip.c; use a dispatcher to save on needless duplication. Saves a minor 12b
-<li>ip: rewrite the ip applet to be less bloaty. Convert to index_in_(sub)str_array()
-<li>ip: set the scope properly. Thanks to Jean Wolter
-<li>iplink: shrink iplink; sanitize libiproute a bit (-916 bytes)
-<li>iproute: shrink a bit (-200 bytes)
-<li>kill: know much more signals; make code smaller; use common code for kill applet and ash kill builtin
-<li>klogd: remove dependency on syslogd
-<li>lash: "forking" applets are actually can be treated the same way as "non-forked". Also save a bit of space on trailing NULL array elements.
-<li>lash: fix kill buglet (didn't properly recognize ESRCH)
-<li>lash: make -c work; crush buffer overrun and free of non-malloced ptr (from Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
-<li>lash: recognize and use NOFORK applets
-<li>less: fix case when regex search finds nothing; fix very obscure memory corruption bug; fix less &lt;HUGEFILE + [End] busy loop
-<li>libbb: add xsendto, xunlink, xpipe
-<li>libbb: fix segfault in reset_ino_dev_hashtable() when *hashtable was NULL
-<li>libbb: make pidfile writing configurable
-<li>libbb: make xsocket die with address family printed (if VERBOSE_RESOLUTION_ERRORS=y)
-<li>libbb: rework NOMMU helper API so that it makes more sense and easier to use
-<li>libiproute: audit callgraph, shortcut error paths into die() functions
-<li>lineedit: do not try to open NULL history file
-<li>lineedit: nuke two unused variables and code which sets them
-<li>login: remove setpgrp call (makes it work from shell prompt again); sanitize stdio descriptors (we are suid, need to be careful!)
-<li>login: shrink login and set_environment by ~100 bytes
-<li>mount: fix incorrect usage of strtok (inadvertently used NULL sometimes)
-<li>mount: fix mounting of symlinks (mount from util-linux allows that)
-<li>msh: data/bss reduction (more than 9k of it); fix "underscore bug" (a_b=1111 didn't work); fix obscure case with backticks and closed fd 1
-<li>nc: port nc 1.10 to busybox
-<li>netstat: fix for bogus state value for raw sockets
-<li>netstat: introduce -W: wide, ipv6-friendly output; shrink by ~500 bytes
-<li>nmeter: should die if stdout doesn't like him anymore
-<li>patch: do not try to delete same file twice
-<li>ping: fix wrong sign extension of packet id (bug 1373)
-<li>ps: add -o tty and -o rss support; make a bit smaller; work around libc bug: printf("%.*s\n", MAX_INT, buffer)
-<li>run_parts: rewrite
-<li>run_parts: do not check path portion of a name for "bad chars". Needed for ifupdown. Patch by Gabriel L. Somlo &lt;somlo at cmu.edu&gt;
-<li>sed: fix escaped newlines in -f
-<li>split: new applet
-<li>stat: remove superfluous bss user (flags) and manually unswitch some areas
-<li>stty: fix option parsing bug (spotted by Sascha Hauer &lt;s.hauer at pengutronix.de&gt;)
-<li>svlogd: fix 'SEGV on uninitialized data' and make it honor TERM
-<li>tail: fix SEGV on "tail -N"
-<li>ipsvd: tcpsvd,udpsvd are new applets, GPL-ed 'clones' of Dan Bernstein's tcpserver. Author: Gerrit Pape &lt;pape at smarden.org&gt;, http://smarden.sunsite.dk/ipsvd/
-<li>test: close bug 1371; plug a memory leak; code size reduction
-<li>tftp: code diet, and I think retransmits were broken
-<li>tr: fix bug where we did not reject invalid classes like '[[:alpha'. debloat while at it
-<li>udhcp: MAC_BCAST_ADDR and blank_chaddr are in fact constant, move to rodata; use pipe instead of socketpair
-<li>udhcp[cd]: stop using atexit magic fir pidfile removal; stop deleting our own pidfile if we daemonize
-<li>xargs: shrink code, ~80 bytes; simplify word list management
-<li>zcip: make it work on NOMMU (+ improve NOMMU support machinery)
-    </ul>
-  </li>
-
-  <li><b>20 May 2007 -- BusyBox 1.5.1 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.5.1.tar.bz2">BusyBox 1.5.1</a>.
-    (<a href="http://busybox.net/downloads/fixes-1.5.1/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>This is a bugfix-only release, with fixes to hdparm, hush, ifupdown, ps
-    and sed.</p>
-  </li>
-
-  <li><b>23 March 2007 -- BusyBox 1.5.0 (unstable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.5.0.tar.bz2">BusyBox 1.5.0</a>.
-    (<a href="http://busybox.net/downloads/fixes-1.5.0/">patches</a>,
-    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
-
-    <p>Since this is a x.x.0 release, it probably does not deserve "stable"
-    label. Please help making 1.5.1 stable by testing 1.5.0.</p>
-    <p>Notable changes since previous release:
-    <ul>
-    <li>find: added support for -user, -not, fixed -mtime, -mmin, -perm
-    <li>[de]archivers: merge common logic into one module
-    <li>ping[6]: unified code for both
-    <li>less: regex search improved
-    <li>ash: more readable code, testsuite added
-    <li>sed: several very obscure bugs fixed
-    <li>chown: -H, -L, -P support (required by POSIX)
-    <li>tar: handle (broken) checksums a-la Sun; tar restores mode again
-    <li>grep: implement -w, "implement" -a and -I by ignoring them
-    <li>cp: more sane behavior when overwriting existing files
-    <li>init: stop doing silly things with the console (-400 bytes)
-    <li>httpd: make httpd usable for NOMMU CPUs; fix POSTDATA handling bugs
-    <li>httpd: run interpreter for configured file extensions in any dir,
-        not only in /cgi-bin/
-    <li>chrt: new applet
-    <li>SELinux: SELinux-related code and -Z option added to several applets,
-        new SELinux-specific applets: chcon, runcon.
-    <li>Build system: produces link map, uses -Wwrite-strings to catch
-        improper usage of string constants.
-    <li>Data and bss section usage audited and reduced - should help NOMMU
-        targets.
-    <li>Applets with bug fixes: gunzip, vi, syslogd, dpkg, ls, adjtimex, resize,
-        sv, printf, diff, awk, sort, dpkg, diff, tftp
-    <li>Applets with usability improvements: swapon, more, ifup/ifdown, hwclock,
-        udhcpd, start_stop_daemon, cmp
-    <li>Applets with code cleaned up: telnet, fdisk, fsck_minix, mkfs_minix,
-        syslogd, swapon, runsv, svlogd, klogd
-    </ul>
-  </li>
-
-  <li><b>18 March 2007 -- BusyBox 1.4.2 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.4.2.tar.bz2">BusyBox 1.4.2</a>.
-    </p>
-
-    <p>This release includes only trivial fixes accumulated since 1.4.1.
-    </p>
-  </li>
-
-  <li><b>25 January 2007 -- BusyBox 1.4.1 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.4.1.tar.bz2">BusyBox 1.4.1</a>.
-    (<a href="http://busybox.net/downloads/fixes-1.4.1/">patches</a>)</p>
-
-    <p>This release includes only trivial fixes accumulated since 1.4.0.
-    </p>
-  </li>
-
-  <li><b>20 January 2007 -- BusyBox 1.4.0 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.4.0.tar.bz2">BusyBox 1.4.0</a>.
-    (<a href="http://busybox.net/downloads/fixes-1.4.0/">patches</a>)</p>
-
-    <p>Since this is a x.x.0 release, it probably is a bit less "stable"
-    than usual.</p>
-    <p>Changes since previous release:
-    <ul>
-    <li>e2fsprogs are mostly removed from busybox. Some smaller parts remain,
-    the rest of it sits disabled in e2fsprogs/old_e2fsprogs/*, because
-    it's too bloated. Really. I'm afraid it's about the only way we can
-    ever get e2fsprogs cleaned up.
-    <li>less: many improvements. Now can display binary files
-    (although I expect it to have trouble with displays where 8bit chars
-    don't have 1-to-1 char/glyph relationship). Regexp search is not buggy
-    anymore. Less does not read entire input up-front. Reads input
-    as it appears (yay!). Works rather nice as man pager. I recommend it
-    for general use now.
-    <li>IPv6: generic support is in place, many networking applets are
-    upgraded to be IPv6 capable. Probably some work remains, but it is
-    already much better than what we had previously.
-    <li>arp: new applet (thanks to Eric Spakman).
-    <li>fakeidentd: non-forking standalone server part was taking ~90%
-    of the applet. Factored it out (in fact, rewrote it).
-    <li>syslogd: mostly rewritten.
-    <li>decompress_unzip, gzip: sanitized a bit.
-    <li>sed: better hadling of NULs
-    <li>httpd: stop adding our own "Content-type:" to CGI output
-    <li>chown: user.grp works again.
-    <li>minor bugfixes to: passwd, date, tftp, start_stop_daemon, tar,
-    ps, ifupdown, time, su, stty, awk, ping[6], sort,...
-    </ul>
-  </li>
-
-  <li><b>20 January 2007 -- BusyBox 1.3.2 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.3.2.tar.bz2">BusyBox 1.3.2</a>.</p>
-
-    <p>This release includes only one trivial fix accumulated since 1.3.1
-    </p>
-  </li>
-
-  <li><b>27 December 2006 -- BusyBox 1.3.1 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.3.1.tar.bz2">BusyBox 1.3.1</a>.
-    (<a href="http://busybox.net/downloads/fixes-1.3.1/">patches</a>)</p>
-
-    <p>Closing 2006 with new release. It includes only trivial fixes accumulated since 1.3.0
-    </p>
-  </li>
-
-  <li><b>14 December 2006 -- BusyBox 1.3.0 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.3.0.tar.bz2">BusyBox 1.3.0</a>.
-    (<a href="http://busybox.net/downloads/fixes-1.3.0/">patches</a>)</p>
-
-    <p>This release has CONFIG_DESKTOP option which enables features
-    needed for busybox usage on desktop machine. For example, find, chmod
-    and chown get several less frequently used options, od is significantly
-    bigger but matches GNU coreutils, etc. Intended to eventually make
-    busybox a viable alternative for "standard" utilities for slightly
-    adventurous desktop users.
-    <p>Changes since previous release:
-    <ul>
-    <li>find: taking many more of standard options
-    <li>ps: POSIX-compliant -o implemented
-    <li>cp: added -s, -l
-    <li>grep: added -r, fixed -h
-    <li>watch: make it exec child like standard one does (was totally
-        incompatible)
-    <li>tar: fix limitations which were preventing bbox tar usage
-        on big directories: long names and linknames, pax headers
-        (Linux kernel tarballs have that). Fixed a number of obscure bugs.
-        Raised max file limit (now 64Gb). Security fixes (/../ attacks).
-    <li>httpd: added -i (inetd), -f (foreground), support for
-        directory indexer CGI (example is included), bugfixes.
-    <li>telnetd: fixed/improved IPv6 support, inetd+standalone support,
-        other fixes. Useful IPv6 stuff factored out into libbb.
-    <li>runit/*: new applets adapted from http://smarden.sunsite.dk/runit/
-        (these are my personal favorite small-and-beautiful toys)
-    <li>minor bugfixes to: login, dd, mount, umount, chmod, chown, ln, udhcp,
-        fdisk, ifconfig, sort, tee, mkswap, wget, insmod.
-    </ul>
-    <p>Note that GnuPG key used to sign this release is different.
-    1.2.2.1 is also signed post-factum now. Sorry for the mess.
-    </p>
-  </li>
-
-  <li><b>29 October 2006 -- BusyBox 1.2.2.1 (fix)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.2.2.1.tar.bz2">BusyBox 1.2.2.1</a>.</p>
-
-    <p>Added compile-time warning that static linking against glibc
-    produces buggy executables.
-  </li>
-
-  <li><b>24 October 2006 -- BusyBox 1.2.2 (stable)</b>
-    <p>It's a bit overdue, but
-    <a href="http://busybox.net/downloads/busybox-1.2.2.tar.bz2">here is
-    BusyBox 1.2.2</a>.</p>
-
-    <p>This release has dozens of fixes backported from the ongoing development
-    branch.  There are a couple of bugfixes to sed, two fixes to documentation
-    generation (BusyBox.html shouldn't have USE() macros in it anymore), fix
-    umount to report the right errno on failure and to umount block devices by
-    name with newer kernels, fix mount to handle symlinks properly, make mdev
-    delete device nodes when called for hotplug remove, fix a segfault
-    in traceroute, a minor portability fix to md5sum option parsing, a build
-    fix for httpd with old gccs, an options parsing tweak to hdparm, make test
-    fail gracefully when getgroups() returns -1, fix a race condition in
-    modprobe when two instances run at once (hotplug does this), make "tar xf
-    foo.tar dir/dir" extract all subdirectories, make our getty initialize the
-    terminal more like mingetty, an selinux build fix, an endianness fix in
-    ping6, fix for zcip defending addresses, clean up some global variables in
-    gzip to save memory, fix sulogin -tNNN, a help text tweak, several warning
-    fixes and build fixes, fixup dnsd a bit, and a partridge in a pear tree.</p>
-
-    <p>As <a href="http://lwn.net/Articles/202106/">Linux Weekly News noted</a>,
-    this is my (Rob's) last release of BusyBox.  The new maintainer is Denis
-    Vlasenko, I'm off to do <a href="http://landley.net/code">other things</a>.
-    </p>
-  </li>
-
-  <li><b>29 September 2006 -- New license email address.</b>
-    <p>The email address gpl@busybox.net is now the recommended way to contact
-    the Software Freedom Law Center to report BusyBox license violations.</p>
-
-  <li><b>31 July 2006 -- BusyBox 1.2.1 (stable)</b>
-    <p>Since nobody seems to have objected too loudly over the weekend, I
-    might as well point you all at
-    <a href="http://busybox.net/downloads/busybox-1.2.1.tar.bz2">Busybox
-    1.2.1</a>, a bugfix-only release with no new features.</p>
-
-    <p>It has three shell fixes (two to lash: going "var=value" without
-    saying "export" should now work, plus a missing null pointer check, and
-    one to ash when redirecting output to a file that fills up.)  Fix three
-    embarassing thinkos in the new dmesg command.  Two build tweaks
-    (dependencies for the compressed usage messages and running make in the
-    libbb subdirectory).  One fix to tar so it can extract git-generated
-    tarballs (rather than barfing on the pax extensions).  And a partridge
-    in a pear...  Ahem.</p>
-
-    <p>But wait, there's more!  A passwd changing fix so an empty
-    gecos field doesn't trigger a false objection that the new passwd contains
-    the gecos field.  Make all our setuid() and setgid() calls check the return
-    value in case somebody's using per-process resource limits that prevent
-    a user from having too many processes (and thus prevent a process from
-    switching away from root, in which case the process will now _die_ rather
-    than continue with root privileges).  A fix to adduser to make sure that
-    /etc/group gets updated.  And a fix to modprobe to look for modules.conf
-    in the right place on 2.6 kernels.</p>
-
-  <li><b>30 June 2006 -- BusyBox 1.2.0</b>
-    <p>The -devel branch has been stabilized and the result is
-    <a href="http://busybox.net/downloads/busybox-1.2.0.tar.bz2">Busybox
-    1.2.0</a>.  Lots of stuff changed, I need to work up a decent changelog
-    over the weekend.</p>
-
-    <p>I'm still experimenting with how long is best for the development
-    cycle, and since we've got some largeish projects queued up I'm going to
-    try a longer one.  Expect 1.3.0 in December.  (Expect 1.2.1 any time
-    we fix enough bugs. :)</p>
-
-    <p>Update: Here are <a href="http://busybox.net/downloads/busybox-1.2.0.fixes.patch">the first few bug fixes</a> that will go into 1.2.1.</p>
-
-  <li><b>17 May 2006 -- BusyBox 1.1.3 (stable)</b>
-    <p><a href="http://busybox.net/downloads/busybox-1.1.3.tar.bz2">BusyBox
-    1.1.3</a> is another bugfix release.  It makes passwd use salt, fixes a
-    memory freeing bug in ls, fixes "build all sources at once" mode, makes
-    mount -a not abort on the first failure, fixes msh so ctrl-c doesn't kill
-    background processes, makes patch work with patch hunks that don't have a
-    timestamp, make less's text search a lot more robust (the old one could
-    segfault), and fixes readlink -f when built against uClibc.</p>
-
-    <p>Expect 1.2.0 sometime next month, which won't be a bugfix release.</p>
-
-  <li><b>10 April 2006 -- BusyBox 1.1.2 (stable)</b>
-    <p>You can now download <a href="http://busybox.net/downloads/busybox-1.1.2.tar.bz2">BusyBox 1.1.2</a>, a bug fix release consisting of 11 patches
-    backported from the development branch: Some build fixes, several fixes
-    for mount and nfsmount, a fix for insmod on big endian systems, a fix for
-    find -xdev, and a fix for comm.  Check the file "changelog" in the tarball
-    for more info.</p>
-
-    <p>The next new development release (1.2.0) is slated for June.  A 1.1.3
-    will be released before then if more bug fixes crop up.  (The new plan is
-    to have a 1.x.0 new development release every 3 months, with 1.x.y stable
-    bugfix only releases based on that as appropriate.)</p>
-
-  <li><b>27 March 2006 -- Software Freedom Law Center representing BusyBox and uClibc</b>
-    <p>One issue Erik Andersen wanted to resolve when handing off BusyBox
-    maintainership to Rob Landley was license enforcement.  BusyBox and
-    uClibc's existing license enforcement efforts (pro-bono representation
-    by Erik's father's law firm, and the
-    <a href="http://www.busybox.net/shame.html">Hall of Shame</a>), haven't
-    scaled to match the popularity of the projects.  So we put our heads
-    together and did the obvious thing: ask Pamela Jones of
-    <a href="http://www.groklaw.net">Groklaw</a> for suggestions.  She
-    referred us to the fine folks at softwarefreedom.org.</p>
-
-    <p>As a result, we're pleased to announce that the
-    <a href="http://www.softwarefreedom.org">Software Freedom Law Center</a>
-    has agreed to represent BusyBox and uClibc.  We join a number of other
-    free and open source software projects (such as
-    <a href="http://lwn.net/Articles/141806/">X.org</a>,
-    <a href="http://lwn.net/Articles/135413/">Wine</a>, and
-    <a href="http://plone.org/foundation/newsitems/software-freedom-law-center-support/">Plone</a>
-    in being represented by a fairly cool bunch of lawyers, which is not a
-    phrase you get to use every day.</p>
-
-  <li><b>22 March 2006 -- BusyBox 1.1.1</b>
-    <p>The new maintainer is Rob Landley, and the new release is <a href="http://busybox.net/downloads/busybox-1.1.1.tar.bz2">BusyBox 1.1.1</a>.  Expect a "what's new" document in a few days.  (Also, Erik and I have have another announcement pending...)</p>
-    <p>Update: Rather than put out an endless stream of 1.1.1.x releases,
-    the various small fixes have been collected together into a
-    <a href="http://busybox.net/downloads/busybox-1.1.1.fixes.patch">patch</a>,
-    and new fixes will be appended to that as needed.  Expect 1.1.2 around
-    June.</p>
-  </li>
-  <li><b>11 January 2006 -- 1.1.0 is out</b>
-    <p>The new stable release is
-    <a href="http://www.busybox.net/downloads/busybox-1.1.0.tar.bz2">BusyBox
-    1.1.0</a>.  It has a number of improvements, including several new applets.
-    (It also has <a href="http://www.busybox.net/lists/busybox/2006-January/017733.html">a few rough spots</a>,
-    but we're trying out a "release early, release often" strategy to see how
-    that works.  Expect 1.1.1 sometime in March.)</p>
-
-  <li><b>31 October 2005 -- 1.1.0-pre1</b>
-    <p>The development branch of busybox is stable enough for wider testing, so
-    you can now
-    <a href="http://www.busybox.net/downloads/busybox-1.1.0-pre1.tar.bz2">download</a>,
-    the first prerelease of 1.1.0.  This prerelease includes a lot of
-    <a href="http://www.busybox.net/downloads/BusyBox.html">new
-    functionality</a>: new applets, new features, and extensive rewrites of
-    several existing applets.  This prerelease should be noticeably more
-    <a href="http://www.opengroup.org/onlinepubs/009695399/">standards
-    compliant</a> than earlier versions of busybox, although we're
-    still working out the <a href="https://bugs.busybox.net">bugs</a>.</p>
-
-  <li><b>16 August 2005 -- 1.01 is out</b>
-
-    <p>A new stable release (<a href="http://www.busybox.net/downloads/busybox-1.01.tar.bz2">BusyBox
-    1.01</a>) is now available for download, containing over a hundred
-    <a href="http://www.busybox.net/lists/busybox/2005-August/015424.html">small
-    fixes</a> that have cropped up since the 1.00 release.</p>
-
-  <li><b>13 January 2005 -- Bug and Patch Tracking</b><p>
-
-    Bug reports sometimes get lost when posted to the mailing list.  The
-    developers of BusyBox are busy people, and have only so much they can keep
-    in their brains at a time. In my case, I'm lucky if I can remember my own
-    name, much less a bug report posted last week... To prevent your bug report
-    from getting lost, if you find a bug in BusyBox, please use the
-    <a href="https://bugs.busybox.net/">shiny new Bug and Patch Tracking System</a>
-    to post all the gory details.
-
-    <p>
-
-    The same applies to patches... Regardless of whether your patch
-    is a bug fix or adds spiffy new features, please post your patch
-    to the Bug and Patch Tracking System to make certain it is
-    properly considered.
-
-
-  <p>
-  <li><b>13 October 2004 -- BusyBox 1.00 released</b><p>
-
-    When you take a careful look at nearly every embedded Linux device or
-    software distribution shipping today, you will find a copy of BusyBox.
-    With countless routers, set top boxes, wireless access points, PDAs, and
-    who knows what else, the future for Linux and BusyBox on embedded devices
-    is looking very bright.
-
-    <p>
-
-    It is therefore with great satisfaction that I declare each and every
-    device already shipping with BusyBox is now officially out of date.
-    The highly anticipated release of BusyBox 1.00 has arrived!
-
-    <p>
-
-    Over three years in development, BusyBox 1.00 represents a tremendous
-    improvement over the old 0.60.x stable series.  Now featuring a Linux
-    KernelConf based configuration system (as used by the Linux kernel),
-    Linux 2.6 kernel support, many many new applets, and the development
-    work and testing of thousands of people from around the world.
-
-    <p>
-
-    If you are already using BusyBox, you are strongly encouraged to upgrade to
-    BusyBox 1.00.  If you are considering developing an embedded Linux device
-    or software distribution, you may wish to investigate if using BusyBox is
-    right for your application.  If you need help getting started using
-    BusyBox, if you wish to donate to help cover expenses, or if you find a bug
-    and need help reporting it, you are invited to visit the <a
-    href="FAQ.html">BusyBox FAQ</a>.
-
-    <p>
-
-    As usual you can <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-
-    <p>
-    <li><b>Old News</b><p>
-    <a href="/oldnews.html">Click here to read older news</a>
-
-
-  <li><b>16 August 2004 -- BusyBox 1.0.0-rc3 released</b><p>
-
-    Here goes release candidate 3...
-    <p>
-    The <a href="downloads/Changelog">changelog</a> has all the details.
-    And as usual you can <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-
-  <p>
-  <li><b>26 July 2004 -- BusyBox 1.0.0-rc2 released</b><p>
-
-    Here goes release candidate 2...
-    <p>
-    The <a href="downloads/Changelog">changelog</a> has all the details.
-    And as usual you can <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-
-  <p>
-  <li><b>20 July 2004 -- BusyBox 1.0.0-rc1 released</b><p>
-
-    Here goes release candidate 1...  This fixes all (most?) of the problems
-    that have turned up since -pre10.  In particular, loading and unloading of
-    kernel modules with 2.6.x kernels should be working much better.
-    <p>
-
-    I <b>really</b> want to get BusyBox 1.0.0 released soon and I see no real
-    reason why the 1.0.0 release shouldn't happen with things pretty much as
-    is.  BusyBox is in good shape at the moment, and it works nicely for
-    everything that I'm doing with it.  And from the reports I've been getting,
-    it works nicely for what most everyone else is doing with it as well.
-    There will eventually be a 1.0.1 anyway, so we might as well get on with
-    it.  No, BusyBox is not perfect.  No piece of software ever is.  And while
-    there is still plenty that can be done to improve things, most of that work
-    is waiting till we can get a solid 1.0.0 release out the door....
-    <p>
-
-    Please do not bother to send in patches adding cool new features at this
-    time.  Only bug-fix patches will be accepted.  If you have submitted a
-    bug-fixing patch to the busybox mailing list and no one has emailed you
-    explaining why your patch was rejected, it is safe to say that your patch
-    has been lost or forgotten.  That happens sometimes.  Please re-submit your
-    bug-fixing patch to the BusyBox mailing list, and be sure to put "[PATCH]"
-    at the beginning of the email subject line!
-
-    <p>
-    The <a href="downloads/Changelog">changelog</a> has all the details.
-    And as usual you can <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-
-    <p>
-    On a less happy note, My 92 year old grandmother (my dad's mom) passed away
-    yesterday (June 19th).  The funeral will be Thursday in a little town about
-    2 hours south of my home.  I've checked and there is absolutely no way I
-    could be back in time for the funeral if I attend <a
-    href="http://www.linuxsymposium.org/2004/">OLS</a> and give my presentation
-    as scheduled.
-    <p>
-    As such, it is with great reluctance and sadness that I have come
-    to the conclusion I will have to make my appologies and skip OLS
-    this year.
-    <p>
-
-
-  <p>
-  <li><b>13 April 2004 -- BusyBox 1.0.0-pre10 released</b><p>
-
-    Ok, I lied.  It turns out that -pre9 will not be the final BusyBox
-    pre-release.  With any luck however -pre10 will be, since I <b>really</b>
-    want to get BusyBox 1.0.0 released very soon.  As usual, please do not
-    bother to send in patches adding cool new features at this time.  Only
-    bug-fix patches will be accepted.  It would also be <b>very</b> helpful if
-    people could continue to review the BusyBox documentation and submit
-    improvements.
-
-    <p>
-    The <a href="downloads/Changelog">changelog</a> has all the details.
-    And as usual you can <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-    <p>
-
-
-  <p>
-  <li><b>6 April 2004 -- BusyBox 1.0.0-pre9 released</b><p>
-
-    Here goes the final BusyBox pre-release...  This is your last chance for
-    bug fixes.  With luck this will be released as BusyBox 1.0.0 later this
-    week.  Please do not bother to send in patches adding cool new features at
-    this time.  Only bug-fix patches will be accepted.  It would also be
-    <b>very</b> helpful if people could help review the BusyBox documentation
-    and submit improvements.  I've spent a lot of time updating the
-    documentation to make it better match reality, but I could really use some
-    assistance in checking that the features supported by the various applets
-    match the features listed in the documentation.
-
-    <p>
-    I had hoped to get this released a month ago, but
-    <a href="http://codepoet.org/gallery/baby_peter/img_1796">
-    another release on 1 March 2004</a> has kept me busy...
-
-    <p>
-    The <a href="downloads/Changelog">changelog</a> has all the details.
-    And as usual you can <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-    <p>
-
-
-  <p>
-  <li><b>23 February 2004 -- BusyBox 1.0.0-pre8 released</b><p>
-
-    Here goes yet another BusyBox pre-release...  Please do not bother to send
-    in patches supplying new features at this time.  Only bug-fix patches will
-    be accepted.  If you have a cool new feature you would like to see
-    supported, or if you have an amazing new applet you would like to submit,
-    please wait and submit such things later.  We really want to get a release
-    out we can all be proud of.  We are still aiming to finish off the -pre
-    series in February and move on to the final 1.0.0 release...  So if you
-    spot any bugs, now would be an excellent time to send in a fix to the
-    busybox mailing list.  It would also be <b>very</b> helpful if people could
-    help review the BusyBox documentation and submit improvements.  It would be
-    especially helpful if people could check that the features supported by the
-    various applets match the features listed in the documentation.
-
-    <p>
-
-    The <a href="downloads/Changelog">changelog</a> has all the details.
-    And as usual you can <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-    <p>
-
-
-  <li><b>4 February 2004 -- BusyBox 1.0.0-pre7 released</b><p>
-
-    There was a bug in -pre6 that broke argument parsing for a
-    number of applets, since a variable was not being zeroed out
-    properly.  This release is primarily intended to fix that one
-    problem.  In addition, this release fixes several other
-    problems, including a rewrite by mjn3 of the code for parsing
-    the busybox.conf file used for suid handling, some shell updates
-    from vodz, and a scattering of other small fixes.  We are still
-    aiming to finish off the -pre series in February and move on to
-    the final 1.0.0 release...  If you see any problems, of have
-    suggestions to make, as always, please feel free to email the
-    busybox mailing list.
-
-    <p>
-
-    The <a href="downloads/Changelog">changelog</a> has all
-    the details.  And as usual you can
-    <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-    <p>
-
-
-  <p>
-  <li><b>30 January 2004 -- BusyBox 1.0.0-pre6 released</b><p>
-
-    Here goes the next pre-release for the new BusyBox stable
-    series.  This release adds a number of size optimizations,
-    updates udhcp, fixes up 2.6 modutils support, updates ash
-    and the shell command line editing, and the usual pile of
-    bug fixes both large and small.  Things appear to be
-    settling down now, so with a bit of luck and some testing
-    perhaps we can finish off the -pre series in February and
-    move on to the final 1.0.0 release...  If you see any
-    problems, of have suggestions to make, as always, please
-    feel free to email the busybox mailing list.
-
-    <p>
-
-    People who rely on the <a href="downloads/snapshots/">daily BusyBox snapshots</a>
-    should be aware that snapshots of the old busybox 0.60.x
-    series are no longer available.  Daily snapshots are now
-    only available for the BusyBox 1.0.0 series and now use
-    the naming scheme "busybox-&lt;date&gt;.tar.bz2".  Please
-    adjust any build scripts using the old naming scheme accordingly.
-
-    <p>
-
-    The <a href="downloads/Changelog">changelog</a> has all
-    the details.  And as usual you can
-    <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-    <p>
-
-
-  <p>
-  <li><b>23 December 2003 -- BusyBox 1.0.0-pre5 released</b><p>
-
-    Here goes the next pre-release for the new BusyBox stable
-    series.  The most obvious thing in this release is a fix for
-    a terribly stupid bug in mount that prevented it from working
-    properly unless you specified the filesystem type.  This
-    release also fixes a few compile problems, updates udhcp,
-    fixes a silly bug in fdisk, fixes ifup/ifdown to behave like
-    the Debian version, updates devfsd, updates the 2.6.x
-    modutils support, add a new 'rx' applet, removes the obsolete
-    'loadacm' applet, fixes a few tar bugs, fixes a sed bug, and
-    a few other odd fixes.
-
-    <p>
-
-    If you see any problems, of have suggestions to make, as
-    always, please feel free to send an email to the busybox
-    mailing list.
-
-    <p>
-
-    The <a href="downloads/Changelog">changelog</a> has all
-    the details.  And as usual you can
-    <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-    <p>
-
-
-
-  <li><b>10 December 2003 -- BusyBox 1.0.0-pre4 released</b><p>
-
-    Here goes the fourth pre-release for the new BusyBox stable
-    series.  This release includes major rework to sed, lots of
-    rework on tar, a new tiny implementation of bunzip2, a new
-    devfsd applet, support for 2.6.x kernel modules, updates to
-    the ash shell, sha1sum and md5sum have been merged into a
-    common applet, the dpkg applets has been cleaned up, and tons
-    of random bugs have been fixed.  Thanks everyone for all the
-    testing, bug reports, and patches!  Once again, a big
-    thank-you goes to Glenn McGrath (bug1) for stepping in and
-    helping get patches merged!
-
-    <p>
-
-    And of course, if you are reading this, you might have noticed
-    the busybox website has been completely reworked.  Hopefully
-    things are now somewhat easier to navigate...  If you see any
-    problems, of have suggestions to make, as always, please feel
-    free to send an email to the busybox mailing list.
-
-    <p>
-
-    The <a href="downloads/Changelog">changelog</a> has all
-    the details.  And as usual you can
-    <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-
-
-
-  <p>
-  <li><b>12 Sept 2003 -- BusyBox 1.0.0-pre3 released</b><p>
-
-    Here goes the third pre-release for the new BusyBox stable
-    series.  The last prerelease has held up quite well under
-    testing, but a number of problems have turned up as the number
-    of people using it has increased.  Thanks everyone for all
-    the testing, bug reports, and patches!
-
-    <p>
-
-    If you have submitted a patch or a bug report to the busybox
-    mailing list and no one has emailed you explaining why your
-    patch was rejected, it is safe to say that your patch has
-    somehow gotten lost or forgotten.  That happens sometimes.
-    Please re-submit your patch or bug report to the BusyBox
-    mailing list!
-
-    <p>
-
-    The point of the "-preX" versions is to get a larger group of
-    people and vendors testing, so any problems that turn up can be
-    fixed prior to the final 1.0.0 release.  The main feature
-    (besides additional testing) that is still still on the TODO
-    list before the final BusyBox 1.0.0 release is sorting out the
-    modutils issues.  For the new 2.6.x kernels, we already have
-    patches adding insmod and rmmod support and those need to be
-    integrated.  For 2.4.x kernels, for which busybox only supports
-    a limited number of architectures, we may want to invest a bit
-    more work before we cut 1.0.0.  Or we may just leave 2.4.x
-    module loading alone.
-
-    <p>
-
-    I had hoped this release would be out a month ago.  And of
-    course, it wasn't since Erik became busy getting a release of
-    <a href="http://www.uclibc.org/">uClibc</a>
-    out the door.  Many thanks to Glenn McGrath (bug1) for
-    stepping in and helping get a bunch of patches merged!  I am
-    not even going to state a date for releasing BusyBox 1.0.0
-    -pre4 (or the final 1.0.0).  We're aiming for late September...
-    But if this release proves as to be exceptionally stable (or
-    exceptionally unstable!), the next release may be very soon
-    indeed.
-
-    <p>
-
-    The <a href="downloads/Changelog">changelog</a> has all
-    the details.  And as usual you can
-    <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-
-
-    <p>
-    <li><b>30 July 2003 -- BusyBox 1.0.0-pre2 released</b><p>
-
-    Here goes another pre release for the new BusyBox stable
-    series.  The last prerelease (pre1) was given quite a lot of
-    testing (thanks everyone!) which has helped turn up a number of
-    bugs, and these problems have now been fixed.
-
-    <p>
-
-    Highlights of -pre2 include updating the 'ash' shell to sync up
-    with the Debian 'dash' shell, a new 'hdparm' applet was added,
-    init again supports pivot_root,  The 'reboot' 'halt' and
-    'poweroff' applets can now be used without using busybox init.
-    an ifconfig buffer overflow was fixed, losetup now allows
-    read-write loop devices, uClinux daemon support was added, the
-    'watchdog', 'fdisk', and 'kill' applets were rewritten, there were
-    tons of doc updates, and there were many other bugs fixed.
-    <p>
-
-    If you have submitted a patch and it is not included in this
-    release and Erik has not emailed you explaining why your patch
-    was rejected, it is safe to say that he has lost your patch.
-    That happens sometimes.   Please re-submit your patch to the
-    BusyBox mailing list.
-    <p>
-
-    The point of the "-preX" versions is to get a larger group of
-    people and vendors testing, so any problems that turn up can be
-    fixed prior to the final 1.0.0 release.  The main feature that
-    is still still on the TODO list before the final BusyBox 1.0.0
-    release is adding module support for the new 2.6.x kernels.  If
-    necessary, a -pre3 BusyBox release will happen on August 6th.
-    Hopefully (i.e.  unless some horrible catastrophic problem
-           turns up) the final BusyBox 1.0.0 release will be ready by
-    then...
-    <p>
-
-    The <a href="downloads/Changelog">changelog</a> has all
-    the details.  As usual you can <a href="downloads">download busybox here</a>.
-
-    <p>Have Fun!
-    <p>
-
-    <p>
-  <li><b>15 July 2003 -- BusyBox 1.0.0-pre1 released</b><p>
-
-    The busybox development series has been under construction for
-    nearly two years now.  Which is just entirely too long...  So
-    it is with great pleasure that I announce the imminent release
-    of a new stable series.  Due to the huge number of changes
-    since the last stable release (and the usual mindless version
-    number inflation) I am branding this new stable series verison
-    1.0.x...
-    <p>
-
-    The point of "-preX" versions is to get a larger group of
-    people and vendors testing, so any problems that turn up can be
-    fixed prior to the magic 1.0.0 release (which should happen
-    later this month)...  I plan to release BusyBox 1.0.0-pre2 next
-    Monday (July 21st), and, if necessary, -pre3 on July 28th.
-    Hopefully (i.e. unless some horrible catastrophic problem turns
-    up) the final BusyBox 1.0.0 release should be ready by the end
-    of July.
-    <p>
-
-    If you have submitted patches, and they are not in this release
-    and I have not emailed you explaining why your patch was
-    rejected, it is safe to say that I have lost your patch.  That
-    happens sometimes.  Please do <b>NOT</b> send all your patches,
-    support questions, etc, directly to Erik.  I get hundreds of
-    emails every day (which is why I end up losing patches
-    sometimes in the flood)...  The busybox mailing list is the
-    right place to send your patches, support questions, etc.
-    <p>
-
-    I would like to especially thank Vladimir Oleynik (vodz), Glenn
-    McGrath (bug1), Robert Griebl (sandman), and Manuel Novoa III
-    (mjn3) for their significant efforts and contributions that
-    have made this release possible.
-    <p>
-
-    As usual you can <a href="downloads">download busybox here</a>.
-    You don't really need to bother with the
-    <a href="downloads/Changelog">changelog</a>, as the changes
-    vs the stable version are way too extensive to easily enumerate.
-    But you can take a look if you really want too.
-
-    <p>Have Fun!
-    <p>
-
-
-
-  <p>
-  <li><b>26 October 2002 -- BusyBox 0.60.5 released</b><p>
-
-    I am very pleased to announce that the BusyBox 0.60.5 (stable)
-    is now available for download.  This is a bugfix release for
-    the stable series to address all the problems that have turned
-    up since the last release.  Unfortunately, the previous release
-    had a few nasty bugs (i.e. init could deadlock, gunzip -c tried
-    to delete source files, cp -a wouldn't copy symlinks, and init
-    was not always providing controlling ttys when it should have).
-    I know I said that the previous release would be the end of the
-    0.60.x series.  Well, it turns out I'm a liar.  But this time I
-    mean it (just like last time ;-).  This will be the last
-    release for the 0.60.x series --  all further development work
-    will be done for the development busybox tree.  Expect the development
-    version to have its first real release very very soon now...
-
-    <p>
-    The <a href="downloads/Changelog.full">changelog</a> has all
-    the details.  As usual you can <a href="downloads">download busybox here</a>.
-    <p>Have Fun!
-    <p>
-
-  <p>
-  <li><b>18 September 2002 -- BusyBox 0.60.4 released</b><p>
-
-    I am very pleased to announce that the BusyBox 0.60.4
-    (stable) is now available for download.  This is primarily
-    a bugfix release for the stable series to address all
-    the problems that have turned up since the last
-    release.  This will be the last release for the 0.60.x series.
-    I mean it this time --  all further development work will be done
-    on the development busybox tree, which is quite solid now and
-    should soon be getting its first real release.
-
-    <p>
-    The <a href="downloads/Changelog.full">changelog</a> has all
-    the details.  As usual you can <a href="downloads">download busybox here</a>.
-    <p>Have Fun!
-    <p>
-
-
-  <p>
-  <li><b>27 April 2002 -- BusyBox 0.60.3 released</b><p>
-
-    I am very pleased to announce that the BusyBox 0.60.3 (stable) is
-    now available for download.  This is primarily a bugfix release
-    for the stable series.  A number of problems have turned up since
-    the last release, and this should address most of those problems.
-    This should be the last release for the 0.60.x series.  The
-    development busybox tree has been progressing nicely, and will
-    hopefully be ready to become the next stable release.
-
-    <p>
-    The <a href="downloads/Changelog">changelog</a> has all
-    the details.  As usual you can <a href="downloads">download busybox here</a>.
-    <p>Have Fun!
-    <p>
-
-
-  <p>
-  <li><b>6 March 2002 -- busybox.net now has mirrors!</b><p>
-
-    Busybox.net is now much more available, thanks to
-    the fine folks at <a href="http://i-netinnovations.com/">http://i-netinnovations.com/</a>
-    who are providing hosting for busybox.net and
-    uclibc.org.  In addition, we now have two mirrors:
-    <a href="http://busybox.linuxmagic.com/">http://busybox.linuxmagic.com/</a>
-    in Canada and
-    <a href="http://busybox.csservers.de/">http://busybox.csservers.de/</a>
-    in Germany.  I hope this makes things much more
-    accessible for everyone!
-
-
-<li>
-<b>3 January 2002 -- Welcome to busybox.net!</b>
-
-<p>Thanks to the generosity of a number of busybox
-users, we have been able to purchase busybox.net
-(which is where you are probably reading this).
-Right now, busybox.net and uclibc.org are both
-living on my home system (at the end of my DSL
-line). I apologize for the abrupt move off of
-busybox.lineo.com. Unfortunately, I no longer have
-the access needed to keep that system updated (for
-example, you might notice the daily snapshots there
-stopped some time ago).</p>
-
-<p>Busybox.net is currently hosted on my home
-server, at the end of a DSL line. Unfortunately,
-the load on them is quite heavy. To address this,
-I'm trying to make arrangements to get busybox.net
-co-located directly at an ISP. To assist in the
-co-location effort, <a href=
-"http://www.codepoet.org/~markw">Mark Whitley</a>
-(author of busybox sed, cut, and grep) has donated
-his <a href=
-"http://www.netwinder.org/">NetWinder</a> computer
-for hosting busybox.net and uclibc.org. Once this
-system is co-located, the current speed problems
-should be completely eliminated. Hopefully, too,
-some of you will volunteer to set up some mirror
-sites, to help to distribute the load a bit.</p>
-
-<p><!--
-    <center>
-    Click here to help support busybox.net!
-    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
-    <input type="hidden" name="cmd" value="_xclick">
-    <input type="hidden" name="business" value="andersen@codepoet.org">
-    <input type="hidden" name="item_name" value="Support Busybox">
-    <input type="hidden" name="image_url" value="https://codepoet-consulting.com/images/busybox2.jpg">
-    <input type="hidden" name="no_shipping" value="1">
-    <input type="image" src="images/donate.png" border="0" name="submit" alt="Make donation using PayPal">
-    </form>
-    </center>
-    -->
- Since some people expressed concern over BusyBox
-donations, let me assure you that no one is getting
-rich here. All BusyBox and uClibc donations will be
-spent paying for bandwidth and needed hardware
-upgrades. For example, Mark's NetWinder currently
-has just 64Meg of memory. As demonstrated when
-google spidered the site the other day, 64 Megs in
-not enough, so I'm going to be ordering 256Megs of
-ram and a larger hard drive for the box today. So
-far, donations received have been sufficient to
-cover almost all expenses. In the future, we may
-have co-location fees to worry about, but for now
-we are ok. A <b>HUGE thank-you</b> goes out to
-everyone that has contributed!<br>
- -Erik</p>
-</li>
-
-<li>
-<b>20 November 2001 -- BusyBox 0.60.2 released</b>
-
-<p>We am very pleased to announce that the BusyBox
-0.60.2 (stable) is now released to the world. This
-one is primarily a bugfix release for the stable
-series, and it should take care of most everyone's
-needs till we can get the nice new stuff we have
-been working on in CVS ready to release (with the
-wonderful new buildsystem). The biggest change in
-this release (beyond bugfixes) is the fact that msh
-(the minix shell) has been re-worked by Vladimir N.
-Oleynik (vodz) and so it no longer crashes when
-told to do complex things with backticks.</p>
-
-<p>This release has been tested on x86, ARM, and
-powerpc using glibc 2.2.4, libc5, and uClibc, so it
-should work with just about any Linux system you
-throw it at. See the <a href=
-"downloads/Changelog">changelog</a> for <small>most
-of</small> the details. The last release was
-<em>very</em> solid for people, and this one should
-be even better.</p>
-
-<p>As usual BusyBox 0.60.2 can be downloaded from
-<a href=
-"downloads">http://www.busybox.net/downloads</a>.</p>
-
-<p>Have Fun.<br>
- -Erik</p>
-</li>
-
-<li> <b>18 November 2001 -- Help us buy busybox.net!</b>
-
-<!-- Begin PayPal Logo -->
-<center>
-Click here to help buy busybox.net!
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
-<input type="hidden" name="cmd" value="_xclick">
-<input type="hidden" name="business" value="andersen@codepoet.org">
-<input type="hidden" name="item_name" value="Support Busybox">
-<input type="hidden" name="image_url" value="https://busybox.net/images/busybox2.jpg">
-<input type="hidden" name="no_shipping" value="1">
-<input type="image" src="images/donate.png" name="submit" alt="Make donation using PayPal">
-</form>
-</center>
-<!-- End PayPal Logo -->
-
-I've contacted the current owner of busybox.net and he is willing
-to sell the domain name -- for $250.  He also owns busybox.org but
-will not part with it...  I will then need to pay the registry fee
-for a couple of years and start paying for bandwidth, so this will
-initially cost about $300.  I would like to host busybox.net on my
-home machine (codepoet.org) so I have full control over the system,
-but to do that would require that I increase the level of bandwidth
-I am paying for.  Did you know that so far this month, there
-have been over 1.4 Gigabytes of busybox ftp downloads?  I don't
-even <em>know</em> how much CVS bandwidth it requires.  For the
-time being, Lineo has continued to graciously provide this
-bandwidth, despite the fact that I no longer work for them.  If I
-start running this all on my home machine, paying for the needed bandwidth
-will start costing some money.
-<p>
-
-I was going to pay it all myself, but my wife didn't like that
-idea at all (big surprise).   It turns out &lt;insert argument
-where she wins and I don't&gt; she has better ideas
-about what we should spend our money on that don't involve
-busybox.  She suggested I should ask for contributions on the
-mailing list and web page.  So...
-<p>
-
-I am hoping that if everyone could contribute a bit, we could pick
-up the busybox.net domain name and cover the bandwidth costs.  I
-know that busybox is being used by a lot of companies as well as
-individuals -- hopefully people and companies that are willing to
-contribute back a bit.  So if everyone could please help out, that
-would be wonderful!
-<p>
-
-
-<li> <b>23 August 2001 -- BusyBox 0.60.1 released</b>
-<br>
-
-     This is a relatively minor bug fixing release that fixes
-     up the bugs that have shown up in the stable release in
-     the last few weeks.  Fortunately, nothing <em>too</em>
-     serious has shown up.  This release only fixes bugs -- no
-     new features, no new applets.  So without further ado,
-     here it is.  Come and get it.
-     <p>
-     The
-     <a href="downloads/Changelog">changelog</a> has all
-     the details.  As usual BusyBox 0.60.1 can be downloaded from
-     <a href="downloads">http://busybox.net/downloads</a>.
-     <p>Have Fun!
-     <p>
-
-
-<li> <b>2 August 2001 -- BusyBox 0.60.0 released</b>
-<br>
-     I am very pleased to announce the immediate availability of
-     BusyBox 0.60.0.  I have personally tested this release with libc5, glibc,
-     and <a href="http://uclibc.org/">uClibc</a> on
-     x86, ARM, and powerpc using linux 2.2 and 2.4, and I know a number
-     of people using it on everything from ia64 to m68k with great success.
-     Everything seems to be working very nicely now, so getting a nice
-     stable bug-free(tm) release out seems to be in order.   This releases fixes
-     a memory leak in syslogd, a number of bugs in the ash and msh shells, and
-     cleans up a number of things.
-
-     <p>
-
-     Those wanting an easy way to test the 0.60.0 release with uClibc can
-     use <a href="http://user-mode-linux.sourceforge.net/">User-Mode Linux</a>
-     to give it a try by downloading and compiling
-     <a href="ftp://busybox.net/buildroot.tar.gz">buildroot.tar.gz</a>.
-     You don't have to be root or reboot your machine to run test this way.
-     Preconfigured User-Mode Linux kernel source is also on busybox.net.
-     <p>
-     Another cool thing is the nifty <a href="downloads/tutorial/index.html">
-     BusyBox Tutorial</a> contributed by K Computing.  This requires
-     a ShockWave plugin (or standalone viewer), so you may want to grab the
-     the GPLed shockwave viewer from <a href="http://www.swift-tools.com/Flash/flash-0.4.10.tgz">here</a>
-     to view the tutorial.
-     <p>
-
-     Finally, In case you didn't notice anything odd about the
-     version number of this release, let me point out that this release
-     is <em>not</em> 0.53, because I bumped the version number up a
-     bit.  This reflects the fact that this release is intended to form
-     a new stable BusyBox release series.  If you need to rely on a
-     stable version of BusyBox, you should plan on using the stable
-     0.60.x series.  If bugs show up then I will release 0.60.1, then
-     0.60.2, etc...  This is also intended to deal with the fact that
-     the BusyBox build system will be getting a major overhaul for the
-     next release and I don't want that to break products that people
-     are shipping.  To avoid that, the new build system will be
-     released as part of a new BusyBox development series that will
-     have some not-yet-decided-on odd version number.  Once things
-     stabilize and the new build system is working for everyone, then
-     I will release that as a new stable release series.
-
-     <p>
-     The
-     <a href="downloads/Changelog">changelog</a> has all
-     the details.  As usual BusyBox 0.60.0 can be downloaded from
-     <a href="downloads">http://busybox.net/downloads</a>.
-     <p>Have Fun!
-     <p>
-
-
-<li> <b>7 July 2001 -- BusyBox 0.52 released</b>
-<br>
-
-     I am very pleased to announce the immediate availability of
-     BusyBox 0.52 (the "new-and-improved rock-solid release").  This
-     release is the result of <em>many</em> hours of work and has tons
-     of bugfixes, optimizations, and cleanups.  This release adds
-     several new applets, including several new shells (such as hush, msh,
-     and ash).
-
-     <p>
-     The
-     <a href="downloads/Changelog">changelog</a> covers
-     some of the more obvious details, but there are many many things that
-     are not mentioned, but have been improved in subtle ways.  As usual,
-     BusyBox 0.52 can be downloaded from
-     <a href="downloads">http://busybox.net/downloads</a>.
-     <p>Have Fun!
-     <p>
-
-
-<li> <b>10 April 2001 - Graph of Busybox Growth </b>
-<br>
-The illustrious Larry Doolittle has made a PostScript chart of the growth
-of the Busybox tarball size over time. It is available for downloading /
-viewing <a href="busybox-growth.ps"> right here</a>.
-
-<p> (Note that while the number of applets in Busybox has increased, you
-can still configure Busybox to be as small as you want by selectively
-turning off whichever applets you don't need.)
-<p>
-
-
-<li> <b>10 April 2001 -- BusyBox 0.51 released</b>
-<br>
-
-     BusyBox 0.51 (the "rock-solid release") is now out there.  This
-     release adds only 2 new applets: env and vi.  The vi applet,
-     contributed by Sterling Huxley, is very functional, and is only
-     22k.  This release fixes 3 critical bugs in the 0.50 release.
-     There were 2 potential segfaults in lash (the busybox shell) in
-     the 0.50 release which are now fixed.  Another critical bug in
-     0.50 which is now fixed: syslogd from 0.50 could potentially
-     deadlock the init process and thereby break your entire system.
-     <p>
-
-     There are a number of improvements in this release as well.  For
-     one thing, the wget applet is greatly improved.  Dmitry Zakharov
-     added FTP support, and Laurence Anderson make wget fully RFC
-     compliant for HTTP 1.1.  The mechanism for including utility
-     functions in previous releases was clumsy and error prone.  Now
-     all utility functions are part of a new libbb library, which makes
-     maintaining utility functions much simpler.  And BusyBox now
-     compiles on itanium systems (thanks to the Debian itanium porters
-     for letting me use their system!).
-     <p>
-     You can read the
-     <a href="downloads/Changelog">changelog</a> for
-     complete details.  BusyBox 0.51 can be downloaded from
-     <a href="downloads">http://busybox.net/downloads</a>.
-     <p>Have Fun!
-     <p>
-
-<li> <b>Busybox Boot-Floppy Image</b>
-
-<p>Because you asked for it, we have made available a <a href=
-"downloads/busybox.floppy.img"> Busybox boot floppy
-image</a>. Here's how you use it:
-
-<ol>
-
-    <li> <a href="downloads/busybox.floppy.img">
-    Download the image</a>
-
-    <li> dd it onto a floppy like so: <tt> dd if=busybox.floppy.img
-    of=/dev/fd0 ; sync </tt>
-
-    <li> Pop it in a machine and boot up.
-
-</ol>
-
-<p> If you want to look at the contents of the initrd image, do this:
-
-<pre>
-    mount ./busybox.floppy.img /mnt -o loop -t msdos
-    cp /mnt/initrd.gz /tmp
-    umount /mnt
-    gunzip /tmp/initrd.gz
-    mount /tmp/initrd /mnt -o loop -t minix
-</pre>
-
-
-<li> <b>15 March 2001 -- BusyBox 0.50 released</b>
-<br>
-
-     This release adds several new applets including ifconfig, route, pivot_root, stty,
-     and tftp, and also fixes tons of bugs.  Tab completion in the
-     shell is now working very well, and the shell's environment variable
-     expansion was fixed.   Tons of other things were fixed or made
-     smaller.  For a fairly complete overview, see the
-     <a href="downloads/Changelog">changelog</a>.
-     <p>
-     lash (the busybox shell) is still with us, fixed up a bit so it
-     now behaves itself quite nicely.  It really is quite usable as
-     long as you don't expect it to provide Bourne shell grammer.
-     Standard things like pipes, redirects, command line editing, and
-     environment variable expansion work great.  But we have found that
-     this shell, while very usable, does not provide an extensible
-     framework for adding in full Bourne shell behavior.  So the first order of
-     business as we begin working on the next BusyBox release will be to merge in the new shell
-     currently in progress at
-     <a href="http://doolittle.faludi.com/~larry/parser.html">Larry Doolittle's website</a>.
-     <p>
-
-
-<li> <b>27 January 2001 -- BusyBox 0.49 released</b>
-<br>
-
-     Several new applets, lots of bug fixes, cleanups, and many smaller
-     things made nicer.  Several cleanups and improvements to the shell.
-     For a list of the most interesting changes
-     you might want to look at the <a href="downloads/Changelog">changelog</a>.
-     <p>
-     Special thanks go out to Matt Kraai and Larry Doolittle for all their
-     work on this release, and for keeping on top of things while I've been
-     out of town.
-     <p>
-     <em>Special Note</em><br>
-
-     BusyBox 0.49 was supposed to have replaced lash, the BusyBox
-     shell, with a new shell that understands full Bourne shell/Posix shell grammer.
-     Well, that simply didn't happen in time for this release.  A new
-     shell that will eventually replace lash is already under
-     construction.  This new shell is being developed by Larry
-     Doolittle, and could use all of our help.  Please see the work in
-     progress on <a href="http://doolittle.faludi.com/~larry/parser.html">Larry's website</a>
-     and help out if you can.  This shell will be included in the next
-     release of BusyBox.
-     <p>
-
-<li> <b>13 December 2000 -- BusyBox 0.48 released</b>
-<br>
-
-     This release fixes lots and lots of bugs.  This has had some very
-     rigorous testing, and looks very, very clean.  The usual tar
-     update of course: tar no longer breaks hardlinks, tar -xzf is
-     optionally supported, and the LRP folks will be pleased to know
-     that 'tar -X' and 'tar --exclude' are both now in.  Applets are
-     now looked up using a binary search making lash (the busybox
-     shell) much faster.  For the new debian-installer (for Debian
-     woody) a .udeb can now be generated.
-     <p>
-     The curious can get a list of some of the more interesting changes by reading
-     the <a href="downloads/Changelog">changelog</a>.
-     <p>
-     Many thanks go out to the many many people that have contributed to
-     this release, especially Matt Kraai, Larry Doolittle, and Kent Robotti.
-     <p>
-<p> <li> <b>26 September 2000 -- BusyBox 0.47 released</b>
-<br>
-
-     This release fixes lots of bugs (including an ugly bug in 0.46
-     syslogd that could fork-bomb your system).  Added several new
-     apps: rdate, wget, getopt, dos2unix, unix2dos, reset, unrpm,
-     renice, xargs, and expr.  syslogd now supports network logging.
-     There are the usual tar updates.  Most apps now use getopt for
-     more correct option parsing.
-     See the <a href="downloads/Changelog">changelog</a>
-     for complete details.
-
-
-<p> <li> <b>11 July 2000 -- BusyBox 0.46 released</b>
-<br>
-
-     This release fixes several bugs (including a ugly bug in tar,
-     and fixes for NFSv3 mount support).  Added a dumpkmap to allow
-     people to dump a binary keymaps for use with 'loadkmap', and a
-     completely reworked 'grep' and 'sed' which should behave better.
-     BusyBox shell can now also be used as a login shell.
-     See the <a href="downloads/Changelog">changelog</a>
-     for complete details.
-
-
-<p> <li> <b>21 June 2000 -- BusyBox 0.45 released</b>
-<br>
-
-     This release has been slow in coming, but is very solid at this
-     point.  BusyBox now supports libc5 as well as GNU libc.  This
-     release provides the following new apps: cut, tr, insmod, ar,
-     mktemp, setkeycodes, md5sum, uuencode, uudecode, which, and
-     telnet.  There are bug fixes for just about every app as well (see
-     the <a href="downloads/Changelog">changelog</a> for
-     details).
-     <p>
-     Also, some exciting infrastructure news!  Busybox now has its own
-     <a href="lists/busybox/">mailing list</a>,
-     publically browsable
-     <a href="http://sources.busybox.net/index.py/trunk/busybox/">CVS tree</a>,
-     anonymous
-     <a href="cvs_anon.html">CVS access</a>, and
-     for those that are actively contributing there is even
-     <a href="cvs_write.html">CVS write access</a>.
-     I think this will be a huge help to the ongoing development of BusyBox.
-     <p>
-     Also, for the curious, there is no 0.44 release.  Somehow 0.44 got announced
-     a few weeks ago prior to its actually being released.  To avoid any confusion
-     we are just skipping 0.44.
-     <p>
-     Many thanks go out to the many people that have contributed to this release
-     of BusyBox (esp. Pavel Roskin)!
-
-
-<p> <li> <b>19 April 2000 -- syslogd bugfix</b>
-<br>
-Turns out that there was still a bug in busybox syslogd.
-For example, with the following test app:
-<pre>
-#include &lt;syslog.h&gt;
-
-int do_log(char* msg, int delay)
-{
-    openlog("testlog", LOG_PID, LOG_DAEMON);
-    while(1) {
-       syslog(LOG_ERR, "%s: testing one, two, three\n", msg);
-       sleep(delay);
-    }
-    closelog();
-    return(0);
-};
-
-int main(void)
-{
-    if (fork()==0)
-       do_log("A", 2);
-    do_log("B", 3);
-}
-</pre>
-it should be logging stuff from both "A" and "B".  As released in 0.43 only stuff
-from "A" would have been logged.  This means that if init tries to log something
-while say ppp has the syslog open, init would block (which is bad, bad, bad).
-<p>
-Karl M. Hegbloom has created a fix for the problem.
-Thanks Karl!
-
-
-<p> <li> <b>18 April 2000 -- BusyBox 0.43 released (finally!)</b>
-<br>
-I have finally gotten everything into a state where I feel pretty
-good about things.  This is definitely the most stable, solid release
-so far.  A lot of bugs have been fixed, and the following new apps
-have been added: sh, basename, dirname, killall, uptime,
-freeramdisk, tr, echo, test, and usleep.  Tar has been completely
-rewritten from scratch.  Bss size has also been greatly reduced.
-More details are available in the
-<a href="downloads/Changelog">changelog</a>.
-Oh, and as a special bonus, I wrote some fairly comprehensive
-<em>documentation</em>, complete with examples and full usage information.
-
-<p>
-Many thanks go out to the fine people that have helped by submitting patches
-and bug reports; particularly instrumental in helping for this release were
-Karl Hegbloom, Pavel Roskin, Friedrich Vedder, Emanuele Caratti,
-Bob Tinsley, Nicolas Pitre, Avery Pennarun, Arne Bernin, John Beppu, and Jim Gleason.
-There were others so if I somehow forgot to mention you, I'm very sorry.
-<p>
-
-You can grab BusyBox 0.43 tarballs <a href="downloads">here</a>.
-
-<p> <li> <b>9 April 2000 -- BusyBox 0.43 pre release</b>
-<br>
-Unfortunately, I have not yet finished all the things I want to
-do for BusyBox 0.43, so I am posting this pre-release for people
-to poke at.  This contains my complete rewrite of tar, which now weighs in at
-5k (7k with all options turned on) and works for reading and writing
-tarballs (which it does correctly for everything I have been able to throw
-at it).  Tar also (optionally) supports the "--exclude" option (mainly because
-the Linux Router Project folks asked for it).  This also has a pre-release
-of the micro shell I have been writing.  This pre-release should be stable
-enough for production use -- it just isn't a release since I have some structural
-changes I still want to make.
-<p>
-The pre-release can be found <a href="downloads">here</a>.
-Please let me know ASAP if you find <em>any</em> bugs.
-
-<p> <li> <b>28 March 2000 -- Andersen Baby Boy release</b>
-<br>
-I am pleased to announce that on Tuesday March 28th at 5:48pm, weighing in at 7
-lbs. 12 oz, Micah Erik Andersen was born at LDS Hospital here in Salt Lake City.
-He was born in the emergency room less then 5 minutes after we arrived -- and
-it was such a relief that we even made it to the hospital at all.  Despite the
-fact that I was driving at an amazingly unlawful speed and honking at everybody
-and thinking decidedly unkind thoughts about the people in our way, my wife
-(inconsiderate of my feelings and complete lack of medical training) was lying
-down in the back seat saying things like "I think I need to start pushing now"
-(which she then proceeded to do despite my best encouraging statements to the
-contrary).
-<p>
-Anyway, I'm glad to note that despite the much-faster-than-we-were-expecting
-labor, both Shaunalei and our new baby boy are doing wonderfully.
-<p>
-So now that I am done with my excuse for the slow release cycle...
-Progress on the next release of BusyBox has been slow but steady.  I expect
-to have a release sometime during the first week of April.  This release will
-include a number of important changes, including the addition of a shell, a
-re-write of tar (to accommodate the Linux Router Project), and syslogd can now
-accept multiple concurrent connections, fixing lots of unexpected blocking
-problems.
-
-
-<p> <li> <b>11 February 2000 -- BusyBox 0.42 released</b>
-<br>
-
-     This is the most solid BusyBox release so far.  Many, many
-       bugs have been fixed.   See the
-       <a href="downloads/Changelog">changelog</a> for details.
-
-       Of particular interest, init will now cleanly unmount
-       filesystems on reboot, cp and mv have been rewritten and
-       behave much better, and mount and umount no longer leak
-       loop devices.  Many thanks go out to Randolph Chung,
-       Karl M. Hegbloom, Taketoshi Sano, and Pavel Roskin for
-       their hard work on this release of BusyBox.  Please pound
-       on it and let me know if you find any bugs.
-
-<p> <li> <b>19 January 2000 -- BusyBox 0.41 released</b>
-<br>
-
-     This release includes bugfixes to cp, mv, logger, true, false,
-       mkdir, syslogd, and init.  New apps include wc, hostid,
-       logname, tty, whoami, and yes.  New features include loop device
-       support in mount and umount, and better TERM handling by init.
-       The changelog can be found <a href="downloads/Changelog">here</a>.
-
-<p> <li> <b>7 January 2000 -- BusyBox 0.40 released</b>
-<br>
-
-     This release includes bugfixes to init (now includes inittab support),
-     syslogd, head, logger, du, grep, cp, mv, sed, dmesg, ls, kill, gunzip, and mknod.
-     New apps include sort, uniq, lsmod, rmmod, fbset, and loadacm.
-     In particular, this release fixes an important bug in tar which
-     in some cases produced serious security problems.
-     As always, the changelog can be found <a href="downloads/Changelog">here</a>.
-
-<p> <li> <b>11 December 1999 -- BusyBox Website</b>
-<br>
-     I have received permission from Bruce Perens (the original author of BusyBox)
-       to set up this site as the new primary website for BusyBox.  This website
-       will always contain pointers to the latest and greatest, and will also
-       contain the latest documentation on how to use BusyBox, what it can do,
-       what arguments its apps support, etc.
-
-<p> <li> <b>10 December 1999 -- BusyBox 0.39 released</b>
-<br>
-     This release includes fixes to init, reboot, halt, kill, and ls, and contains
-     the new apps ping, hostname, mkfifo, free, tail, du, tee, and head.  A full
-     changelog can be found <a href="downloads/Changelog">here</a>.
-<p> <li> <b>5 December 1999 -- BusyBox 0.38 released</b>
-<br>
-     This release includes fixes to tar, cat, ls, dd, rm, umount, find, df,
-       and make install, and includes new apps syslogd/klogd and logger.
-
-
-</ul>
-
-
-<!--#include file="footer.html" -->
-
diff --git a/docs/busybox.net/products.html b/docs/busybox.net/products.html
deleted file mode 100644 (file)
index 7bb07f7..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-<!--#include file="header.html" -->
-
-
-<h3>Products/Projects Using BusyBox</h3>
-
-Do you use BusyBox? I'd love to know about it and
-I'd be happy to link to you.
-
-<p>
-I know of the following projects that use BusyBox --
-listed in the order I happen to add them to the web page:
-
-<ul>
-
-<li><a href="http://buildroot.uclibc.org/">buildroot</a><br>A configurable
-means for building your own busybox/uClibc based system systems, maintained
-by the uClibc developers.
-
-<li><a href="http://openwrt.org">OpenWrt</a> a Linux distribution for embedded
-devices, based on buildroot.
-
-<li><a href="http://www.pengutronix.de/software/ptxdist_en.html">PTXdist</a>
- <br>another configurable means for building your own busybox based systems.
-
-<li><a href=
-"http://cvs.debian.org/boot-floppies/">
-Debian installer (boot floppies) project</a>
-
-<li><a href="http://redhat.com/">Red Hat installer</a>
-
-<li><a href=
-"http://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware-current/source/rootdisks/">
-Slackware Installer</a>
-
-<li><a href="http://www.gentoo.org/">Gentoo Linux install/boot CDs</a>
-<li><a href="http://www.mandriva.com/">The Mandriva installer</a>
-
-<li><a href="http://Leaf.SourceForge.net">Linux Embedded Appliance Firewall</a>
- <br>The sucessor of the Linux Router Project, supporting all sorts
- of embedded Linux gateways, routers, wireless routers, and firewalls.
-
-<li><a href=
-"http://www.toms.net/rb/">tomsrtbt</a>
-
-<li><a href="http://www.stormix.com/">Stormix Installer</a>
-
-<li><a href="http://www.emacinc.com/linux2_sbc.htm">EMAC Linux 2.0 SBC</a>
-
-<li><a href="http://www.trinux.org/">Trinux</a>
-
-<li><a href="http://oddas.sourceforge.net/">ODDAS project</a>
-
-<li><a href="http://byld.sourceforge.net/">Build Your Linux Disk</a>
-
-<li><a href=
-"http://ibiblio.org/pub/Linux/system/recovery">Zdisk</a>
-
-<li><a href="http://www.adtran.com">AdTran -
-VPN/firewall VPN Linux Distribution</a>
-
-<li><a href="http://mkcdrec.ota.be/">mkCDrec - make CD-ROM recovery</a>
-
-<li><a href="http://recycle.lbl.gov/~ldoolitt/bse/">Linux on nanoEngine</a>
-
-<li><a href="http://www.zelow.no/floppyfw/">Floppyfw</a>
-
-<li><a href="http://www.ltsp.org/">Linux Terminal Server Project</a>
-
-<li><a href="http://www.devil-linux.org/">Devil-Linux</a>
-
-<li><a href="http://dutnux.sourceforge.net/">DutNux</a>
-
-<li><a href="http://www.microwerks.net/~hugo/mindi/">Mindi</a>
-
-<li><a href="http://www.minimalinux.org/ttylinux/">ttylinux</a>
-
-<li><a href="http://www.coyotelinux.com/">Coyote Linux</a>
-
-<li><a href="http://www.partimage.org/">Partition Image</a>
-
-<li><a href="http://www.fli4l.de/">fli4l the on(e)-disk-router</a>
-
-<li><a href="http://tinfoilhat.cultists.net/">Tinfoil Hat Linux</a>
-
-<li><a href="http://sourceforge.net/projects/gp32linux/">gp32linux</a>
-<li><a href="http://familiar.handhelds.org/">Familiar Linux</a><br>A linux distribution for handheld computers
-<li><a href="http://rescuecd.sourceforge.net/">Timo's Rescue CD Set</a>
-<li><a href="http://sf.net/projects/netstation/">Netstation</a>
-<li><a href="http://www.fiwix.org/">GNU/Fiwix Operating System</a>
-<li><a href="http://www.softcraft.com/">Generations Linux</a>
-<li><a href="http://systemimager.org/relatedprojects/">SystemImager / System Installation Suite</a>
-<li><a href="http://www.bablokb.de/gendist/">GENDIST distribution generator</a>
-<li><a href="http://diet-pc.sourceforge.net/">DIET-PC embedded Linux thin client distribution</a>
-<li><a href="http://byzgl.sourceforge.net/">BYZantine Gnu/Linux</a>
-<li><a href="http://dban.sourceforge.net/">Darik's Boot and Nuke</a>
-<li><a href="http://www.timesys.com/">TimeSys real-time Linux</a>
-<li><a href="http://movix.sf.net/">MoviX</a><br>Boots from CD and automatically plays every video file on the CD
-<li><a href="http://katamaran.sourceforge.net">katamaran</a><br>Linux, X11, xfce windowmanager, based on BusyBox
-<li><a href="http://www.sourceforge.net/projects/simplygnustep">Prometheus SimplyGNUstep</a>
-<li><a href="http://www.renyi.hu/~ekho/lowlife/">lowlife</a><br>A documentation project on how to make your own uClibc-based systems and floppy.
-<li><a href="http://metadistros.hispalinux.es/">Metadistros</a><br>a project to allow you easily make Live-CD distributions.
-<li><a href="http://salvare.sourceforge.net/">Salvare</a><br>More Linux than tomsrtbt but less than Knoppix, aims to provide a useful workstation as well as a rescue disk.
-<li><a href="http://www.stresslinux.org/">stresslinux</a><br>minimal linux distribution running from a bootable cdrom or via PXE.
-<li><a href="http://thinstation.sourceforge.net/">thinstation</a><br>convert standard PCs into full-featured diskless thinclients.
-<li><a href="http://www.uhulinux.hu/">UHU-Linux Hungary</a>
-<li><a href="http://deep-water.berlios.de/">Deep-Water Linux</a>
-<li><a href="http://www.freesco.org/">Freesco router</a>
-<li><a href="http://Sentry.SourceForge.net/">Sentry Firewall CD</a>
-
-</ul>
-
-<p>
-And here are products that use BusyBox --
-
-<ul>
-
-<li><a href="http://www.dream-multimedia-tv.de/">Dreambox (Linux based PVR)</a>
-<li><a href="http://www.elpa.it/eng/rd129gb.html">RD129 embedded board from ELPA</a>
-<li>EMTEC MovieCube R700 uses Busybox 1.1.3.
-<li><a href="http://tuxscreen.net">Tuxscreen Linux Phone</a>
-<li><a href="http://www.kerbango.com/">The Kerbango Internet Radio</a>
-<li><a href="http://www.linuxmagic.com/vpn/">LinuxMagic VPN Firewall</a>
-<li><a href="http://www.isilver-inc.com/">I-Silver Linux appliance servers</a>
-<li><a href="http://zaurus.sourceforge.net/">Sharp Zaurus PDA</a>
-<li><a href="http://www.cyclades.com/">Cyclades-TS and other Cyclades products</a>
-<li><a href="http://www.linksys.com/products/product.asp?prid=508">Linksys WRT54G - Wireless-G Broadband Router</a>
-<li><a href="http://www.dell.com/us/en/biz/topics/sbtopic_005_truemobile.htm">Dell TrueMobile 1184</a>
-<li><a href="http://actiontec.com/products/modems/dual_pcmodem/dpm_overview.html">Actiontec Dual PC Modem</a>
-<li><a href="http://www.kiss-technology.com/">Kiss DP Series DVD players</a>
-<li><a href="http://www.netgear.com/products/prod_details.asp?prodID=170">NetGear WG602 wireless router</a>
-    <br>with sources <a href="http://www.netgear.com/support/support_details.asp?dnldID=453">here</a>
-<li><a href="http://www.trendware.com/products/TEW-411BRP.htm">TRENDnet TEW-411BRP 802.11g Wireless AP/Router/Switch</a>
-    <br>Source for busybox and udhcp <a href="http://www.trendware.com/asp/download/fileinfo.asp?file_id=277&amp;B1=Search">here</a> though no kernel source is provided.
-<li><a href="http://www.buffalo-technology.com/webcontent/products/wireless/wbr-g54.htm">Buffalo WBR-G54 wireless router</a>
-  <li><a href="http://www.asus.com/products/communication/wireless/wl-300g/overview.htm">ASUS WL-300g Wireless LAN Access Point</a>
-    <br>with source<a href="http://www.asus.com.tw/support/download/item.aspx?ModelName=WL-300G">here</a>
-  <li><a href="http://catalog.belkin.com/IWCatProductPage.process?Merchant_Id=&amp;Section_Id=201522&amp;pcount=&amp;Product_Id=136493">Belkin 54g Wireless DSL/Cable Gateway Router</a>
-    <br>with source<a href="http://web.belkin.com/support/gpl.asp">here</a>
-  <li><a href="http://www.acronis.com/products/partitionexpert/">Acronis PartitionExpert 2003</a>
-       <br>includes a heavily modified BusyBox v0.60.5 with built in
-       cardmgr, device detection, gpm, lspci, etc.  Also includes udhcp,
-       uClibc 0.9.26, a heavily patched up linux kernel, etc.  Source
-       can only be obtained <a href="http://www.acronis.com/files/gpl/linux.tar.bz2">here</a>
-
-<li><a href="http://www.usr.com/">U.S. Robotics Sureconnect 4-port ADSL router</a><br>
-    with source <a href="http://www.usr.com/support/s-gpl-code.asp">here</a>
-<li><a href="http://www.actiontec.com/products/broadband/54mbps_wireless_gateway_1p/index.html">
-    ActionTec GT701-WG Wireless Gateway/DSL Modem</a>
-    with source <a href="http://opensource.actiontec.com/">here</a>
-<li><a href="http://smartlinux.sourceforge.net/">S.M.A.R.T. Linux</a>
-<li><a href="http://www.dlink.com/">DLink - Model GSL-G604T, DSL-300T, and possibly other models</a>
-    with source <a href="ftp://ftp.dlink.co.uk/dsl_routers_modems/">here,</a>
-    with source <a href="ftp://ftp.dlink.de/dsl-products/">and here,</a>
-    and quite possibly other places as well.  You may need to dig down a bit
-    to find the source, but it does seem to be there.
-<li><a href="http://www.siemens-mobile.de/cds/frontdoor/0,2241,de_de_0_42931_rArNrNrNrN,00.html">Siemens SE515 DSL router</a>
-    with source <a href="http://now-portal.c-lab.de/projects/gigaset/">here, I think...</a>
-    with some details <a href="http://heinz.hippenstiel.org/familie/hp/hobby/gigaset_se515dsl.html">here.</a>
-<li><a href="http://freeterm.spb.ru/frwt/">Free Remote Windows Terminal</a>
-
-<li><a href="http://www.zyxel.com/">ZyXEL Routers</a>
-
-</ul>
-
-<!--#include file="footer.html" -->
diff --git a/docs/busybox.net/screenshot.html b/docs/busybox.net/screenshot.html
deleted file mode 100644 (file)
index c5ef18b..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<!--#include file="header.html" -->
-
-
-<!-- Begin Screenshot -->
-
-<h3> Busybox Screenshot! </h3>
-
-
-Everybody loves to look at screenshots, so here is a live action screenshot of BusyBox.
-
-<pre style="background-color: black; color: lightgreen; padding: 5px;
-font-family: monospace; font-size: smaller;" width="100">
-
-$ busybox
-BusyBox v1.10.1 (2008-04-24 11:30:07 CEST) multi-call binary
-Copyright (C) 1998-2007 Erik Andersen, Rob Landley, Denys Vlasenko
-and others. Licensed under GPLv2.
-See source distribution for full notice.
-
-Usage: busybox [function] [arguments]...
-   or: function [arguments]...
-
-       BusyBox is a multi-call binary that combines many common Unix
-       utilities into a single executable.  Most people will create a
-       link to busybox for each function they wish to use and BusyBox
-       will act like whatever it was invoked as!
-
-Currently defined functions:
-       [, [[, addgroup, adduser, adjtimex, ar, arp, arping, ash,
-       awk, basename, bbconfig, brctl, bunzip2, bzcat, bzip2,
-       cal, cat, catv, chat, chattr, chcon, chgrp, chmod, chown,
-       chpasswd, chpst, chroot, chrt, chvt, cksum, clear, cmp,
-       comm, cp, cpio, crond, crontab, cryptpw, cttyhack, cut,
-       date, dc, dd, deallocvt, delgroup, deluser, devfsd, df,
-       dhcprelay, diff, dirname, dmesg, dnsd, dos2unix, dpkg,
-       dpkg-deb, du, dumpkmap, dumpleases, echo, ed, egrep, eject,
-       env, envdir, envuidgid, ether-wake, expand, expr, fakeidentd,
-       false, fbset, fdflush, fdformat, fdisk, fetchmail, fgrep,
-       find, findfs, fold, free, freeramdisk, fsck, fsck.minix,
-       ftpget, ftpput, fuser, getenforce, getopt, getsebool,
-       getty, grep, gunzip, gzip, halt, hd, hdparm, head, hexdump,
-       hostid, hostname, httpd, hush, hwclock, id, ifconfig,
-       ifdown, ifenslave, ifup, inetd, init, insmod, install,
-       ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute, iprule,
-       iptunnel, kbd_mode, kill, killall, killall5, klogd, lash,
-       last, length, less, linux32, linux64, linuxrc, ln, load_policy,
-       loadfont, loadkmap, logger, login, logname, logread, losetup,
-       lpd, lpq, lpr, ls, lsattr, lsmod, lzmacat, makedevs, matchpathcon,
-       md5sum, mdev, mesg, microcom, mkdir, mkfifo, mkfs.minix,
-       mknod, mkswap, mktemp, modprobe, more, mount, mountpoint,
-       msh, mt, mv, nameif, nc, netstat, nice, nmeter, nohup,
-       nslookup, od, openvt, passwd, patch, pgrep, pidof, ping,
-       ping6, pipe_progress, pivot_root, pkill, poweroff, printenv,
-       printf, ps, pscan, pwd, raidautorun, rdate, readahead,
-       readlink, readprofile, realpath, reboot, renice, reset,
-       resize, restorecon, rm, rmdir, rmmod, route, rpm, rpm2cpio,
-       rtcwake, run-parts, runcon, runlevel, runsv, runsvdir,
-       rx, script, sed, selinuxenabled, sendmail, seq, sestatus,
-       setarch, setconsole, setenforce, setfiles, setkeycodes,
-       setlogcons, setsebool, setsid, setuidgid, sha1sum, slattach,
-       sleep, softlimit, sort, split, start-stop-daemon, stat,
-       strings, stty, su, sulogin, sum, sv, svlogd, swapoff,
-       swapon, switch_root, sync, sysctl, syslogd, tac, tail,
-       tar, taskset, tcpsvd, tee, telnet, telnetd, test, tftp,
-       tftpd, time, top, touch, tr, traceroute, true, tty, ttysize,
-       udhcpc, udhcpd, udpsvd, umount, uname, uncompress, unexpand,
-       uniq, unix2dos, unlzma, unzip, uptime, usleep, uudecode,
-       uuencode, vconfig, vi, vlock, watch, watchdog, wc, wget,
-       which, who, whoami, xargs, yes, zcat, zcip
-
-$ <span style="text-decoration:blink;">_</span>
-
-</pre>
-
-<!--#include file="footer.html" -->
diff --git a/docs/busybox.net/shame.html b/docs/busybox.net/shame.html
deleted file mode 100644 (file)
index d9da44b..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<!--#include file="header.html" -->
-
-
-<h3>Hall of Shame!!!</h3>
-
-<p>This page is no longer updated, these days we forward this sort of
-thing to the <a href="http://www.softwarefreedom.org">Software Freedom Law
-Center</a> instead.</p>
-
-<p>The following products and/or projects appear to use BusyBox, but do not
-appear to release source code as required by the <a
-href="/license.html">BusyBox license</a>.  This is a violation of the law!
-The distributors of these products are invited to contact <a href=
-"mailto:andersen@codepoet.org">Erik Andersen</a> if they have any confusion
-as to what is needed to bring their products into compliance, or if they have
-already brought their product into compliance and wish to be removed from the
-Hall of Shame.
-
-<p>
-
-Here are the details of <a href="/license.html">exactly how to comply
-with the BusyBox license</a>, so there should be no question as to
-exactly what is expected.
-Complying with the Busybox license is easy and completely free, so the
-companies listed below should be ashamed of themselves.  Furthermore, each
-product listed here is subject to being legally ordered to cease and desist
-distribution for violation of copyright law, and the distributor of each
-product is subject to being sued for statutory copyright infringement damages
-of up to $150,000 per work plus legal fees.  Nobody wants to be sued, and <a
-href="mailto:andersen@codepoet.org">Erik</a> certainly would prefer to spend
-his time doing better things than sue people.  But he will sue if forced to
-do so to maintain compliance.
-
-<p>
-
-Do everyone a favor and don't break the law -- if you use busybox, comply with
-the busybox license by releasing the source code with your product.
-
-<p>
-
-<ul>
-
-  <li><a href="http://www.trittontechnologies.com/products.html">Tritton Technologies NAS120</a>
-       <br>see <a href="http://www.ussg.iu.edu/hypermail/linux/kernel/0404.0/1611.html">here for details</a>
-  <li><a href="http://www.macsense.com/product/homepod/">Macsense HomePod</a>
-       <br>with details
-       <a href="http://developer.gloolabs.com/modules.php?op=modload&amp;name=Forums&amp;file=viewtopic&amp;topic=123&amp;forum=7">here</a>
-  <li><a href="http://www.cpx.com/products.asp?c=Wireless+Products">Compex Wireless Products</a>
-    <br>appears to be running v0.60.5 with Linux version 2.4.20-uc0 on ColdFire,
-    but no source code is mentioned or offered.
-  <li><a href="http://www.inventel.com/en/product/datasheet/10/">Inventel DW 200 wireless/ADSL router</a>
-  <li><a href="http://www.sweex.com/product.asp">Sweex DSL router</a>
-    <br>appears to be running BusyBox v1.00-pre2 and udhcpd, but no source
-       code is mentioned or offered.
-  <li><a href="http://www.trendware.com/products/TEW-410APB.htm">TRENDnet TEW-410APB</a>
-  </li><li><a href="http://www.hauppauge.com/Pages/products/data_mediamvp.html">Hauppauge Media MVP</a>
-  <br>Hauppauge contacted me on 16 Dec 2003, and claims to be working on resolving this problem.
-  </li><li><a href="http://www.hitex.com/download/adescom/data/">TriCore</a>
-  </li><li><a href="http://www.allnet.de/">ALLNET 0186 wireless router</a>
-  </li><li><a href="http://www.dmmtv.com/">Dreambox DM7000S DVB Satellite Receiver</a>
-  <br> Dream Multimedia contacted me on 22 Dec 2003 and is working on resolving this problem.
-  <br> Source _may_ be here: http://cvs.tuxbox.org/cgi-bin/viewcvs.cgi/tuxbox/cdk/
-  </li><li><a href="http://testing.lkml.org/slashdot.php?mid=331690">Sigma Designs EM8500 based DVD players</a>
-  <br>Source for the Sigma Designs reference platform is found here<br>
-    <a href="http://www.uclinux.org/pub/uClinux/ports/arm/EM8500/uClinux-2.4-sigma.tar.gz">uClinux-2.4-sigma.tar.gz</a>, so while Sigma Designs itself appears to be in compliance, as far as I can tell,
-    no vendors of Sigma Designs EM8500 based devices actually comply with the GPL....
-  </li><li><a href="http://testing.lkml.org/slashdot.php?mid=433790">Liteon LVD2001 DVD player using the Sigma Designs EM8500</a>
-  </li><li><a href="http://www.rimax.net/">Rimax DVD players using the Sigma Designs EM8500</a>
-  </li><li><a href="http://www.vinc.us/">Bravo DVD players using the Sigma Designs EM8500</a>
-  </li><li><a href="http://www.hb-direct.com/">H&amp;B DX3110 Divx player based on Sigma Designs EM8500</a>
-  </li><li><a href="http://www.recospa.it/mdpro1/index.php">United *DVX4066 mpeg4 capable DVD players</a>
-  </li><li><a href="http://www.a-link.com/RR64AP.html">Avaks alink Roadrunner 64</a>
-  <br> Partial source available, based on source distributed under NDA from <a href="http://www.lsilogic.com/products/dsl_platform_solutions/hb_linuxr2_2.html"> LSILogic</a>. Why the NDA LSILogic, what are you hiding ?
-  <br>To verify the Avaks infrigment see my slashdot <a href="http://slashdot.org/~bug1/journal/">journal</a>.
-  <br>The ZipIt wireless IM device appears to be using Busybox-1.00-pre1 in the ramdisk, however no source has been made available.
-  </li><li>Undoubtedly there are others...  Please report them so we can shame them (or if necessary sue them) into compliance.
-
-</ul>
-
-
-<!--#include file="footer.html" -->
-
diff --git a/docs/busybox.net/sponsors.html b/docs/busybox.net/sponsors.html
deleted file mode 100644 (file)
index e52adfc..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<!--#include file="header.html" -->
-
-<h3>Sponsors</h3>
-
-<p>Please visit our sponsors and thank them for their support! They have
-provided money for equipment and bandwidth. Next time you need help with a
-project, consider these fine companies!</p>
-
-
-<ul>
-  <li><a href="http://osuosl.org/">OSU OSL</a><br>
-  OSU OSL kindly provides hosting for BusyBox and uClibc.
-  </li>
-
-  <li><a href="http://www.codepoet-consulting.com/">Codepoet Consulting</a><br>
-  Custom Linux, embedded Linux, BusyBox, and uClibc development.
-  </li>
-
-  <li><a href="http://www.laptopcomputers.org/">Laptop Computers</a> contributes
-  financially.
-  </li>
-
-  <li>AOE media, a <a href="http://www.aoemedia.com/typo3-development.html">
-  TYPO3 development agency</a> contributes financially.
-  </li>
-
-  <li><a href="http://www.analog.com/en/">Analog Devices, Inc.</a> provided
-  a <a href="http://docs.blackfin.uclinux.org/doku.php?id=bf537_quick_start">
-  Blackfin development board</a> free of charge.
-  <a href="http://www.analog.com/blackfin">Blackfin</a>
-  is a NOMMU processor, and its availability for testing is invaluable.
-  If you are an embedded device developer,
-  please note that Analog Devices has entire Linux distribution available
-  for download for this board. Visit
-  <a href="http://blackfin.uclinux.org/">http://blackfin.uclinux.org/</a>
-  for more information.
-  </li>
-
-  <li><a href="http://www.timesys.com/">TimeSys</a><br>
-  Embedded Linux development, cross-compilers, real-time, KGDB, tsrpm and cygwin.
-  </li>
-
-  <li><a href="http://www.penguru.net/">Penguru Consulting</a><br>
-  Custom development for embedded Linux systems and multimedia platforms.
-  </li>
-
-  <li><a href="http://opensource.se/">opensource.se</a><br>
-  Embedded open source consulting in Europe.
-  </li>
-
-</ul>
-
-<p>If you wish to be a sponsor, or if you have already contributed and would
-like your name added here, email <a href="mailto:vda.linux@gmail.com">Denys</a>.</p>
-
-<!--#include file="footer.html" -->
diff --git a/docs/busybox.net/subversion.html b/docs/busybox.net/subversion.html
deleted file mode 100644 (file)
index 2c4517a..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<!--#include file="header.html" -->
-
-<h3>Accessing Source</h3>
-
-
-
-<h3>Patches</h3>
-
-<p>You can <a href="downloads/">download</a> fixes for particular releases
-of busybox, e.g. downloads/fixes-<em>major</em>-<em>minor</em>-<em>patch</em>/
-
-<h3>Anonymous Subversion Access</h3>
-
-We allow anonymous (read-only) Subversion (svn) access to everyone.  To
-grab a copy of the latest version of BusyBox using anonymous svn access:
-
-<pre>
-svn co svn://busybox.net/trunk/busybox</pre>
-
-<p>
-The <em>stable branches</em> can be obtained with
-<pre>
-svn co svn://busybox.net/branches/busybox_1_NN_stable
-</pre>
-
-<p>
-
-If you are not already familiar with using Subversion, I recommend you visit <a
-href="http://subversion.tigris.org/">the Subversion website</a>.  You might
-also want to read online or buy a copy of <a
-href="http://svnbook.red-bean.com/">the Subversion Book</a>.  If you are
-already comfortable with using CVS, you may want to skip ahead to the <a
-href="http://svnbook.red-bean.com/en/1.1/apa.html">Subversion for CVS Users</a>
-part of the Subversion Book.
-
-<p>
-
-Once you've checked out a copy of the source tree, you can update your source
-tree at any time so it is in sync with the latest and greatest by entering your
-BusyBox directory and running the command:
-
-<pre>
-svn update</pre>
-
-Because you've only been granted anonymous access to the tree, you won't be
-able to commit any changes. Changes can be submitted for inclusion by posting
-them to the BusyBox mailing list.  For those that are actively contributing
-<a href="developer.html">Subversion commit access</a> can be made available.
-
-<!--#include file="footer.html" -->
-
diff --git a/docs/busybox.net/svnindex.css b/docs/busybox.net/svnindex.css
deleted file mode 100644 (file)
index b1ca24a..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/* A sample style sheet for displaying the Subversion directory listing
-   that is generated by mod_dav_svn and "svnindex.xsl". */
-
-body{
-  margin: 0;
-  padding: 0;
-}
-
-a {
-  color: navy;
-}
-
-.header {
-  padding-top: 5px;
-  text-align: center;
-}
-
-.footer {
-  margin-top: 8em;
-  padding: 0.5em 1em 0.5em;
-  border: 1px solid;
-  border-width: 1px 0;
-  clear: both;
-  border-color: rgb(30%,30%,50%) navy rgb(75%,80%,85%) navy;
-  background: rgb(88%,90%,92%);
-  font-size: 80%;
-}
-
-.svn {
-  margin: 3em;
-}
-
-.rev {
-  margin-right: 3px;
-  padding-left: 3px;
-  text-align: left;
-  font-size: 120%;
-}
-
-.dir a {
-  text-decoration: none;
-  color: black;
-}
-
-.file a {
-  text-decoration: none;
-  color: black;
-}
-
-.path {
-  margin: 3px;
-  padding: 3px;
-  background: #FFCC66;
-  font-size: 120%;
-}
-
-.updir {
-  margin: 3px;
-  padding: 3px;
-  margin-left: 3em;
-  background: #FFEEAA;
-}
-
-.file {
-  margin: 3px;
-  padding: 3px;
-  margin-left: 3em;
-  background: rgb(95%,95%,95%);
-}
-
-.file:hover {
-  margin: 3px;
-  padding: 3px;
-  margin-left: 3em;
-  background: rgb(100%,100%,90%);
-/*  border: 1px black solid; */
-}
-
-.dir {
-  margin: 3px;
-  padding: 3px;
-  margin-left: 3em;
-  background: rgb(90%,90%,90%);
-}
-
-.dir:hover {
-  margin: 3px;
-  padding: 3px;
-  margin-left: 3em;
-  background: rgb(100%,100%,80%);
-/*  border: 1px black solid; */
-}
diff --git a/docs/busybox.net/svnindex.xsl b/docs/busybox.net/svnindex.xsl
deleted file mode 100644 (file)
index 2d3297c..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0"?>
-
-<!-- A sample XML transformation style sheet for displaying the Subversion
-  directory listing that is generated by mod_dav_svn when the "SVNIndexXSLT"
-  directive is used. -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-  <xsl:output method="html"/>
-
-  <xsl:template match="*"/>
-
-  <xsl:template match="svn">
-    <html>
-      <head>
-        <title>
-          <xsl:if test="string-length(index/@name) != 0">
-            <xsl:value-of select="index/@name"/>
-            <xsl:text>: </xsl:text>
-          </xsl:if>
-          <xsl:value-of select="index/@path"/>
-        </title>
-        <link rel="stylesheet" type="text/css" href="/svnindex.css"/>
-      </head>
-      <body>
-        <div class="header" style="font-family: lucida, helvetica; font-size: 248%">
-            <xsl:text>BUSYBOX</xsl:text>
-        </div>
-        <div class="header">
-          <a href="http://www.busybox.net"><img src="/images/busybox1.png" border="0" /></a>
-        </div>
-        <div class="svn">
-          <xsl:apply-templates/>
-        </div>
-        <div class="footer">
-          <xsl:text>Powered by </xsl:text>
-          <xsl:element name="a">
-            <xsl:attribute name="href">
-              <xsl:value-of select="@href"/>
-            </xsl:attribute>
-            <xsl:text>Subversion</xsl:text>
-          </xsl:element>
-          <xsl:text> </xsl:text>
-          <xsl:value-of select="@version"/>
-        </div>
-      </body>
-    </html>
-  </xsl:template>
-
-  <xsl:template match="index">
-    <div class="rev">
-      <xsl:value-of select="@name"/>
-      <xsl:if test="@base">
-        <xsl:if test="@name">
-          <xsl:text>:&#xA0; </xsl:text>
-        </xsl:if>
-        <xsl:value-of select="@base" />
-      </xsl:if>
-      <xsl:if test="@rev">
-        <xsl:if test="@base | @name">
-          <xsl:text> &#x2014; </xsl:text>
-        </xsl:if>
-        <xsl:text>Revision </xsl:text>
-        <xsl:value-of select="@rev"/>
-      </xsl:if>
-    </div>
-    <div class="path">
-      <xsl:value-of select="@path"/>
-    </div>
-    <xsl:apply-templates select="updir"/>
-    <xsl:apply-templates select="dir"/>
-    <xsl:apply-templates select="file"/>
-  </xsl:template>
-
-  <xsl:template match="updir">
-    <div class="updir">
-      <xsl:text>[</xsl:text>
-      <xsl:element name="a">
-        <xsl:attribute name="href">..</xsl:attribute>
-        <xsl:text>Parent Directory</xsl:text>
-      </xsl:element>
-      <xsl:text>]</xsl:text>
-    </div>
-  </xsl:template>
-
-  <xsl:template match="dir">
-    <div class="dir">
-      <xsl:element name="a">
-        <xsl:attribute name="href">
-          <xsl:value-of select="@href"/>
-        </xsl:attribute>
-        <xsl:value-of select="@name"/>
-        <xsl:text>/</xsl:text>
-      </xsl:element>
-    </div>
-  </xsl:template>
-
-  <xsl:template match="file">
-    <div class="file">
-      <xsl:element name="a">
-        <xsl:attribute name="href">
-          <xsl:value-of select="@href"/>
-        </xsl:attribute>
-        <xsl:value-of select="@name"/>
-      </xsl:element>
-    </div>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/docs/busybox.net/tinyutils.html b/docs/busybox.net/tinyutils.html
deleted file mode 100644 (file)
index 1831346..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<!--#include file="header.html" -->
-
-
-<h3>External Tiny Utilities</h3>
-
-This is a list of tiny utilities whose functionality is not provided by
-busybox.  If you have additional suggestions, please send an e-mail to our
-dev mailing list.
-
-<br><br>
-
-<table>
-<tr>
- <th>Feature</th>
- <th>Utilities</th>
-</tr>
-
-<tr>
- <td>SSH</td>
- <td><a href="http://matt.ucc.asn.au/dropbear/">Dropbear</a> has both an ssh server and an ssh client that together come in around 100k.  It has no external
-dependencies (I.E. it does not depend on OpenSSL, using a built-in copy of
-LibTomCrypt instead).  It's actively maintained, with a quiet but responsive
-mailing list.</td>
-</tr>
-
-<tr>
- <td>SMTP</td>
- <td><a href="ftp://ftp.debian.org/debian/pool/main/s/ssmtp/">ssmtp</a> is an extremely simple Mail Transfer Agent.</td>
-</tr>
-
-<tr>
-  <td>ntp</td>
-  <td><a href="http://doolittle.icarus.com/ntpclient/">ntpclient</a> is a
-tiny ntp client.  BusyBox has rdate to set the date from a remote server, but
-if you want a daemon to repeatedly adjust the clock over time, try that.</td>
-</table>
-
-<p>In a gui environment, you'll probably want a web browser.
-<a href="http://www.konqueror.org/embedded/">Konqueror Embedded</a> requires QT
-(or QT Embedded), but not KDE.  The <a href="http://www.dillo.org/">Dillo</a>
-requires GTK+, but not Gnome.  Or you can try the <a href="http://links.twibright.com/">graphical
-version of links</a>.</p>
-
-<h3>SCRIPTING LANGUAGES</h3>
-<p>Although busybox has built-in support for shell scripts, plenty of other
-small scripting languages are available on the net.  A few examples:</p>
-<table>
-<tr>
-<th>language</th>
-<th>description</th>
-</tr>
-<tr>
-<td> <a href="http://www.foo.be/docs/tpj/issues/vol5_3/tpj0503-0003.html">microperl</a> </td>
-<td> A small standalone perl interpreter that can be built from the perl source
-s via "make -f Makefile.micro".  If you really feel the need for perl on an embe
-dded system, this is where to start.
-</tr>
-<tr>
-
-<td><a href="http://www.lua.org/pil/">Lua</a></td>
-<td>If you just want a small embedded scripting language to write <em>new</em>
-code in, this Brazilian import is lightweight, fairly popular, and has
-a complete book about it online.</td>
-</tr>
-
-<tr>
-<td><a href="http://www.star.le.ac.uk/%7Etjg/rc/">rc</a></td>
-<td>The PLAN9 shell.  Not compatible with conventional bourne shell syntax,
-but fairly lightweight and small.</td>
-</tr>
-
-</tr>
-<tr>
-<td><a href="http://www.forth.org/">forth</a></td>
-<td>A well known language for fast and small programs, decades old but still
-in use for everything from OpenBIOS to computer controlled engine timing.</td>
-</tr>
-</table>
-
-<p>For more information, you probably want to look at
-<a href="http://buildroot.uclibc.org/">buildroot</a> and
-<a href="http://gentoo-wiki.com/TinyGentoo">TinyGentoo</a>, which
-build and use tiny utilities for all sorts of things.</p>
-
-<!--#include file="footer.html" -->
-