[20040620] diet-router-0.3 is a new release with major enhancements. The buildsystem is new and documented. Software has been updatet to more recent versions and some more software hase been added. Read the changes.
[20040307] diet-router-0.2.2 (diff) with security and minor bug fixes. Read the changes.
[20040229] diet-router-0.2.1 (diff) with minor bug fixes. Read the changes.
[20040214] Set up a mailing list for discussion.
[20040213] diet-router-0.2 is a new release with major changes.
[20031029] A lot of typo fixes from Robert Linden. Thanks!
[20031020] Version 0.1 present in the public (after one year of testing and development).

There is a mailing list for the Diet-Router. You can subscribe by sending an empty email to; it is run by ezmlm.

What is the Diet-Router?

Diet-Router is a Linux router built with the dietlibc. It is small enough to fit on a single floppy disk. You may think that there are several other Linux routers, which come with more features and you are right. I build this router package more with the view on security than of functionality. So this project differs a lot from most other router or mini-Linux projects. Here are some details:

The 2.4 kernel and the patches are quite big. For example it is possible to get a kernel image < 300k with kernel 2.2.x, my kernel is > 500k and so i have much less space to implement features.

Diet-Router boots from a single floppy and works completely in a ram-disk. I don't have tested how much memory is used, but I know your are on the save side with 16MB ram ;-)

Here is a free of my Diet-Router with all additional software running:

$ uptime
 10:25pm  up  5:37, load average: 0.00, 0.00, 0.00
$ free
              total         used         free       shared      buffers
  Mem:        30872         7912        22960            0           84
 Swap:            0            0            0
Total:        30872         7912        22960


Current version is diet-router-0.3.tar.bz2.

MD5SUM is 581979c0e2cad7b0f8436e8d01fe2fcf diet-router-0.3.tar.bz2

Note: I do not have a diff from 0.2.x to 0.3.x versions of diet-router. The diff is larger than the distribution, do to many file moves and splits.

Since version 0.2 the build script is are able to download all additional needed packages for you. If you wish to download the packages by yourself you will find them all on this list.

How does it work?

First of all, all programs are linked statically. This is the main idea of this system. No libraries are needed. It uses busybox and tinylogin, two typical multi-call-binaries for small systems. The iptables, iptables-restore and iptables-save commands have been made a multi-call binary by me. The pppd and pppoe programs have only been patched to compile with the dietlibc. The minit and od_syslog are really small programs, from people with much more knowledge of programming than me. So, special thanks to Felix von Leitner, Olaf Drefs and all the dietlibc/libowfat programmers.

Related documents


David Strauß and Robert Linden for many typo fixes in this pages.
Nikolaus Schulz for testing, discussion and new ideas.