≡ Menu

lofiadm: Solaris Mount an ISO CD Image

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
Output:

/dev/lofi/1

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

Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

{ 6 comments… add one }

  • mike August 20, 2007, 8:04 pm

    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

  • Michael September 5, 2007, 2:39 am

    As per Mike said above, had same issue :)

  • nixCraft September 5, 2007, 4:10 am

    @mike / Michale,

    The faq has been updated. Appreciate your feedback.

  • Pierrot June 25, 2009, 2:40 pm

    Thanks for this !

  • Michael March 4, 2011, 11:17 pm

    So after this process, one would init 0 and boot /dev/lofi/1 /mnt/image.iso?

  • Michael Dozier December 11, 2011, 6:57 pm

    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#

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

    /usr/local/install/Solaris_10/Tools

    -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

Leave a Comment