lofiadm: Solaris Mount an ISO CD Image

by on December 9, 2006 · 6 comments· LAST UPDATED December 12, 2008

in

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

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 6 comments… read them below or add one }

1 mike August 20, 2007 at 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

Reply

2 Michael September 5, 2007 at 2:39 am

As per Mike said above, had same issue :)

Reply

3 nixCraft September 5, 2007 at 4:10 am

@mike / Michale,

The faq has been updated. Appreciate your feedback.

Reply

4 Pierrot June 25, 2009 at 2:40 pm

Thanks for this !

Reply

5 Michael March 4, 2011 at 11:17 pm

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

Reply

6 Michael Dozier December 11, 2011 at 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

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , , , ,

Previous Faq:

Next Faq: