BeastieBox is an attempt to bring a Busybox-like tool to the BSD world (and yes, I'm aware of crunchgen). BeastieBox aims to be small while keeping as much features as possible.
While in its early stages, it is capable of being used as a replacement for some well-known UNIX commands using the BusyBox method of linking wanted commands to the "beastiebox" binary
Three modes are currently available: a semi-static mode, where all commands will be statically linked to the main executable, still dynamically linked over libc and libm, a full static mode, where the produced binary is statically linked over all needed libraries, and a dynamic mode, where commands are available as shared objects. As an example, when using dynamic mode, "beastiebox" binary will load libifconfig.so when invoking the ifconfig command.
As of now, the following commands are available :
ifconfig, route, sh, ls, init, ln, mount, mount_ffs, df, cat, rm, fsck, fsck_ffs, ps, kill, dmesg, hostname, cp, mv, test, [, sed, ping, less, more, sysctl, pfctl, wiconfig, traceroute, stty, date, reboot, halt, poweroff, chmod, umount, ex, vi, fdisk, disklabel, tar, getty, login, mksh
Most of these commands are ports of NetBSD 4.0 userland commands, but some of them, in order to minimize dependencies and size, are older NetBSD versions, older BSD versions (i.e. 4.4BSD Lite2), or BSD-license compatible software. The goal is to obtain a functionnal BSD UN*X system fitting into 500K in semi-static mode, in order to be used in embedded hardware like Wireless routers, ADSL boxes, multimedia hard drives and such. As of today, BeastieBox is about 700K.
As you may have guessed, the current work is done under NetBSD, but should easily be ported to FreeBSD, OpenBSD and DragonFlyBSD.
BeastieBox is a work-in-progress, I'm doing this on my spare time and a "stable" version will probably be out... when it's ready ;) Until then, either look at it, play with it, port it or provide some help, but please do not request anything. We'll see that another day.
BeastieBox is covered by a two-clauses BSD License.
Now if you're still motivated, you can try BeastieBox this way :
$ cvs -d :pserver:anonymous@beastiebox.cvs.sourceforge.net:/cvsroot/beastiebox login $ cvs -d :pserver:anonymous@beastiebox.cvs.sourceforge.net:/cvsroot/beastiebox co beastiebox
And from there, read the README file
If you're just curious, you can also browse BeastieBox cvsweb
Here's a screenshot of NetBSD 4.0 kernel booting on BeastieBox (symlinks are for eye's pleasure only) :
Have fun
Emile "iMil" Heitor