Installing older kernels

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/

3 Likes

@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 : https://yum.qubes-os.org/r4.0/current-testing/dom0/fc25/rpm/.

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

kernel-419-qubes-vm-4.19.208-1.pvops.qubes.x86_64

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.

Hi @tr_seven,

welcome to the Qubes-OS world.

I searched for you, from my understanding the 5.4 kernel rpms are in the repository folder BUT no more in the repository index.

The repository index doesn’t contains the 5.4 kernels ( repodata/repomd.xmlrepodata/388699c42a805eee80e2256802fabc572d22734f38b1da841d6ce705d50f8c85-primary.xml.gz ).

Search in the current repository : sudo qubes-dom0-update --show-output --console --action=repoquery 'kernel*' → no 5.4 kernels.

Search In the testing repository : sudo qubes-dom0-update --show-output --console --enablerepo=qubes-dom0-current-testing --action=repoquery 'kernel*' | grep "5.4" → no 5.4 kernels.

Search in the security testing repository : sudo qubes-dom0-update --show-output --console --enablerepo=qubes-dom0-security-testing --action=repoquery 'kernel*' | grep "5.4" → 5.4.83 and 5.4.98 are available.

So, from my point of view, 2 solutions are available for you, the choice depends on your skills and the risks :

  • get the 5.4.83 or 5.4.98 kernel from the security testing repository (example : sudo qubes-dom0-update --check-only --show-output --console --enablerepo=qubes-dom0-security-testing --action=install kernel-1000:5.4.98, remove --check-only for an install action)
  • download the 5.4.88 kernel rpm file from a VM, copy it to dom0 (see the copying-to-dom0 doc), and install it with sudo dnf install <the rpm file with absolute or relative path>, the new kernel should be available from the grub menu (else search “grub.cfg” in this forum).

Related documentation:

  • qubes-dom0-update --help and man qubes-dom0-update
  • man dnf (repoquery, install)
1 Like

Hey thanks for the detailed response and confirming I’m not crazy. I’m assuming if the rpms are not in the repo index they’re effectively unsigned, so at that point I’m just trusting that nothing nasty has been injected into yum.qubes-os.org. So I might lean towards security-testing.

Since the description of security-testing is the packages go there first then get migrated to current, it seems like maybe part of that migration is broken? If all the 5.4’s never quite make it into the current repo.

My system that worked great on release 4.0 is completely unstable on 4.1 w/ the 5.10 kernel so I have to try something.

Did you try newer kernels?
You can install kernel-latest from current repo for kernel 5.16 or kernel-latest from current-testing repo for kernel 5.17.

I will try newer ones eventually, I didn’t want to go too far on a tangent with kernel debugging in this thread, just wanted to figure out the issue I was having with installing an older version.

To anyone else wanting to try downgrading from 5.10 to a 5.4 kernel in qubes 4.1, the one in security-testing is working great for me so far.