When starting libvirt LineageOS ARM virtual machine on Debian 13 ARM I face:
``` Unable to complete install: 'internal error: process exited while connecting to monitor: 2026-08-12T21:47:42.762715Z qemu-system-aarch64: -blockdev {"driver":"file","filename":"/home/admin/lineage-22.1-20250202-UNOFFICIAL-virtio_arm64only.img","node-name":"libvirt-3-storage","read-only":true}: Could not open '/home/admin/lineage-22.1-20250202-UNOFFICIAL-virtio_arm64only.img': Permission denied'
Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/createvm.py", line 2008, in _do_async_install installer.start_install(guest, meter=meter) File "/usr/share/virt-manager/virtinst/install/installer.py", line 695, in start_install domain = self._create_guest( ^^^^^^^^^^^^^^^^^^^ File "/usr/share/virt-manager/virtinst/install/installer.py", line 637, in _create_guest domain = self.conn.createXML(initial_xml or final_xml, 0) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/libvirt.py", line 4529, in createXML raise libvirtError('virDomainCreateXML() failed') libvirt.libvirtError: internal error: process exited while connecting to monitor: 2026-08-12T21:47:42.762715Z qemu-system-aarch64: -blockdev {"driver":"file","filename":"/home/admin/lineage-22.1-20250202-UNOFFICIAL-virtio_arm64only.img","node-name":"libvirt-3-storage","read-only":true}: Could not open '/home/admin/lineage-22.1-20250202-UNOFFICIAL-virtio_arm64only.img': Permission denied ```
How to solve this issue, while `/home/admin/lineage-22.1-20250202-UNOFFICIAL-virtio_arm64only.img` is 777?
Aug 12, 10:55pm
The error you're encountering is a permission denied issue when QEMU (via libvirt) tries to access the disk image file (lineage-22.1-20250202-UNOFFICIAL-virtio_arm64only.img). Even though the file has 777 permissions, there are additional layers of security and access control in Linux that could be causing this issue. Here’s how to diagnose and resolve it:
1. Check File Ownership and Permissions
Even with 777 permissions, the ownership of the file and its parent directory matters. QEMU/libvirt typically runs as the libvirt-qemu user and group.
Steps:
Ensure the file is owned by the user running the VM (e.g., admin) or the libvirt-qemu group.
Run:
bash
ls -la /home/admin/lineage-22.1-20250202-UNOFFICIAL-virtio_arm64only.img
If the owner is admin, ensure the libvirt-qemu user/group has access.