Incus launch fails: No root device could be found

Using incus 0.3 on Ubuntu (with deb package from zabbly), launching new container fails :

➜ incus launch images:ubuntu/23.10 rust
Creating rust
Error: Failed instance creation: Failed creating instance record: Failed initialising instance: Invalid devices: Failed detecting root disk device: No root device could be found

Not sure what the problem can be.

Did you run incus admin init to perform the initial setup on your system ?

It sounds like you don’t have any storage set up at the moment which would normally have been taken care of by the init step.

Well, I have a bunch a containers migrated from LXD currently running with incus, and storage pool:

➜ incus storage list
±--------±-------±----------±------------±--------±--------+
| NAME | DRIVER | SOURCE | DESCRIPTION | USED BY | STATE |
±--------±-------±----------±------------±--------±--------+
| default | zfs | rpool/lxd | | 7 | CREATED |
±--------±-------±----------±------------±--------±--------+

Ah, can you show incus profile show default?

➜ incus profile show default
config: {}
description: Default LXD profile
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
name: default
used_by:

  • /1.0/instances/siarec-spip3
  • /1.0/instances/sqlserver
  • /1.0/instances/talend-open-studio
  • /1.0/instances/aja-dataroom
  • /1.0/instances/aja-restore
  • /1.0/instances/monetdb
  • /1.0/instances/siarec-restore

Okay, so that’s the problem, your default profile doesn’t have a root disk defined.

You could keep things as they are and just always pass --storage default when creating instances, but that may get a bit annoying :slight_smile:

So the real fix would be incus profile device add default root disk pool=default path=/ which will add a root device to your default profile using your default storage pool.