Failed to install from USB using flasher-tool or IncusOS image downloader

Hello all,

I just discovered IncusOS, and I am very excited about it!

I tried to install it on a Dell OptiPlex 7050 Micro. After fixing RAID, Secure Boot keys and TPM, I was able to boot the system from a USB pendrive.

Hardware:

  • Intel Core i5-7500
  • 16GB of memory
  • SATA-0 500GB TOSHIBA
  • SSD M.2 1000GB

I tried to create the USB pendrive using:

  1. IncusOS image downloader => Failed to choose between nvme and scsi disk
  2. flasher-tool with custom seed => Failed trying to install on USB pendrive

My flasher-tool steps are:

1/ Create seed.tar

cp /dev/null seed/install.yaml
cat >seed/incus.yaml <<EOD
version: "1"
apply_defaults: true
preseed:
  certificates:
    - name: homelab
      type: client
      certificate: |
EOD
cat incus.cert | sed 's/^/        /' >>seed/incus.yaml
tar -C seed -cf seed.tar .

2/ Flash USB

./flasher-tool --image IncusOS_202605121702.img --format img --seed ./seed.tar
sudo dd if=IncusOS_202605121702.img of=/dev/sdb bs=4M iflag=fullblock oflag=direct
sync

When I try to boot from the USB pendrive, I get the following error:

Source device '/dev/disk/by-id/usb-SanDisk_Ultra_4CXXXXXXX-0:0' is too small ...

Something notable too, at the bottom of the screen, the Install application(s) and Network configuration are empty.

What am I doing wrong?

It looks like you’re probably missing an install.yaml file in your local setup. The presence of that file, even if empty, is what triggers the install process. So before creating your seed.tar you’ll want to touch seed/install.yaml. That will likely get you to the same result as you saw when using the online image customizer.

(Without that install.yaml, IncusOS is trying to run in “live” mode from the install media, which must be at least 50GiB in size; if not, you’ll get the error you report.)

Because there’s more than one possible drive present that you could install IncusOS to, you’ll need to provide a target as part of the install seed. You likely want the nvme one, which you can easily select by providing the following install.yaml in your seed archive:

target:
  bus: nvme

Full details about the various parameters that can be used to specify the install target are available at incus-os/incus-osd/api/seed/install.go at main · lxc/incus-os · GitHub

Hi Mathias,

Thank you so much for your quick answer. But I have an install.yaml in my seed:

Before posting, I also tried this install.yaml files:

target:
  bus: scsi

this one:

target:
  min_size: 256GiB
  sort_order: smallest

And many other variations, without success.

I should have missed something, but I cannot find out what without any debug info.

Thanks in advance for any hints…