nanobox linux
nanobox-smb - Single Disk Windows Networking Client

This linux system allows you to boot a machine from a single floppy and connect to a windows share, ftp server or http server and transfer files to and from local disks. It uses smbclient from the samba distribution to provide a ftp-like interface for downloading files from windows shares, along with BusyBox to provide the wget file transfer utility and common *nix tools. I put it together after working in a mixed windows/linux environment and having to resurrect many a dead pc, but never having the right floppy handy, with this you can grab whatever you need over the network...

The kernel has support for many common ethernet adapters built in, so they should be detected on boot. An interactive script gives boot time configuration of any detected ethernet adapters, either manually or using DHCP. To create the floppy either download the self extracting archive to create the disk on windows systems, for linux or DOS download either archive below and use the included install script.

It's all still pretty rough and ready, but it does the job...

Windows Linux/Windows/DOS
nb-smb.exe (Self Extracting) (sig) nb-smb.tar.gz (sig)   nb-smb.zip (sig)

busybox documentation  smbclient documentation

If you have some more fruity network hardware, the compiled in drivers may not be sufficient, in this case a module for your network hardware can be added to the disk.

An archive containing a smaller kernel (without compiled in drivers) and the uncompressed root filesystem can be downloaded here - nb-smb-noeth.tar.gz (sig).

This can be used with additional modules to create the boot floppy using the included install script. The kernel and modules are both stock 2.4.18, for more information see the Ethernet-HOWTO and the net-modules.txt file from the Linux kernel distribution.

Nanobox uses Linux 2.4 along with BusyBox and uClibC to create a very compact linux system. The DHCP client is provided by udhcp and smbclient is from Samba. Booting is handled by Syslinux.
Linux, Samba, BusyBox, udhcp and Syslinux are released by their copyright holders under the GNU Public Licence. uClibC is released under the GNU Library GPL.






Update - smbmount

Following feedback from users requesting smbmount instead of smbclient, I've put together a version of nanobox that uses smbmount so that windows shares can be mounted with this single floppy using the standard Linux mount command.

e.g. mount -t smbfs //server/share /mnt -o username=foo,password=bar

Due to the size increase of including the smbmount and smbmnt binaries, along with full versions of mount and umount, this version uses a 1.68Mb floppy. Hence, you will need to make sure you have /dev/fd0u1680 on your system if you are using the linux version.

To create the floppy either download the self extracting archive to create the disk on windows systems, for linux download the archive below and use the included install script.

Windows Linux
nb-smb-mnt.exe (Self Extracting) (sig) nb-smb-mnt.tar.gz (sig)


For information on compiling Samba clients against uClibC, I used Samba 2.2.3a and uClibC 0.9.11, with some tweaking of the the config.h from Samba. A copy of my config.h is here.

If you want to roll your own smbmount nanobox from the noeth package, above, here are copies of smbmount, smbmnt, mount and umount linked against uClibC - smbmount.tar.gz (sig)

Update - Bootable CD Image

I've had a request for a bootable CD image of nanobox linux, so here it is... Just burn this ISO image to a cd using your favourite CD toaster and away you go - nb-smb.iso (sig)

Feedback welcome...


My public key is available at keyserver.net, ID 0x9C2E026D