Support for RHEL for Incus

Is there is a road map for porting Incus and supporting OS packages for RHEL / Amazon / Oracle Linux ?

I see Fedora support so thats nearly there… :wink:

Hello. They are working on it. See Rocky Linux Mattermost

Regards

1 Like

Hi,

Any news on this?, can’t find anything on the official Incus documentation.

Thanks!

https://bugzilla.redhat.com/show_bug.cgi?id=2260492

Basically pending review, no idea how long that will take.

@Conan_Kudo has been updating the package every now and then (currently at 0.7 it looks like) but we’re basically waiting for a review before it can show up in Fedora and EPEL.

1 Like

It looks like it got approved a few hours after the last post in this thread. :slight_smile:

1 Like

That’s great, thank you guys!

Nice!

Great!

Sorry for bumping this guys…

Several months later and I still haven’t find a proper way to install Incus on a RedHat 8.

I see there is a well-maintained repo for Fedora and I guess you can somehow use it for RH but I’d definitely prefer a less hacky way.

I was expecting a package on the epel repo but it looks it is not going to happen… :frowning:

Any hint would be much appreciated.

Maybe the maintainer of the repo for Fedora can help you. Incus does not provide packaging for distros. That is the responsibility of the distros and their communities.

Do you have any links with the research you have already done on this topic?

RHEL8 (Redhat Enterprise) isn’t on the same stream as Fedora… Fedora packages are not (generally) compatible with Enterprise.

The way it worked with LXD was via snapd…

Unfortunately I can’t add much information on this topic outside of what is already listed on this thread.

All the info I’ve been able to find is related to Fedora or Rocky but not RHEL…

Looks like there is some activity on including Incus on epel9
https://bugzilla.redhat.com/show_bug.cgi?id=2292201

But due to the technical constrains al work I’m stuck on RHEL8 so most probably I am out of luck.

1 Like

Thanks very interesting… LXD is working for me at the moment… But would be nice to have the option…

I started testing LXD a while ago and it worked fine via snapd.

The problem I found was the limitation with the images that were available from linuxcontainers due to the issue with the Canonical takeover.

I guess you can circumvent this by downloading the images and installing them locally somehow but I am not eager to do so. Could you explain how you are coping with this?

I would definitely prefer to use Incus over LXD for a million of reasons but going temporarily with LXD and migrating to Incus in the future could be an option for me.

Canonical have there own image server now so using LXD isn’t a issue anymore…

Does it make sense to compile Incus directly on RHEL? I am not sure how hard that would be on RHEL 8. It is pretty easy on Debian 12. :thinking:

I use cloud-init for cloud installs so compiling isn’t such an easy proposition to build, install and configure from source.

1 Like

I can shed some light in this, as we’ve been building Incus RPMs for EL9 since March this year.

Generally: RHEL9 (and its clones such as AlmaLinux 9 and RockyLinux 9) have a tool-chain and libraries that are straight from the antiquity store compared to Ubuntu or Debian.

The last few versions of Incus require “go” v1.22, whereas EL9 only has go v1.21.13.

Additionally RedHat amputated Spice support from QEMU and the shipped EL9 kernel was built without 9p support, which Incus and QEMU need for VMs. Plus the stock QEMU has a slightly different name for the QEMU binary than Incus expects.

All this can be overcome with selective upgrades of rebuilt versions of these components. COPR has a more modern QEMU with Spice support, ELRepo has kernel-ml for EL9 with 9p support if you want to go that far out of spec.

And when you substitute a newer “go” it is easily possibly to compile Incus on EL9 and to build RPMs for it. Our Incus RPM for EL9 is available here.

That RPM still needs …

ln -sf /usr/libexec/qemu-kvm /usr/local/bin/qemu-system-x86_64

… to be performed after the install, which our bundled installer does outside of the Incus RPM.

In the version we ship (for the stock kernel) 9p support is therefore not working. Hence for VMs you need to perform the agent-install via cloud-init.

Example:

incus init images:almalinux/9/cloud <instance-name> --profile default --storage default -c limits.memory=4GiB -c security.secureboot=false -c security.csm=false --vm

incus config device add <instance-name> agent disk source=agent:config

incus config device set <instance-name> root size=30GiB

incus config device add <instance-name> cloud-init disk source=cloud-init:config

incus config set <instance-name> user.user-data - < cloud-init-user-data-file.yaml

Here is a totally minimalistic cloud-init-user-data-file.yaml to get an AlmaLinux 9 Cloud image running as VM with Incus-Agent installed and a root password set:

#cloud-config
chpasswd:
  list: |
    root:<plaintext-password>
  expire: False
ssh_pwauth: True

runcmd:
  - mount /dev/sr0 /mnt
  - cd /mnt
  - ./install.sh
  - umount /mnt
  - systemctl daemon-reload
  - systemctl enable incus-agent
  - systemctl start incus-agent

So it’s possible to get Incus up and running on RHEL9, AlmaLinux 9 and RockyLinux 9. Container support works fine and VM support works if you can do with cloud-init launched Agent installs.

4 Likes

Thanks I’ll give that a go… However since all my business nodes are build with cloud-init from off the shelf canned templates that is going to be time consuming to get to work.

Still if it can be done that will be very helpful thanks…

2 Likes