Man Linux: Main Page and Category List


       humfsify  —  convert  a directory to the format needed by the UML humfs
       file system


       humfsify [user]  [group]  [size]


       This manual page documents briefly the humfsify command.

       This manual page was written  for  the  Debian  GNU/Linux  distribution
       because  the original program does not have a manual page.  Instead, it
       has documentation in HTML format; see below.

       humfsify is a Perl script necessary to convert a directory to a  format
       expected by the UML humfs file system.


       UMLFS  was  born  with the idea to substitute the Hostfs implementation
       with a proper one for the UML  purpose:  when  you  manage  files  with
       Hostfs within UML you need to work with two different permission layers
       (the Host  one  and  the  UML  one),  which  have  different  ideas  of

       This  becomes evident when you need to create a file as a non-root user
       on  UML:  you  first  need  to  interact  with  the  UML  file   system
       implementation, and then with the host side.

       The  result  of  a file creation on a mounted hostfs file system is not
       what you expected: you can see that the file permissions refer  to  the
       Host side user rather than the UML creator.

       The  Host  side  user  is  to be intended as the UML instance launcher,
       meanwhile the UML side user is the one you  used  to  log  in  the  UML

       You  can encounter a more-critical problem when creating a device node,
       operation that usually requires root privileges: you used a common user
       to  launch  the  UML  and,  since the operation is done on the Host, it
       fails, even if you logged in as root.

       Thus you need a set of  tools  which  requires  to  bypass  the  Hostfs
       permission checks on the Host side: this is done by separating the file
       permissions and the ownership  from  the  host’s  files.  This  is  the
       concept behind the HumFs and its humfsify implementation.


       user      This  is  the user that needs to ’convert’ a directory to the
                 UML file system to use UML.  This is the host user  who  will
                 be  using  this  filesystem  from  within  UML.   It  may  be
                 specified as either a user name or a numeric user id.

       group     This is the group which your UML user belongs to.   This  may
                 be either a group name or a numeric group id

       size      This  is  the  size of the file system as seen within the UML
                 instance. It must be expressed in Gigabytes ("G"),  Megabytes
                 ("M"), or KiloBytes ("K").


       Create a directory on the host and mount it with humfsify

       host% mkdir your-humfs-dir

       host% cd humfs-dir

       Within  this  directory create a new one where you would like to have a
       UML-like hierarchy, i.e. you can loop-mount an UML rootfs

       host% mkdir dir-to-be-humsified

       host# mount -o loop rootfs /mnt

       host% cp -a /mnt dir-to-be-humsified/data

       host# humfsify user group 512M

       Then verify it on UML and mount the humfsified directory:

       UML# mount none /your-uml-host -t humfs -o

       where ’/your-uml-mount-point’  is  the  mount  point  on  UML  for  the
       humfsified  file system, and .../dir-to-be-humfsified is the humfsified
       directory in the example above. The ’-t’ mount  option  specifies  that
       the file system is to be mounted as ’humfs’.


       The       HostFs       (link       to       URL       http://user-mode-  usage  explanation  within  the
       User-Mode-Linux Web Site


       humfsify was written by Jeff Dike.

       This     manual     page    was    written    by    Stefano    Melchior for the Debian GNU/Linux system, based  on
       material in the Official User Mode Linux Web Site.