Where would I start if I'd want to launch a VM with a currently unsupported distro from ISO?

Dear colleagues, i would like to run a vm with Ubuntu 14.04 server via incus. I was able to launch a vm and via the attached original ISO file boot and complete the install process. As to be expected I’m not getting any incus features because the incus agent is missing: the machine cannot be cleanly shut down from the supervisor, I cannot use the “shell” or “file” incus subcommands, etc. How would I go about enabling these features?

Hi!

Your best bet would be to generate the vm image for Incus yourself using distrobuilder and the appropriate configuration file.

Ubuntu 14.04 (trusty) is not supported anymore which means that you might have some difficulty finding the appropriate files. If that is the case, replace archive.ubuntu.com with old-releases.ubuntu.com/ubuntu/

The last piece that you are missing, is the command-line parameters for distrobuilder. You can have a look at https://jenkins.linuxcontainers.org/ which has the logs from the scripts that use distrobuilder to generate the container/vm images found at http://images.linuxcontainers.org/

I am interested in the results of this investigation. Please report back how it all worked, especially the part about the old Ubuntu release.

1 Like

You can install the agent manually through:

mount -t 9p config /mnt
cd /mnt
./install.sh

However this requires your Linux distribution:

  • Supports 9pfs
  • Supports vhost-vsock
  • Uses systemd

The first point, you can workaround through the use of an extra disk using the agent:config special driver.

The last point, you could workaround by making your own init scripts as needed.

The vhost-vsock part is likely the kicker for older distros as if that’s not supported, no amount of work will get the agent to function.

1 Like

Thank you both, I will give it a try. I noticed that trusty was removed from distrobuilder in 2021, Drop Trusty that is EOL · lxc/lxc-ci@0143a6a · GitHub

I’ll experiment with bringing some of the configuration back and will report here.

If the agent won’t work, is there a way I can teach incus about connecting to the vm via ssh?

Sure. You can use cloud-init to seed the VM with account details (such as your SSH public key).

You would need to use those images:debian/12/cloud (note the cloud part) as those images have cloud-init.

See the documentation on how to use cloud-init or see How to customize Incus containers with cloud-init – Mi blog lah!

1 Like