Installing older kernels

How do I install these? My /boot only has so much space but newer kernels ruined a feature for me, namely bluetooth. None of my installed VM kernels work with my devices like those few did. It was a 5.x kernel.

Don’t know if it’s allowed, but BUMP.

I’m interested in this as well. Is it possible to install older kernel versions from dom0 via qubes-dom0-update without the need to transfer rpms to dom0 and installing them manually? I want to install latest 4.19 version because kernel 5.x doesn’t work for me.

Hi @nisenycyeq226 ,

Kernel setting is a :boom: , so only do the actions you understand and do backups, ok? :wink:

Kernel already present

Maybe you already got a 4.19 kernel, but it isn’t the current kernel.

Look from dom0 :

  • /boot content
  • /boot/efi/EFI/qubes/xen.cfg

If a 4.19 kernel is present, carefully read changing-default-kernel (change the default kernel entry).

Installing a specific kernel version

Again take care of what you do (:boom:).

The how-to-downgrade-a-specific-package documentation say you can use the package-version form.
How to get the list of the kernels ? See dnf search advanced options, or look the qubes 4.0 dom0 repository.

1 Like

It doesn’t work:

[user@dom0 ~]$ sudo qubes-dom0-update kernel-4.19.163
Using sys-whonix as UpdateVM to download updates for Dom0; this may take some time...
fedora/metalink                                             | 6.4 kB  00:00     
fedora                                                      | 4.3 kB  00:00     
fedora/primary_db                                           |  26 MB  00:46     
qubes-dom0-current                                          | 3.8 kB  00:04     
qubes-dom0-current/primary_db                               | 426 kB  00:02     
qubes-dom0-current-testing                                  | 3.8 kB  00:02     
qubes-dom0-current-testing/primary_db                       | 355 kB  00:02     
qubes-dom0-security-testing                                 | 3.8 kB  00:00     
qubes-dom0-security-testing/primary_db                      | 774 kB  00:05     
qubes-dom0-unstable                                         | 3.0 kB  00:00     
qubes-dom0-unstable/primary_db                              | 175 kB  00:01     
qubes-templates-community                                   | 3.0 kB  00:00     
qubes-templates-community/primary_db                        | 8.0 kB  00:00     
qubes-templates-community-testing                           | 3.0 kB  00:00     
qubes-templates-community-testing/primary_db                | 4.8 kB  00:02     
qubes-templates-itl                                         | 3.0 kB  00:00     
qubes-templates-itl/primary_db                              | 6.9 kB  00:00     
qubes-templates-itl-testing                                 | 3.0 kB  00:00     
qubes-templates-itl-testing/primary_db                      | 5.7 kB  00:01     
updates/metalink                                            | 6.0 kB  00:00     
updates                                                     | 4.7 kB  00:00     
updates/primary_db                                          |  12 MB  00:21     
--> Running transaction check
---> Package kernel.x86_64 1000:4.19.163-1.pvops.qubes will be installed
--> Finished Dependency Resolution
kernel-4.19.163-1.pvops.qu 97% [=============kernel-4.19.163-1.pvops.qu 97% [=============kernel-4.19.163-1.pvops.qu 97% [=============kernel-4.19.163-1.pvops.qu 97% [=============kernel-4kernel-4.19.163-1.pvops.qubes.x86_64.rpm                    |  49 MB  04:31     
Successfully verified /var/lib/qubes/dom0-updates/packages/kernel-4.19.163-1.pvops.qubes.x86_64.rpm
Qubes OS Repository for Dom0                                   72 MB/s |  73 kB     00:00    
No package kernel-4.19.163 available.
Error: Unable to find a match.
[user@dom0 ~]$ sudo dnf downgrade kernel-4.19.163
Qubes OS Repository for Dom0                                                                                                                                   72 MB/s |  73 kB     00:00    
Error: conflicting requests
(try to add '--allowerasing' to command line to replace conflicting packages)

Hi @nisenycyeq226 ,

The step #1 works as expected (how-to-downgrade-a-specific-package : Dnf will say that there is no update, but the package will nonetheless be downloaded to dom0.).

But yes, step #2 failed. The error is Error: conflicting requests.
I never downgraded a package for Fedora, so I searched and found the below promising solution:

  • increase the installonly_limit value on /etc/dnf/dnf.conf source. Explanation: you already got 3 kernel versions (packages kernel-x.y.z, see rpm -qa kernel), dnf limits to only 3 versions with the installonly_limit value. So choose the 4 or 5 value.

Does it work? Yes / No ?

1 Like

Yes it works after increasing installonly_limit, thanks.

1 Like

The 5.x kernels cause my system to crash randomly, probably related to #6397. Recent updates have pushed my 4.x kernels out. I’m having difficulty adding a 4.x kernel back. The instructions above don’t appear to be working.
Attempt at 4.19.163:

[user@dom0 Desktop]$ sudo qubes-dom0-update kernel-4.19.163
Using sys-firewall as UpdateVM to download updates for Dom0; this may take some time...
Warning: Enforcing GPG signature check globally as per active RPM security policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)
Last metadata expiration check: 0:15:52 ago on Mon Apr 12 08:01:35 2021.
No match for argument: kernel-4.19.163
Error: Unable to find a match: kernel-4.19.163
[user@dom0 Desktop]$ sudo dnf downgrade kernel-4.19.163
Failed to synchronize cache for repo 'qubes-dom0-cached', disabling.
No package kernel-4.19.163 available.
Error: Nothing to do.
[user@dom0 Desktop]$ 

The same happens with 4.19.155.
No package kernel-4.19.155 available.

Hi @pr0xy,
do this command only if you understand it:

sudo qubes-dom0-update --enablerepo=qubes-dom0-security-testing --action=install kernel-1000:4.19.176-1.pvops.qubes.x86_64

if you get an error talking about “–allowerasing”, then you need to remove an old kernel with dnf remove. In fact, only 3 versions of the same package are installable (get the list with rpm -qa | grep ^kernel-[45]).

The list of the kernels by repository ? See Index of /r4.0/


@ludovic thanks!
I used the increasing installonly_limit mentioned above instead of removing kernels, and I now have the 4.19.176-1 kernel installed. I also edited grub to set this as the default kernel.

1 Like

Can You help I have problem while Downgrading

@ThunderBoltIQ what isn’t addressed in the following comment?

1 Like

Thank Here is my problem which i well write it here

That’s what I get when i run This command

Sudo Qubes-dom0-update --enablerepo=qubes-dom0-current-testing --action=install kernel-4.19.12-3.pvops.qubes.x86_64.rpm

Hi @ThunderBoltIQ ,

kernel-4.19.12 isn’t available in current-testing, see the package list :

And remove the .rpm string from the command.

Please, read all this thread, you’ll find useful information.

1 Like

I just saw your other topic, so your kernel is for sys-net, so you should install a kernel-qubes-vm-* package.

1 Like

Thank You So Much really appreciate it Mate

Hello again i have installed qube os 4.1 and i want to downgrade sys-net to this kernel


I tried to run
This command but failed ;-

sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing --action=install kernel-419-qubes-vm-4.19.208-1.pvops.qubes.x86_64

So it give me error that not found not So any suggestions ?

Hi @ThunderBoltIQ
I don’t see 4.x available kernels in the 4.1 repository, see kernel*qubes-vm in 4.1 dom0 repository.

There’s something unusual about the 5.4 kernels in the 4.1 dom0 repo that you linked @ludovic . I can download any of the 5.10 ones without issue, but no matter what variation of kernel-5.4.## I attempt, I always get a “No match for argument” error. The only difference I can see is the missing .fc32. in the file names for all the 5.4 kernels.

For example given “sudo qubes-dom0-update kernel-5.4.88-1.qubes.x86_64”
No match for argument: kernel-5.4.88-1.qubes.x86_64

Whereas “sudo qubes-dom0-update kernel-5.10.96-1.fc32.qubes.x86_64” works perfectly.