Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.
Launchpad entry: https://features.launchpad.net/distros/ubuntu/+spec/user-mode-linux
Packages affected: linux-source-uname -r
Add a user-mode-linux (henceforth: UML) target to the kernel builds
Back in the old days, UML was removed from Ubuntu. This was probably because UML was a 2.4-only thing, but Ubuntu wanted the shiny 2.6-goodness.
These days, no such limitation exists. UML is even in the mainline kernel source.
Soren has a big server and he wants to share it with a friend. He wants to give his friend root without letting him break anything. Soren finds Xen too intrusive and would rather use UML.
Simon is paranoid and finds that running bind inside a chroot just isn't good enough, so he wants to separate it even more from the rest of the system, so he chooses to pack it into a separate UML install.
Just like in Debian, a user-mode-linux package should be created containing the kernel binary and all the relevant modules.
Implementation & Code
Since UML is now in the mainline kernel and hence in our linux-source package, generating a UML image is "just" a matter of adding an extra target to the kernel build.
The modules to be built are all non hardware-specific modules, ie. network protocols, netfilter modules, filesystem drivers, dm related modules, etc.
The Debian UML package build-depends on a fitting kernel-source package, configures the kernel source for UML and creates images that way. By adding the extra target to the regular kernel builds instead, UML will automatically get rebuilt whenever there's a security fix to the kernel.
uml-utilities and rootstrap should be brought in as is from Debian. (They are currently in the sync-blacklist)