DietLinux -- Documentation

  1. Introduction
  2. Boot / Installation
  3. Setup
  4. System daemons
  5. Networking
  6. FAQ


DietLinux is a distribution based on dietlibc. It contains a 2.6.x linux kernel, and will never support older kernels that do not support for devfs and tmpfs. The boot process is optimized for small size, the upcoming 0.2-release should be able to boot from cdrom, floppy or usb-stick on all systems with at least 8mb of RAM.

I'm currently rewriting the documentation from scratch -- it was pretty much outdated and did not match my working copy at all. The new init system works under ideal conditions, and I'll be able to put up a preview cdrom pretty soon. It was just quite pointless to keey the old documentation up.


General stuff

With the upcoming 0.2-release the boot-process is the same for all media. I got rid of ramdisk images for the root filesystem completely, and shrinked the initrd-images to about 60k (uncompressed). A kernel can be used with the boot system if it has support for initrd, tmpfs and devfs.

You need to configure the bootloader to give the kernel some bootparameters:

We use linuxrc to set up some stuff. It will execle() init later
The initrd is the final root. Though our linuxrc will change it.
Only needed if you didn't tell the kernel at compile time to automatically mount devfs
To come, hints for linuxrc from which device we booted

Bootup, the initrd phase

linuxrc, stage 1

The first part is handled in linuxrc. I'ts described here short for better understanding what's going on.

For more details please consult the apkg sources.

linuxrc, stage 2

We're now getting to the second stage, still powered by initrd. That's the first stage you can influence without modifying the linuxrc-sources.


Now it's apkgs turn to bootstrap a package set to the rootfs


Getting Information

There is currently one mailinglist for dietlinux. To subscribe, send an empty email to


DietLinux version numbers are similar to the one of the Linux kernel: [major].[minor].[patchlevel], versions with even minor numbers are called `stable'. There is a rough `roadmap' for the stable versions, unstable subversions will be released every time I think I finished one of the things wanted for the next stable. Please note that an unstable version is constantly changing, while every change in a stable results in a new patchlevel number. Patchlevels in stable mean bugfixes, no new features.

The current unstable version is 0.1.1, 0.1.2 will be released soon and contain mainly a small but complete rescue system.

0.4 complete rescue-system; selfhosting (i.e., contains gcc-toolchain, you can compile the whole system from CD-ROM); contains a ports-tree with all software used on the CD-ROM; contains a simple package system; may contain a bootloader that can be installed on harddisk (maybe grub); may contain a simple shellscript to copy all needed files to harddisk;
0.6 Contains grub as a bootloader; contains a tool for harddisk-installation;
1.0Contains dietlibc 1.0