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


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

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

6 comments… add one
  • mike Aug 20, 2007 @ 20:04

    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 Sep 5, 2007 @ 2:39

    As per Mike said above, had same issue :)

  • 🐧 nixCraft Sep 5, 2007 @ 4:10

    @mike / Michale,

    The faq has been updated. Appreciate your feedback.

  • Pierrot Jun 25, 2009 @ 14:40

    Thanks for this !

  • Michael Mar 4, 2011 @ 23:17

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

  • Michael Dozier Dec 11, 2011 @ 18:57

    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

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.