-
We want to thank the following companies which are providing support for the BusyBox project:
- 15 April 2009 -- BusyBox 1.14.0 (unstable), BusyBox 1.13.4 (stable)
BusyBox 1.14.0.
(svn,
patches,
how to add a patch)
BusyBox 1.13.4.
(svn,
patches,
how to add a patch)
Sizes of busybox-1.13.4 and busybox-1.14.0 (with equivalent config, static uclibc build):
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
Most of growth is in hush. The rest shrank a bit.
New applets:
- flash_eraseall: by Sebastian Andrzej Siewior (bigeasy AT linutronix.de)
- acpid, mkdosfs, tunctl: by Vladimir
- ftpd: by Adam Tkac (vonsch AT gmail.com)
- timeout: by Roberto Foglietta
- ionice: adapted from Linux kernel example by Walter Harms
- 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
Changes since previous release:
lash and msh are deprecated, please migrate to hush.
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).
Other changes:
- libbb: unify concurrent-safe update of /etc/{passwd,group,[g]shadow}. By Tito (farmatito AT tiscali.it)
- libbb/sha{1,256,512}: major code shrink
- libbb/lineedit: make history saving/loading concurrent-safe
- libbb: shrink linked list ops. By xmaks AT email.cz
- libbb: str2sockaddr should accept [IPv6] addr without port - wget 'ftp://[::1]/file' needs that to work
- libbb: make bb_info_msg do atomic, unbuffered writes
- util-linux/volumeid: abort early on read failures. Should help with probing missing fdd's
- util-linux/volumeid: fix bug 249 "findfs finds the wrong partition"
- adduser: allow adding to group 0; don't _create_ /etc/shadow, only append data if it exists
- ash: fix mishandled ^C and SIGINT (several cases)
- ash: fix "ash -c 'exec 1>&0'" complaining that fd 0 is busy
- ash: fix $IFS handling in read. Closes bug 235
- ash: fix a case where we were closing wrong descriptor
- ash: fix bad interaction between ash -c '....&' and bash compat
- ash: fix miscalculation of memory needed for eval tree. Found by Timo Teras (timo.teras AT iki.fi)
- ash: make dot command search current directory first, as bash does
- ash: printf builtin with no arguments should not exit
- awk: fix long field separators case. By Ian Wienand (ianw AT vmware.com)
- awk: in BEGIN section $0 should be "", not "0"
- awk: make "struct global" hack more robust wrt alignment. Closes bug 131
- brctl: fix compilation on 2.4.x kernels
- chat: treat timeout more correctly
- chat: recognize RECORD directive
- cksum, head, printenv: report errors via exitcode
- cpio: add -p, -0 and -L options
- crond, crontab: make cron directory location configurable
- crond: correct more of logfile to 0666 (as usual, umask allows user to remove unwanted bits)
- crond: put tasks in separate process groups
- dc: fix the "base 2" patch omission of base not being set
- depmod: accept and ignore -r. Linux kernel build needs this
- depmod: fix -b option. By timo.teras AT iki.fi
- udhcpc: fix a problem where we don't open listening socket fast enough
- udhcpc: stop filtering environment passed to the script
- udhcpd: disable option to have absolute lease times in lease file (that does not work with dumpleases)
- udhcpd: write 64-bit current time in lease file. Without it, determination of remaining lease time is unreliable
- udhcpd: remember hostnames of clients
- dumpleases: fix -a option, use recorded current time in lease file, show hostnames
- dnsd: fix a number of bugs. Ideas by Ming-Ching Tiew (mctiew AT yahoo.com)
- dpkg: better and shorter code to compare versions. Taken from "official" dpkg by Eugene T. Bordenkircher (eugebo AT gmail.com)
- du: fix "du /dir /dir" case
- env: support -uVAR=VAL
- expand, unexpand: fix incorrect expansion in some cases
- expr: a bit more robust handling of regexps with groups. Closes bug 87
- find: support --mindepth
- getty: make speed 0 mean "don't change speed", stop using non-portable way of setting speeds
- grep: support -z
- gzip: fix gzip -dc bug caused by using stale getopt state
- httpd: set $HOST to Host: header value. By Tobias Poschwatta (tp AT fonz.de)
- ifupdown: allow options to udhcpc to be configurable from .config
- init: do not eat last char in messages; do not print duplicate "init:" prefix to syslog
- init: fix a bug where on reload order of entries might be wrong
- init: major improvement in documentation and signal handling. Lots of nasty, but hard to trip, races are fixed
- init: reinstate proper handling of !ENABLE_FEATURE_USE_INITTAB
- init: remove wait loop on restart, it may be dangerous
- init: test for vt terminal with VT_OPENQRY, assume that anything else is TERM=vt102, not TERM=linux. Closes bug 195
- inotifyd: add x, o, and u events
- inotifyd: fix buffer overflow and "unreaped zombies" problem
- inotifyd: conserve resourses by closing unused inotify descriptors
- insmod/modprobe: do not pass NULL to kernel as module parameter
- 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
- iproute: fix ipXXX utilities trying to parse their applet name as their 1st parameter
- klogctl: fix a problem where we don't terminate read data with '\0' and then misinterpret it
- ls: do not follow links with -s. Closes bug 33
- ls: implement -Q and -g (-g was accepted but ignored)
- ls: make readlink error to not disrupt output (try ls -l /proc/self/fd)
- man: better check for duplicated MANPATH
- mdev: add support for - ("dont stop here") char
- mdev: if /sys/class/block exists, don't scan /sys/block
- mdev: ignore events with "$SUBSYSTEM" == "firmware" && "$ACTION" == "remove"
- mdev: provide $SUBSYSTEM. By Vladimir
- modprobe/insmod for 2.4: support compressed modules. By Guenter (lists AT gknw.net)
- modprobe: rework/speedup by Timo Teras (timo.teras AT iki.fi)
- modutils-24: fix bad interaction of xzalloc with xrealloc_vector
- mount: support "-O option", stop trying to mount swap partitions, fix CIFS support
- mountpoint: add -n option. By Vladimir
- 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
- popmaildir: fix several grave bugs with using memory past end of malloc block
- printf: fix 1.12.0 breakage (from %*d fix), it was misinterpreting "*"
- printf: make integer format strings print long long-sized values
- rmmod: fix bug 263 "modutils/rmmod can't remove modules with dash in name on 2.4 kernels"
- sendmail: document and fix usage of fd #4, fix check for helper failure
- sendmail: update by Vladimir
- seq: add -w support. By Natanael Copa
- seq: add support for "-s separator"
- stat: make stat -f show filesystem "ID:" as coreutils does
- sysctl: fix another corner case with "dots and slashes"
- sysctl: fix broken -p [file]. Closes bug 231
- sysctl: support recursing if name is a directory: "sysctl net.ipv4.conf". Patch by xmaks AT email.cz
- syslogd: make signal handling syncronous
- syslogd: create logfile with 0666 (affected by umask as usual), not 0600
- tail: fix tail +N syntax not working. Closes bug 221
- tar: do not change new tarfile's mode, GNU tar doesn't do it
- tar: support GNU tar's "base256" encoding
- telnetd: correctly output 0xff char
- telnetd: do not advertise TELNET_LFLOW, we do not support it properly
- tftp: when we infer local name from remote (-r [/]path/path/file), strip path. This mimics wget and is generally more intuitive
- timeout: fix parsing of -t NUM on MMU
- top: make it work again on 2.4 kernels. Closes bug 125
- tr: fix overflow in expand and complement, fix stop after [:class:], fix handling of ranges and [x]'s
- tr: support -C as synonym to -c, support [:xdigit:]
- 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
- uname: add support for -i and -o, fix printing of unknown -p value with -a option, support long options
- unzip: fix thinko with le/be conv and size. Closes bug 129
- vi: fix several instances of major goof: when text grows, text[] might get reallocated! We were keeping around pointers to old place
- vi: speedup and code shrink. By Walter Harms
- wget: --post-data support. By Harald Kuthe (harald-tuxbox AT arcor.de)
- wget: fix --header handling, more robust EINTR detection
- 8 March 2009 -- BusyBox 1.13.3 (stable)
BusyBox 1.13.3.
(svn,
patches,
how to add a patch)
1.13.3 is a bug fix release. It has fixes for awk, depmod, init, killall, mdev,
modprobe, printf, syslogd, tar, top, unzip, wget.
- 31 December 2008 -- BusyBox 1.13.2 (stable), BusyBox 1.12.4 (stable)
BusyBox 1.13.2.
(svn,
patches,
how to add a patch)
BusyBox 1.12.4.
(svn,
patches,
how to add a patch)
Bug fix releases. 1.13.2 has fixes for crond, dc, init, ip, printf.
1.12.4 has fixes for ip and printf.
- 29 November 2008 -- BusyBox 1.13.1 (stable), BusyBox 1.12.3 (stable)
BusyBox 1.13.1.
(svn,
patches,
how to add a patch)
BusyBox 1.12.3.
(svn,
patches,
how to add a patch)
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.
- 10 November 2008 -- BusyBox 1.13.0 (unstable), BusyBox 1.12.2 (stable)
BusyBox 1.13.0.
(svn,
patches,
how to add a patch)
BusyBox 1.12.2.
(svn,
patches,
how to add a patch)
Sizes of busybox-1.12.2 and busybox-1.13.0 (with equivalent config, static uclibc build):
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
New applets: blkid, devmem
Changes since previous release:
- mail applets: total overhaul. Vladimir as usual
- ash: fix "while kill -0 $child; do true; done" looping forever
- ash: fix NOEXEC mode - we were forgetting to pass environment
- ash: fix a bug in standalone mode (corrupted getopt state)
- ash: optionally support ">&file" and "&>file" redirections
- awk: bitwise ops cast oprands and results to unsigned long, not signed. closes bug 4774
- awk: fix typo in atan2 code. closes bug 5594
- awk: improve handling of negative numbers in bitwise ops; fix handling of octal costants
- awk: support hex constants
- basename: fix error code (again)
- cpio: emit TRAILER even when hard links were found. By Pascal Bellard (pascal.bellard AT ads-lu.com)
- crontab: do not destroy STDIN_FILENO, editor may need it (crontab -e)
- dc: support for bases 2 and 8, by Nate Case (ncase AT xes-inc.com)
- dhcpc: treat "discover...select...discover..." loop the same way as "discover...discover...discover..."
- dpkg: add dpkg -l PACKAGE_PATTERN. By Peter Korsgaard
- fbset: fix mode matching code: original code may trigger false positive.
- findfs: fix LUKS and FAT detection routines; do not exit if corrupted FAT fs makes us try to seek past the end
- grep: fix 'echo aaa | grep -o a' + ENABLE_EXTRA_COMPAT case. By Natanael Copa
- grep: fix EXTRA_COMPAT grep to honor -E and -i
- gunzip: restore mtime
- halt: reinstate -w even if !FEATURE_WTMP
- hexdump: fix SEGV in hexdump -e ""
- httpd: pass "Accept:" and "Accept-Language:" header to CGI scripts (Alina Friedrichsen)
- hush: fix environment and memory leaks
- hush: fix trashing of environment by local env vars: a=a; a=b cmd; - a was unset
- id: improve compatibility with coreutils. By Tito Ragusa
- inetd: fix a case when we have zero services
- inetd: use config parser. by Vladimir
- init: set stderr to NONBLOCK
- insmod: fix detection of open failure
- install: support -D
- ip: fix ip route rejecting dotted quads as prefix
- ip: route metric support (Natanael Copa)
- iplink: accept shorthands for "address" keyword: "ip link set address 00:11:22:33:44:55"
- kbd_mode: support -C TTY
- kill[all[5]]: accept -s SIG too. By Steve Bennett (steveb AT workware.net.au)
- klogd: handle many lines at once. By Steve Bennett (steveb AT workware.net.au)
- less: support -I to be able to search case-insensitively
- less: add optional line number toggle and resizing on window resize
- libbb: do not reject floating point strings like ".15"
- lineedit: fix bug 5824 "since rev 23530 fdisk and ed don't work any more"
- lineedit: fix problems with empty commands in history
- login: fix /etc/nologin handling
- man: fix inconsistencies in handling $MANPATH
- mdev: support match by major,minor. See bug 4714
- modprobe-small: make insmod command line compatible
- modprobe-small: support "blacklist" keyword in /etc/modules/MODULE_NAME
- modprobe: fix a segfault when modprobe is called with no arguments at all
- modutils/*: rewrite by Timo Teras (timo.teras AT iki.fi)
- mount: fix "-o parm1 -o parm2" not accumulating
- nmeter: 4k buffers are too small for /proc files, make them dynamically sized with 16k upper limit
- ping: SO_RCVBUF must be bigger than packet size, otherwise large ping packets might fail to be received
- route: fix for 64-bit BE machines by Seonghun Lim (wariua AT gmail.com)
- rpm: fix incompatibilities which prevented rpm -i foo.src.rpm
- runsvdir: support runsvdir-as-init
- setarch: do not try to use non-existent data in argv[]
- setfont: support -m and -C, support -m TEXTUAL_MAP (by Vladimir)
- setup_environment: cd $HOME regardless of clear_env value
- slattach: preserve speed in non-raw mode. By Matthieu Castet (matthieu.castet AT parrot.com)
- start_stop_daemon: accept (and ignore) -R PARAM
- sv: make default service dir configurable (Vladimir wants it)
- sysctl: fix bug 3894 (by Kryzhanovskyy Maksym)
- tar: fix bug 3844: non-root tar does not preserve perms
- telnetd: handle emacs M-DEL and IAC-NOP. by Jim Cathey (jcathey AT ciena.com)
- top: fix "top -d 1" (bug 5144)
- top: optional SMP support by Vineet Gupta (vineetg76 AT gmail.com)
- trylink: make messages less confusing
- unzip: handle "central directory". needed for OpenOffice, gmail attachment .zips etc
- vi: Rob's algorithm of reading and matching ESC sequences (nice work btw!)
- vi: deal with EOF/error on stdin and with input NULs
- vi: fix uninitialized last_search_pattern (bug 5794)
- vi: handle chars 0x80, 0x81 etc correctly
- volume identification: abolish /proc/partitions and /proc/cdroms scanning. It does not catch volume managers and such. Simply scan /dev/* for any block devices
- watchdog: WDIOC_SETTIMEOUT accepts seconds, not milliseconds
- watchdog: add -T option
The email address gpl@busybox.net is the recommended way to contact
the Software Freedom Law Center to report BusyBox license violations.
- 28 September 2008 -- BusyBox 1.12.1 (stable), BusyBox 1.11.3 (stable)
BusyBox 1.12.1.
(svn,
patches,
how to add a patch)
BusyBox 1.11.3.
(svn,
patches,
how to add a patch)
Bugfix-only releases for 1.11.x and 1.12.x branches.
- 21 August 2008 -- BusyBox 1.12.0 (unstable), BusyBox 1.11.2 (stable)
BusyBox 1.12.0.
(svn,
patches,
how to add a patch)
BusyBox 1.11.2.
(svn,
patches,
how to add a patch)
Sizes of busybox-1.11.2 and busybox-1.12.0 (with equivalent config, static uclibc build):
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
New applets: rdev (Grant Erickson), setfont, showkey (both by Vladimir)
Most significant changes since previous release (please report any regression):
- ash: bash compat: "shift $BIGNUM" is equivalent to "shift 1"
- ash: dont allow e.g. exec <&10 to attach to script's fd!
- ash: fix a bug where redirection fds were not closed afterwards. optimize close+fcntl(DUPFD) into dup2
- ash: fix segfault in "command -v"
- ash: fix very weak $RANDOM generator
- ash: prevent exec NN>&- from closing fd used for script reading
- ash: teach ash about 123>file. It could take only 0..9 before
- hush: fix a case where "$@" must expand to no word at all
- hush: fix mishandling of a'b'c=fff as assignments. They are not
- hush: fix non-detection of builtins and applets in "v=break; ...; $v; ..." case
- hush: fix "while false; ..." exitcode; add testsuites
- hush: support "case...esac" statements (~350 bytes of code)
- hush: support "break [N]" and "continue [N]" statements
- hush: support "for if in do done then; do echo $if; done" case
- hush: support "for v; do ... done" syntax (implied 'in "$@"')
- hush: support $_NUMBERS variable names
- libbb: unified config parser (by Vladimir). This change affected many applets
Other changes:
- libbb: dump: do not use uninitialized memory (closes bug 4364)
- libbb: fix bb_strtol[l]'s check for "-" (closes bug 4174)
- libbb: fix --help to not affect "test --help"
- libbb: fix mishandling of "all argv are opts" in getopt32()
- libbb: getopt32() should not ever touch argv[0] (even read)
- libbb: introduce and use xrealloc_vector
- libbb: [x]fopen_for_{read,write} introduced and used (by Vladimir)
- lineedit: fix use-after-free
- libunarchive: refactor handling of archived files. "tar f file.tar.lzma" now works too
- bb_strtoXXX: close bug 4174 (potential use of buf[-1])
- open_transformer: don't leak file descriptor
- open_transformer: fix bug of calling exit instead of _exit
- arp: without -H type, assume "ether" (closes bug 4564)
- ar: reuse existing ar unpacking code
- awk: fix a case with multiple -f options. Simplify -f file reading.
- build system: introduce and use FAST_FUNC: regparm on i386, otherwise no-op
- bunzip2: fix an uncompression error (by Rob Landley rob AT landley.net)
- b[un]zip2, g[un]zip: unlink destination if -f is given (closes bug 3854)
- comm: almost total rewrite
- cpio: fix -m to actually work as expected (by Pascal Bellard)
- cpio: internalize archive_xread_all_eof, add a few paranoia checks for corrupted cpio files
- cpio: make long opts depend only on ENABLE_GETOPT_LONG
- cpio: on unpack, limit filename length to 8k
- cpio: support some long options
- crond: use execlp instead of execl
- cut: fix buffer overflow (closes bug 4544)
- envdir: fix "envdir" (no params at all) and "envdir dir" cases
- findfs: make it use setuid-ness of busybox binary
- fsck: use getmntent_r instead of open-coded parsing (by Vladimir)
- fuser: a bit of safety in scanf
- grep: option to use GNU regex matching instead of POSIX one. This fixes problems with NULs in files being scanned, but costs +800 bytes
- halt: signal init regardless of ENABLE_INIT
- httpd: add homedir directive specially for (and by) Walter Harms wharms AT bfs.de
- ifupdown: /etc/network/interfaces can have comments with leading blanks
- ifupdown: fixes for custom MAC address (by Wade Berrier wberrier AT gmail.com)
- ifupdown: fixes for shutdown of DHCP-managed interfaces (by Wade Berrier wberrier AT gmail.com)
- inetd: do not trash errno in signal handlers; in CHLD handler, stop looping through services when pid is found
- insmod: users report that "|| defined(__powerpc__)" is missing
- install: do not chown intermediate directories with install -d (by Natanael Copa)
- install: fix long option not taking params (closes bug 4584)
- lpd,lpr: send/receive ACKs after filenames, not only after file bodies
- ls: fix a bug where we may use uninintialized variable
- man: add handling of "man links", by Ivana Varekova varekova AT redhat.com
- man: fix a case when a full pathname to manpage is given
- man: fix inverted cat/man bool variable
- man: fix missed NULL termination of an array
- man: mimic "no manual entry for 'bogus'" message and exitcode
- man: support cat pages too (by Jason Curl jcurlnews AT arcor.de)
- man: teach it to use .lzma if requested by .config
- mdev: check for "/block/" substring for block dev detection
- mdev: do not complain if mdev.conf does not exist
- mdev: if device was moved at creation, at removal correctly remove it from moved location and also remove symlinks to it
- mdev: support for serializing hotplug
- mdev, init: use shared code for fd sanitization
- mkdir: fix "uname 0222; mkdir -p foo/bar" case (by Doug Graham dgraham AT nortel.com)
- modprobe: support for /etc/modprobe.d (by Timo Teras)
- modprobe: use buffering line reads (fgets()) instead of reads()
- modutils: optional modprobe-small (by Vladimir), 15kb smaller than standard one
- mount: support for "-o mand" and "[no]relatime"
- mount: support nfs mount option "nordiplus" (by Octavian Purdila opurdila AT ixiacom.com)
- mount: support "relatime" / "norelatime"
- mount: testsuite for "-o mand"
- msh: fix "while... continue; ..." (closes bug 3884)
- mv: fix a case when we move dangling symlink across mountpoints
- netstat: optional -p support (by L. Gabriel Somlo somlo AT cmu.edu)
- nmeter: fix read past the end of a buffer (closes bug 4594)
- od, hexdump: fix bug where xrealloc may move pointer, leaving other pointers dangling (closes bug 4104)
- pidof/killall: allow find_pid_by_name to find running processes started as scripts_with_name_longer_than_15_bytes.sh (closes bug 4054)
- printf: do not print garbage on "%Ld" (closes bug 4214)
- printf: fix %b, fix several bugs in %*.*, fix compat issues with aborting too early, support %zd; expand testsuite
- printf: protect against bogus format specifiers (closes bug 4184)
- sendmail: updates from Vladimir:
- sendmail: do not discard all headers
- sendmail: do not ignore CC; accept to: and cc: case-insensitively. +20 bytes
- sendmail: fixed mail recipient address
- sendmail: fixed SEGV if sender address is missed
- sendmail: use HOSTNAME instead of HOST when no server is explicitly specified
- sleep: if FANCY && DESKTOP, support fractional seconds, minutes, hours and so on (coreutils compat)
- ssd: CLOSE_EXTRA_FDS in MMU case too
- ssd: do not stat -x EXECUTABLE, it is not needed anymore
- ssd: fix -a without -x case
- ssd: use $PATH
- tar: fix handling of tarballs with symlinks with size field != 0
- tar: handle autodetection for tiny .tar.gz files too, simplify autodetection
- taskset: fix some careless code in both fancy and non-fancy cases. -5 bytes for fancy, +5 for non-fancy
- tee: fix infinite looping on open error (echo asd | tee "")
- tee: "-" is a name for stdout, handle it that way
- telnetd: fix issue file printing
- test: fix parser to prefer binop over unop, as coreutils does
- testsuite: uniformly use $ECHO with -n -e
- time: don't segfault with no arguments
- touch: support -r REF_FILE if ENABLE_DESKTOP (needed for blackfin compile)
- tr: fix "access past the end of a string" bug 4354
- tr: fix "tr [=" case (closes bug 4374)
- tr: fix yet another access past the end of a string (closes bug 4374)
- unlzma: fix memory leak (by Pascal Bellard)
- vi: fix reversed checks for underflow
- vi: using array data after it fell out of scope is stupid
- xargs: fix -e default to match newer GNU xargs, add SUS mandated -E (closes bug 4414)
- other fixes and code size reductions in many applets
- 12 July 2008 -- BusyBox 1.11.1 (stable)
BusyBox 1.11.1.
(svn,
patches,
how to add a patch)
Bugfix-only release for 1.11.x branch. It contains fixes for awk,
bunzip2, cpio, ifupdown, ip, man, start-stop-daemon, uname and vi.
- 11 July 2008 -- HOWTO is updated
"How to build static busybox for i486-linux-uclibc" is updated
and tested on a fresh Fedora 9 install. Please report if it doesn't
work for you.
- Old News
Click here to read older news