Three significant changes are currently being worked on for IncusOS and will be pushed starting October 1st:
Transition to a new kernel configuration
We’re currently working on a more server-optimized kernel for use by both IncusOS and FuturFusion’s HypervisorOS. This is work led by @amikhalitsyn.
The new kernel will be optimized for more modern systems and will shed a lot of drivers for hardware that doesn’t really make sense on an IncusOS host. That will give us a lighter kernel and also a reduced attack surface.
To prevent regressions, it would be very useful for us to know what kernel modules folks are actively using on their IncusOS systems. This will let us ensure that we don’t accidentally strip any of those from the new kernel image.
IncusOS users are kindly requested to update to the current OS image, reboot and then run:
incus query /os/1.0/debug/kernel | jq '{architecture, cpu_baseline, version, modules: ([.modules[] | .name] | join(","))}'
This assumes that the jq command is present on the system.
Output will look like:
{
"architecture": "x86_64",
"cpu_baseline": "x86_64_v3",
"version": "7.1.10-zabbly+",
"modules": "9pnet,aesni_intel,autofs4,bridge,btrfs,ccp,dm_bio_prison,dm_bufio,dm_crypt,dm_multipath,dm_persistent_data,dm_verity,drm,drm_client_lib,drm_kms_helper,drm_shmem_helper,erofs,gf128mul,i2c_mux,i2c_smbus,iTCO_wdt,ib_cm,ib_core,intel_pmc_bxt,intel_rapl_common,iommufd,ip6_udp_tunnel,irqbypass,iscsi_tcp,iw_cm,kvm,kvm_amd,libahci,libblake2b,libiscsi,libiscsi_tcp,llc,lru_cache,netfs,nf_conntrack,nf_defrag_ipv4,nf_defrag_ipv6,nf_nat,nf_tables,nfnetlink,nft_chain_nat,nft_ct,nft_masq,nft_meta_bridge,nls_iso8859_1,nvme_auth,nvme_core,nvme_fabrics,nvmet,overlay,raid6_pq,rdma_cm,scsi_transport_iscsi,snd,snd_pcm,snd_timer,soundcore,spl,stp,tap,tcp_bbr,udp_tunnel,vfio,vfio_pci_core,vhost,vhost_iotlb,vhost_net,vhost_vsock,virtio_dma_buf,vmw_vsock_virtio_transport_common,vsock,x_tables,xor,zfs"
}
Use this form to submit your output: IncusOS - kernel modules
Those using clusters can use /os/1.0/debug/kernel?target=XYZ to get the data for a specific server (XYZ in this case).
Revocation of the 2025 signing key
We sign our images with a yearly signing key, switching over the signing typically with the first build of the year in January. Keys are marked as valid for two years (not that UEFI really enforces that), allowing for a transition period.
To fully rotate the key, we need to actually revoke and push a revocation entry for that key.
We are now about to do this for the first time by fully revoking the 2025 signing key.
This shouldn’t have any impact so long as everyone is on an IncusOS build from this year.
Removal of legacy migration logic
IncusOS generally expects users to update their systems (apply the OS update and reboot) at least once a month. We do keep compatibility logic for a bit longer than that but don’t generally guarantee upgrades when going more than 3 months without an OS update.
We currently have a fair bit of old upgrade logic that we’d like to get rid of, so if you’ve not updated and rebooted your IncusOS system in the past month or so, now would be a good time to do so!