I’ve gone down quite a rabbithole to try and get a kali desktop vm to launch in incus.
The scenario: distrobuilder completes and creates an incus image but then that image never completely starts in incus. to get the vm built with distrobuilder, i based the chnages to the kali.yaml file on items i found in the debian.yaml file since kali is most like a standard debian machine (package names, config locations etc).
I have confirmed the following scenarios build working vms with distro builder:
kali (container)
ubuntu (vm)
debian (vm)
opensuse (vm)
kde (vm)
When it gets tyo running the kali vm ive created that seems to pass grub but then never loads and the state in incus info is as follows:
Name: kalidt4
Description:
Status: RUNNING
Type: virtual-machine
Architecture: x86_64
PID: 638165
Created: 2025/05/27 04:21 CDT
Last Used: 2025/05/27 04:21 CDT
Started: 2025/05/27 04:21 CDT
Resources:
Processes: -1
Disk usage:
root: 1.00KiB
Network usage:
eth0:
Type: broadcast
State: UP
Host interface: tap6332a52a
MAC address: 10:66:6a:68:26:f9
MTU: 1500
Bytes received: 0B
Bytes sent: 0B
Packets received: 0
Packets sent: 0
IP addresses:
inet6: fd42:d70e:72e:3b78:1266:6aff:fe68:26f9/64 (global)
Log:
architecture: x86_64
config:
image.architecture: amd64
image.description: Kali kali-rolling amd64 (desktop) (20250527_0905)
image.name: kali-kali-rolling-amd64-desktop-20250527_0905
image.os: kali
image.release: kali-rolling
image.serial: “20250527_0905”
image.variant: desktop
limits.memory: 14GiB
security.csm: “true”
security.secureboot: “false”
volatile.base_image: adf3bb12108e4c643cedc513178e294255ed6b3b314ff7b9a40bf21545cf18df
volatile.cloud-init.instance-id: 3cf034dd-2c4e-49a9-9a8d-9f3420e8777b
volatile.eth0.host_name: tap6332a52a
volatile.eth0.hwaddr: 10:66:6a:68:26:f9
volatile.last_state.power: RUNNING
volatile.uuid: 2771826d-110a-4118-9f8f-0eff612333b9
volatile.uuid.generation: 2771826d-110a-4118-9f8f-0eff612333b9
volatile.vm.definition: pc-q35-9.0
volatile.vsock_id: “2334106212”
devices: {}
ephemeral: false
profiles:
- default
stateful: false
description: “”
at this point the log shows:
qemu.qmp.log
[2025-05-27T04:21:44-05:00] QUERY: {“execute”:“qom-get”,“arguments”:{“path”:“/machine”,“property”:“type”}}
[2025-05-27T04:21:44-05:00] REPLY: {“return”: “pc-q35-9.0-machine”}
[2025-05-27T04:21:44-05:00] QUERY: {“execute”:“query-cpus-fast”}
[2025-05-27T04:21:44-05:00] REPLY: {“return”: [{“thread-id”: 638169, “props”: {“core-id”: 0, “thread-id”: 0, “node-id”: 0, “socket-id”: 0}, “qom-path”: "/machine
[2025-05-27T04:21:44-05:00] QUERY: {“execute”:“netdev_add”,“arguments”:{“fds”:“/dev/net/tun.0:/dev/net/tun.1”,“id”:“incus_eth0”,“type”:“tap”,“vhost”:true,"vhostf
[2025-05-27T04:21:44-05:00] REPLY: {“return”: {}}
[2025-05-27T04:21:44-05:00] QUERY: {“execute”:“device_add”,“arguments”:{“addr”:“00.0”,“bootindex”:1,“bus”:“qemu_pcie4”,“driver”:“virtio-net-pci”,“id”:"dev-incus_
[2025-05-27T04:21:44-05:00] REPLY: {“return”: {}}
[2025-05-27T04:21:44-05:00] QUERY: {“execute”:“blockdev-add”,“arguments”:{“aio”:“native”,“cache”:{“direct”:true,“no-flush”:false},“discard”:“unmap”,“driver”:"hos
[2025-05-27T04:21:44-05:00] REPLY: {“return”: {}}
[2025-05-27T04:21:44-05:00] QUERY: {“execute”:“device_add”,“arguments”:{“bootindex”:0,“bus”:“qemu_scsi.0”,“channel”:0,“device_id”:“incus_root”,“drive”:"incus_roo
[2025-05-27T04:21:44-05:00] REPLY: {“return”: {}}
[2025-05-27T04:21:44-05:00] QUERY: {“execute”:“system_reset”}
[2025-05-27T04:21:44-05:00] REPLY: {“return”: {}}
[2025-05-27T04:21:44-05:00] QUERY: {“execute”:“set-action”,“arguments”:{“panic”:“pause”,“reboot”:“shutdown”,“shutdown”:“poweroff”}}
[2025-05-27T04:21:44-05:00] REPLY: {“return”: {}}
[2025-05-27T04:21:44-05:00] QUERY: {“execute”:“cont”}
[2025-05-27T04:21:44-05:00] REPLY: {“return”: {}}
If i force stop the vm i get the following console log as well:
SeaBIOS (version rel-1.16.3-0-ga6ed6b7)
Machine UUID 2771826d-110a-4118-9f8f-0eff612333b9
iPXE (http://ipxe.org) 05:00.0 CA00 PCI2.10 PnP PMM+7EFD3050+7EF33050 CA00
Booting from Hard Disk…
i cant seem to get the vm to load for kali at all. im wondering if there is a missing package of some sort on the host? Also is there any way to see more granular verbose debugging of what happens when the vm is starting so i can see where/why its failing? Kali Desktop is the requirement for this project, and it feels like im so close yet somehow still very far off.