Title: How to mount ISO or file disk images on OpenBSD
       Author: Solène
       Date: 15 June 2024
       Tags: openbsd
       Description: In this article, you will learn how to mount ISO files on
       OpenBSD or how to make an encrypted disk from a flat file.
       
       # Introduction
       
       If you ever happen to mount a .iso file on OpenBSD, you may wonder how
       to proceed as the command `mount_cd9660` requires a device name.
       
       While the solution is entirely documented into man pages and in the
       official FAQ, it may not be easy to find it at first glance, especially
       since most operating system allow to mount an iso file in a single step
       where as OpenBSD requires an extra step.
       
 (HTM) OpenBSD FAQ: Mounting disk images
 (HTM) OpenBSD manual page: vnconfig(8) EXAMPLES section
       
       Note that this method does also work for disk images, not only .iso
       files.
       
       # Exposing a file as a device
       
       On OpenBSD you need to use the command `vnconfig` to map a file to a
       device node, allowing interesting actions such as using a file as a
       storage disk (which you can encrypt) or mounting a .iso file.
       
       This command must be used as root as it manipulates files in /dev.
       
       # Mounting an ISO file
       
       Now, let's see how to mount a .iso file, which is a dump of a CD9660
       file (most of the time):
       
       ```
       vnconfig vnd0 /path/to/file.iso
       ```
       
       This will create a new device `/dev/vnd0`, now you can mount it on your
       file-system with:
       
       ```
       mount -t cd9660 /dev/vnd0c /mnt
       ```
       
       You should be able to browser your iso file content in /mnt at this
       point.
       
       # Unmounting
       
       If you are done with the file, you have to umount it with `umount /mnt`
       and destroy the vnd device using `vnconfig -u vnd0`.
       
       # Going further: Using a file as an encrypted disk
       
       If you want to use a single file as a file system, you have to
       provision the file with disk space using the command `dd`, you can fill
       it with zeroes but if you plan to use encryption on top of it, it's
       better to use random data. In the following example, you will create a
       file `my-disk.img` of a size of 10 GB (1000 x 10 MB):
       
       ```
       dd if=/dev/random of=my-disk.img bs=10M count=1000
       ```
       
       Now you can use vnconfig to expose it as a device:
       
       ```
       vnconfig vnd0 my-disk.img
       ```
       
       Finally, the command `bioctl` can be used to configure encryption on
       the disk, `disklabel` to partition it and `newfs` to format the
       partitions.  You can follow OpenBSD FAQ guides, make sure use the the
       device name `/dev/vnd0` instead of wd0 or sd0 from the examples.
       
 (HTM) OpenBSD FAQ: Encrypting external disk