Currently the GUI doesn’t allow you to use ISO images that you already have in some dataset and instead always requires you to upload those images into Incus’s own image system. It’s pointless waste of space if those images are already somewhere on the NAS.
In a similar vein, you cannot use those images you’ve uploaded into Incus’s system anywhere else, you can only use them during creation of a VM. You can’t e.g. add an ISO image as a disk via the GUI to an existing VM. It works fine from CLI, but the GUI does not let you do it. This also means that you cannot share those images over the network or give e.g. Docker apps access to them, forcing you to maintain duplicates if you need to use the images for any other purpose than just creating a VM.
According to the incus docs, this should be fairly simple
You can add an ISO file as a disk device for a virtual machine. It is added as a ROM device inside the VM.
This source type is applicable only to VMs.
To add an ISO file, specify its file path as the source: incus config device add <instance_name> <device_name> disk source=<file_path_on_host>
This forum post refers to adding an iso to a windows vm via qemu overrides… which makes it sound harder than the docs imply.
Its great being able to upload isos… but I’d much rather be able to pick an iso… and maybe it’d be better to use the old iso upload logic where you could actually pick a place on the local file system. Or optionally, upload to the incus pool.
I personally have an “isos” dataset which is shared via smb/nfs and used for virtual machine installations, and having to upload back into incus’s storage pool from a local mount of the isos dataset… is… less than optimal.
It is. Like I mentioned in my post, it works just fine from CLI and it’s just a single command to add or remove an ISO from a VM definition. I’ve used LXD for years and Incus is a fork of LXD, so I am quite familiar with the way it all works.
I would assume quite a few people do. At least I’ve always maintained a collection of ISO and USB-stick images that I need every now and then and not all of them are used for OS installs, either. There are plenty of reasons for why one might want to attach an ISO image to a VM temporarily even outside of creating a VM.
All that said, I assume the devs just have had their hands full and just didn’t think this one through yet, so I’ll let the pitchfork and torch wait some more in the closet for now.
Yeah, my guide is only for Windows installation without distrobuilder.
Incus uses virtio devices which Windows cant use natively. So to add virtio iso to installer you need legacy IDE device added via raw.qemu.
Once you have Windows installed with virtio drivers you can just use regular Incus commands and its easy.
With a Linux VM it’s easy. Let’s say you e.g. make an Ubuntu VM called test and upload debian.iso to /mnt/somepool/isodataset/ you need only one command to use it within the VM: incus config device add test virtualcd disk source=/mnt/somepool/isodataset/debian.iso
BOOM, now it’s available as /dev/sr0 Can even boot the VM from it, if you change virtualcd bootpriority for it or boot it from the VM’s UEFI BIOS.