Unix‎ > ‎Solaris‎ > ‎Solaris man pages‎ > ‎1m‎ > ‎


     lofiadm  -  administer  files  available  as  block  devices
     through lofi

     /usr/sbin/lofiadm -a file [device]

     /usr/sbin/lofiadm -d file | device

     /usr/sbin/lofiadm [ file | device]

     lofiadm administers  lofi(7D),  the  loopback  file  driver.
     lofi(7D) allows a file to be associated with a block device.
     That file can then be accessed  through  the  block  device.
     This  is  useful  when  the  file  contains an image of some
     filesystem (such as a floppy or CD-ROM image),  because  the
     block  device can then be used with the normal system utili-
     ties for mounting, checking or  repairing  filesystems.  See
     fsck(1M) and mount(1M).

     Use lofiadm to add a file as a loopback device, remove  such
     an association, or print information about the current asso-

     The lofi(7D) driver is  not  available  and  will  not  work
     inside a zone.

     The following options are supported:

     -a file [device]

         Add file as a block device.

         If device is  not  specified,  an  available  device  is

         If device is specified, lofiadm attempts to assign it to
         file. device must be available or lofiadm will fail. The
         ability to specify a  device  is  provided  for  use  in
         scripts  that  wish  to re-establish a particular set of

     -d file | device

         Remove an association by file or  device  name,  if  the
         associated block device is not busy, and deallocates the
         block device.

     The following operands are supported:


         Print the block device associated with file.


         Print the file name associated  with  the  block  device

         Without arguments, print a list of the current  associa-
         tions. Filenames must be valid absolute pathnames.

         When a file is added, it is opened for reading or  writ-
         ing  by root. Any restrictions apply (such as restricted
         root access over NFS). The file is held open  until  the
         association  is  removed.  It  is  not actually accessed
         until the block device is used,  so  it  will  never  be
         written to if the block device is only opened read-only.

     Example 1 Mounting an Existing CD-ROM Image

     You should ensure that Solaris understands the image  before
     creating  the CD. lofi allows you to mount the image and see
     if it works.

     This example mounts an existing CD-ROM image (sparc.iso), of
     the  Red  Hat 6.0 CD which was downloaded from the Internet.
     It was created with the mkisofs utility from the Internet.

     Use lofiadm to attach a block device to it:

       # lofiadm -a /home/mike_s/RH6.0/sparc.iso

     lofiadm picks the device and prints the device name  to  the
     standard  output.  You  can run lofiadm again by issuing the
     following command:

       # lofiadm
       Block Device     File
       /dev/lofi/1      /home/mike_s/RH6.0/sparc.iso

     Or, you can give it one name and ask for the other, by issu-
     ing the following command:

       # lofiadm /dev/lofi/1

     Use the mount command to mount the image:

       # mount -F hsfs -o ro /dev/lofi/1 /mnt

     Check to ensure that Solaris understands the image:

       # df -k /mnt
       Filesystem            kbytes    used   avail capacity  Mounted on
       /dev/lofi/1           512418  512418       0   100%    /mnt
       # ls /mnt
       ./            RedHat/       doc/          ls-lR         rr_moved/
       ../           TRANS.TBL     dosutils/     ls-lR.gz      sbin@
       .buildlog     bin@          etc@          misc/         tmp/
       COPYING       boot/         images/       mnt/          usr@
       README        boot.cat*     kernels/      modules/
       RPM-PGP-KEY   dev@          lib@          proc/

     Solaris can mount  the  CD-ROM  image,  and  understand  the
     filenames.  The  image was created properly, and you can now
     create the CD-ROM with confidence.

     As a final step, unmount and detach the images:

       # umount /mnt
       # lofiadm -d /dev/lofi/1
       # lofiadm
       Block Device             File

     Example 2 Mounting a Floppy Image

     This is similar to Example 1.

     Using lofi to help  you  mount  files  that  contain  floppy
     images  is helpful if a floppy disk contains a file that you
     need, but the machine which you  are  on  does  not  have  a
     floppy  drive. It is also helpful if you do not want to take
     the time to use the dd  command  to  copy  the  image  to  a

     This is an example of getting to MDB floppy for  Solaris  on
     an x86 platform:

       # lofiadm -a /export/s28/MDB_s28x_wos/latest/boot.3
       # mount -F pcfs /dev/lofi/1 /mnt
       # ls /mnt
       ./            COMMENT.BAT*  RC.D/         SOLARIS.MAP*
       ../           IDENT*        REPLACE.BAT*  X/
       # umount /mnt
       # lofiadm -d /export/s28/MDB_s28x_wos/latest/boot.3

     Example 3 Making a UFS Filesystem on a File

     Making a UFS filesystm on a file can be useful, particularly
     if  a  test  suite  requires a scratch filesystem. It can be
     painful (or annoying) to have to re-partition  a  disk  just
     for  the test suite, but you do not have to. You can newfs a
     file with lofi

     Create the file:

       # mkfile 35m /export/home/test

     Attach it to a block device. You also get the character dev-
     ice that newfs requires, so newfs that:

       # lofiadm -a /export/home/test
       # newfs /dev/rlofi/1
       newfs: construct a new file system /dev/rlofi/1: (y/n)? y
       /dev/rlofi/1:   71638 sectors in 119 cylinders of 1 tracks, 602 sectors
              35.0MB in 8 cyl groups (16 c/g, 4.70MB/g, 2240 i/g)
       super-block backups (for fsck -F ufs -o b=#) at:
       32, 9664, 19296, 28928, 38560, 48192, 57824, 67456,

     Note that ufs might not be able  to  use  the  entire  file.
     Mount and use the filesystem:

       # mount /dev/lofi/1 /mnt
       # df -k /mnt
       Filesystem            kbytes    used   avail capacity  Mounted on
       /dev/lofi/1            33455       9   30101     1%    /mnt
       # ls /mnt
       ./           ../          lost+found/
       # umount /mnt
       # lofiadm -d /dev/lofi/1

     Example 4 Creating a PC (FAT) File System on a Unix File

     The following series of commands creates a FAT  file  system
     on  a  Unix file. The file is associated with a block device
     created by lofiadm.

       # mkfile 10M /export/test/testfs
       # lofiadm -a /export/test testfs
       Note use of rlofi, not lofi, in following command.
       # mkfs -F pcfs -o nofdisk,size=20480 /dev/rlofi/1
       Construct a new FAT file system on /dev/rlofi/1: (y/n)? y
       # mount -F pcfs /dev/lofi/1 /mnt
       # cd /mnt
       # df -k .
       Filesystem            kbytes    used   avail capacity  Mounted on
       /dev/lofi/1            10142       0   10142     0%    /mnt

     See environ(5) for descriptions of the following environment
     variables  that  affect  the execution of lofiadm: LC_CTYPE,

     The following exit values are returned:


         Successful completion.


         An error occurred.

     See attributes(5) for descriptions of the  following  attri-

    | ATTRIBUTE TYPE              | ATTRIBUTE VALUE             |
    | Availability                | SUNWcsu                     |

     fsck(1M),  mount(1M),   mount_ufs(1M),   newfs(1M),   attri-
     butes(5), lofi(7D), lofs(7FS)

     Just as you would not directly access a disk device that has
     mounted  file  systems, you should not access a file associ-
     ated with a  block  device  except  through  the  lofi  file
     driver. It might also be appropriate to ensure that the file
     has appropriate permissions to prevent such access.

     Associations are not persistant across reboots. A script can
     be used to re-establish them if required.

     The abilities of lofiadm, and who can  use  them,  are  con-
     trolled  by  the  permissions  of  /dev/lofictl. Read-access
     allows query operations, such as listing  all  the  associa-
     tions.  Write-access  is  required  to do any state-changing
     operations,  like  adding  an  association.    As   shipped,
     /dev/lofictl  is owned by root, in group sys, and mode 0644,
     so all users can do  query  operations  but  only  root  can
     change  anything.  The  administrator  can give users write-
     access, allowing them to add  or  delete  associations,  but
     that is very likely a security hole and should probably only
     be given to a trusted group.

     When mounting a filesystem image, take care to use appropri-
     ate  mount  options.  In particular, the nosuid mount option
     might be appropriate for UFS images whose origin is unknown.
     Also,  some options might not be useful or appropriate, like
     logging or forcedirectio for  UFS.  For  compatibility  pur-
     poses,  a  raw  device is also exported along with the block
     device. For example, newfs(1M) requires one.

     The output of lofiadm (without arguments)  might  change  in
     future releases.

Man pages from Solaris 10 Update 8. See docs.sun.com and www.oracle.com for further documentation and Solaris information.