quick notes about the different ways to handle storage virtualization for QEMU
[31/03/2024 10:07] mknod can be used for creating block or character special files, such asdevice nodes (special directories). It is an alternative for the powerful dd command which could wipe your root system at runtime.
dd if=/dev/zero of=./utils/storage/kernel-hd bs=1M count=2048
mkfs.ext4 ./utils/storage/kernel-hd
then you boot qemu with this, passing as -drive file=./utils/storage/kernel-hd,format=raw
qemu-img create -f qcow2 disk.qcow2 1G
allocating a new file of size 100M by doing the command below. Then format the disk using whatever, like fdisk or mkfs from the step 1.
fallocate -l100M image
[03/04/2024 22:15] guestmount has as dependency libguestfs.
sudo pacman -S libguestfs
now mount the qcow2 image using the "-i" flag
guestmount -a path_to_image.qcow2 -i --ro /mount_point
"With nbd compiled in the kernel (or as a module), Linux can use a remote server as one of its block devices. So every time the client computer wants to read, e.g., /dev/nb0, it sends a request over TCP to the server, which will reply with the data read. This can be used for stations with low disk space (or even diskless) to borrow disk space from another computer. Unlike NFS, it is possible to put any filesystem on it, etc." source
the problem is that if nbd wasn't compiled on the kernel, you would have to use the kernel module version, which would taint your kernel. Not really a problem in a controlled environment.
for how to mount, check this gist or this unix exchange answer.