You may want to create and mount new UML filesystems, either because
your root filesystem isn't large enough or because you want to use a
filesystem other than ext2.
This was written on the occasion of reiserfs being included in the
2.4.1 kernel pool, and therefore the 2.4.1 UML, so the examples will
talk about reiserfs. This information is generic, and the examples
should be easy to translate to the filesystem of your choice.
Create the filesystem file
dd is your friend. All you need to do is tell dd to create an empty
file of the appropriate size. I usually make it sparse to save time
and to avoid allocating disk space until it's actually used. For
example, the following command will create a sparse 100 meg file full
dd if=/dev/zero of=new_filesystem seek=100 count=1 bs=1M
Assign the file to a UML device
Add an argument like the following to the UML command line:
making sure that you use an unassigned ubd device number.
Creating and mounting the filesystem
Make sure that the filesystem is available, either by being built into
the kernel, or available as a module, then boot up UML and log in. If
the root filesystem doesn't have the filesystem utilities (mkfs, fsck,
etc), then get them into UML by way of the net or hostfs.
Make the new filesystem on the device assigned to the new file:
host# mkreiserfs /dev/ubd/4
<----------- MKREISERFSv2 ----------->
ReiserFS version 3.6.25
Block size 4096 bytes
Block count 25856
Used blocks 8212
Journal - 8192 blocks (18-8209), journal header is in block 8210
Root block 8211
Hash function "r5"
ATTENTION: ALL DATA WILL BE LOST ON '/dev/ubd/4'! (y/n)y
journal size 8192 (from 18)
Initializing journal - 0%....20%....40%....60%....80%....100%
Now, mount it:
mount /dev/ubd/4 /mnt
and you're in business.