Creating your own filesystems

Site Home Page The UML Wiki UML Community Site The UML roadmap What it's good for Case Studies Kernel Capabilities Downloading it Running it Compiling Installation Skas Mode Incremental Patches Test Suite Host memory use Building filesystems Troubles User Contributions Related Links The ToDo list Projects Diary Thanks Contacts
Tutorials The HOWTO (html) The HOWTO (text) Host file access Device inputs Sharing filesystems Creating filesystems Resizing filesystems Virtual Networking Management Console Kernel Debugging UML Honeypots gprof and gcov Running X Diagnosing problems Configuration Installing Slackware Porting UML IO memory emulation UML on 2G/2G hosts Adding a UML system call Running nested UMLs
How you can help Overview Documentation Utilities Kernel bugs Kernel projects
Screenshots A virtual network An X session
Transcripts A login session A debugging session Slackware installation
Reference Kernel switches Slackware README
Papers ALS 2000 paper (html) ALS 2000 paper (TeX) ALS 2000 slides LCA 2001 slides OLS 2001 paper (html) OLS 2001 paper (TeX) ALS 2001 paper (html) ALS 2001 paper (TeX) UML security (html) LCA 2002 (html) WVU 2002 (html) Security Roundtable (html) OLS 2002 slides LWE 2005 slides
Fun and Games Kernel Hangman Disaster of the Month
| ### Creating your own filesystems Creating your own UML root filesystems is an alternative to downloading them from this site, either because none of these are what you want, or they are too large to comfortably grab. This page decribes and links to a set of projects which provide UML filesystem builders of various types. They all require media for the distribution that you are going to use.
Summary
> | mkrootfs | UML Builder | gBootRoot | rootstrap
> Most suitable for | people wanting to build multiple filesystems | Beginners | Beginners/Developers | Debian users
> Needs root/sudo | Yes | No | No | No
> Command line | Yes | Yes | Yes | Yes
> Graphical | No | Yes | Yes | No
> Sets up networking | Yes | Yes | No * | No
> Sets up X | Yes | Yes | No * | No
mkrootfs
This is a script that I originally wrote in order in create filesystems from a particular version of RH media. It has since been taken over by Bill Stearns, who has generalized and improved it greatly. It can build bootable UML filesystems from a wide variety of RH-based distributions. It has been used to produce essentially all of the RH-based filesystems available from this site. It is available here (and also see http://www.stearns.org/mkrootfs/rootfs.html ). Grab mkrootfs, functions, and mkswapfs, and run mkrootfs. It prompts you for the information you need and is reasonably self-explanatory.
gBootRoot
gBootRoot is a fairly general GTK-based app for creating UML root filesystems, plus filesystems and boot disks for physical machines. It also uses UML in order to evade permissions problems with loopback mounting filesystems so they can be populated. * Its IDE design allows boot and root creation methods to be added via plugins, and some methods may be further enhanced via add-ons. Because of this mechanism additional user-friendly features for filesystems like the automation of X or Networking exist for some root methods.
UML Builder
umlbuilder is a nice step-by-step UML filesystem builder. It comes in command-line and GUI variants. Not only does it let you create a filesystem, it sets up an rc script that runs UML with the configuration that you specified and lets you control it from the host.
rootstrap
This is a new tool by Matt Zimmerman for producing Debian UML filesystem images. It is a work in progress, so some of the 'no's in the table will change at some point. It's designed to produce Debian images quickly with one command. It has a simple config file and looks to be fairly easy to extend.

Hosted at