Woody for User Mode Linux

This page describes how to make a new Woody filesystem for UML.

Get the base debs

$ wget ftp://ftp.debian.org/debian/dists/woody/main/disks-i386/base-images-current/basedebs.tar

Create the filesystem file

$ mkdir woody_basic
$ cd woody_basic
$ dd if=/dev/zero of=root_fs_woody count=100 bs=1M
$ /sbin/mke2fs -Fq root_fs_woody

Populate the filesystem

# mkdir /mnt/debinst
# mount -o loop root_fs_woody /mnt/debinst

# apt-get install debootstrap
# debootstrap --unpack-tarball ~/basedebs.tar woody /mnt/debinst/

Edit the new filesystem

$ cd /mnt/debinst
# editor etc/fstab

etc/fstab

 # /etc/fstab: static file system information.
 #
 # file system    mount point   type    options                  dump pass
 /dev/ubd0        /             ext2    defaults                 0    0
 proc             /proc         proc    defaults                 0    0

etc/inittab

# editor etc/inittab

Comment out the five lines below, otherwise you'll get loads of xterms starting when you boot UML.

 .
 .
 1:2345:respawn:/sbin/getty 38400 tty1
 #2:23:respawn:/sbin/getty 38400 tty2
 #3:23:respawn:/sbin/getty 38400 tty3
 #4:23:respawn:/sbin/getty 38400 tty4
 #5:23:respawn:/sbin/getty 38400 tty5
 #6:23:respawn:/sbin/getty 38400 tty6
 .
 .

Make an empty sources.list

# touch etc/apt/sources.list

Install the UML utilities

Get the UML utilities from http://belnet.dl.sourceforge.net/sourceforge/user-mode-linux/uml_utilities_20020906.tar.bz2. The ones in Woody aren't up to date enough.

Build them, and link port-helper/port-helper into /usr/lib/uml/ .

Run UML

$ cd -; cd ..
$ path/to/uml/linux ubd0=woody_basic/root_fs_woody

Log in as root (no password)

# apt-get remove --purge pcmcia-cs