Mounting an ISO Image File On Solaris

Here's how to take an ISO image file and view its contents on a Solaris machine. You will need root access to perform a couple of the steps.

First, get the ISO image file onto your system, preferably somewhere on local disk.

Log in or 'su' to root - you're going to be tinkering with the mounts and the file system, so you need this access.

Use the lofiadm command to associate a block device with your ISO image file:

/usr/sbin/lofiadm -a /full/path/to/ISO/imagefile.iso
    
This command will print out the block device it assigned to the ISO image file, something like this:
/dev/lofi/1
    

If you get scrambled up somehow and lose track of the block device string provided by lofiadm, just run the command without any arguments to see what block devices are currently mapped to ISO files:

# lofiadm
Block Device    File                               Options
/dev/lofi/1     /full/path/to/ISO/imagefile.iso    -
    

Mount the block device as a file system:

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

Now, as root or as a regular user, just 'cd /mnt' and you can see the contents of the ISO image file presented just like a regular file system!

When you're done, log in as root and unmount the image file:
umount /mnt
    

Clean up after yourself (logged in as root) - detach the ISO image file from the block device:

lofiadm -d /dev/lofi/1
    
After doing this, run lofiadm to verify that your ISO image file is no longer associated with a block device, just to be sure.

So, there you go! It's a little weird, but as long as you keep track of what you're doing, it's not really difficult.