Siag Office

Shohei Mail






Simple Database Library





Ulric's Router Construction Kit







Mr Big

Ulric's stuff

IPv6 Certification Badge for ulriceriksson

Ulric's Router Construction Kit

After playing with a few single- or dual-disk Linux distributions, hoping to get a router up and running quickly and painlessly, I decided that it would be quicker and less painful to create one of my own.


  • Modern kernel from the 2.4.x series.
  • Must fit on a single floppy.
  • Use few components to reduce dependencies.
  • Flexible.
  • Must run independently of a hard drive.
Currently, this product uses only two components: the Linux kernel and Busybox, originally by Bruce Perens but currently maintained by Erik Andersen. The kernel has been built with a minimum of options to keep the size down; everything else has either been left out or compiled as modules. Busybox is statically compiled, which allows us to remove all dynamic libraries.

To create a router, insert a blank diskette in /dev/fd0 and do:

gzip -cd urck-0.0.2.tar.gz | tar xf -
cd urck-0.0.2
# Optionally copy more kernel modules from modules to rootdisk/modules
# Edit startup scripts
vi rootdisk/etc/init.d/rcS
make floppy
Done. Boot, tweak, repeat.

The excellent Zebra package can be used to get more complete router functionality, such as BGP and OSPF. To do this, install the zebra.tgz archive on a tftp server and edit the zebra startup script.

Uncomment the the zebra line in rcS to make it run automatically on startup.

Zebra is linked statically. The configuration files are in /usr/local/etc. After finding a configuration that works, back it up to tftp and extend the startup script to get the configuration and start the router processes automatically.

The Pen package can be used to create a load balancer for TCP based protocols, including http and smtp.

The Vrrpd package allows two routers to automatically monitor each other and take over if the other one goes down.

I'm Ulric Eriksson, This software lives at

Download over HTTP

Freshmeat project page

#!/bin/sh echo "Content-type: text/html" echo echo ""

Valid HTML 4.01! Powered By ...?