lofiadm: Solaris Mount an ISO CD Image

last updated in Categories ,

Q. How do I mount an ISO CD image under Sun Solaris UNIX?

A. Just like linux loopback device Sun Solaris UNIX has lofi loopback file driver. The lofi file driver exports a file as a block device. Reads and writes to the block device are translated to reads and writes on the underlying file. This is useful when the file
contains a file system image (such as ISO image). Exporting it as a block device
through the lofi file driver allows normal system utilities to operate on the image through the block device like mount and fsck. This is useful for accessing CD-ROM and FAT floppy images.

lofiadm is command you need to use mounting an existing CD-ROM image under Sun Solaris UNIX. This is useful when the file contains an image of some flesystem (such as a floppy or CD-ROM image), because the block device can then be used with the normal system utilities for mounting, checking or repairing filesystem

Mounting an Existing ISO CD-ROM Image under Solaris UNIX

If your image name is cd.iso, you can type command:
# lofiadm -a /path/to/cd.iso


Please note that the file name argument on lofiadm must be fully qualified and the path must be absolute not relative (thanks to mike for tip).

/dev/lofi/1 is the device, use the same to mount iso image with mount command:
# mount -o ro -F hsfs /dev/lofi/1 /mnt
# cd /mnt
# ls -l
# df -k /mnt

Mount the loopback device as a randomly accessible file system with
mount -F hsfs -o ro /dev/lofi/X /mnt.
Alternatively, use this combined format:
mount -F hsfs -o ro `lofiadm -a /path/to/image.iso` /mnt

Unmount and detach the images

Use umount command to unmount image:
# umount /mnt

Now remove/free block device:
# lofiadm -d /dev/lofi/1

For more information read lofiadm and lofi man pages by typing the following command:
man lofiadm

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

6 comment

  1. The file name argument on lofiadm must be fully qualified and the path must be absolute not relative.

    This will not work:

    lofiadm -a cd.iso

    This will work:

    lofiadm -a /tmp/cd.iso

  2. So, after trial and error, here are my findings.
    bash-3.2# lofiadm -a /tmp/file_2_1_r4-.iso
    -bash-3.2#/dev/lofi/1 (output)
    -bash-3.2# mount -F hsfs /dev/lofi/1 /mnt

    -bash-3.2# cd /tmp
    -bash-3.2# ./setup_install_server /tmp/install
    -bash-3.2# cd /mnt/tmp/install


    -bash-3.2# ls INSTALL install_files_remotely

    **If this is an OS installation use this path, if this is an application; cd /mnt and execute /usr/sbin/install_pkg

    Still, have a question? Get help on our forum!