Unable to install new kernel (6.2.2-300) on Kinoite

I wanted to try out the new 6.2 kernel on Kinoite so I followed the testing guide, but I’m getting stuck at the overriding part with this being the issue

nothing provides kernel-modules-core-uname-r

full output:

$ rpm-ostree override replace kernel-*.rpm
Inactive base replacements:
  kernel-debug-6.2.2-300.fc37.x86_64
  kernel-debug-core-6.2.2-300.fc37.x86_64
  kernel-debug-devel-6.2.2-300.fc37.x86_64
  kernel-debug-devel-matched-6.2.2-300.fc37.x86_64
  kernel-debug-modules-6.2.2-300.fc37.x86_64
  kernel-debug-modules-core-6.2.2-300.fc37.x86_64
  kernel-debug-modules-extra-6.2.2-300.fc37.x86_64
  kernel-debug-modules-internal-6.2.2-300.fc37.x86_64
  kernel-debug-uki-virt-6.2.2-300.fc37.x86_64
  kernel-devel-6.2.2-300.fc37.x86_64
  kernel-devel-matched-6.2.2-300.fc37.x86_64
  kernel-modules-core-6.2.2-300.fc37.x86_64
  kernel-modules-internal-6.2.2-300.fc37.x86_64
  kernel-uki-virt-6.2.2-300.fc37.x86_64
Checking out tree dcedf51... done
Enabled rpm-md repositories: fedora-cisco-openh264 fedora-modular updates-modular updates fedora updates-archive
Updating metadata for 'fedora-cisco-openh264'... done
Updating metadata for 'fedora-modular'... done
Updating metadata for 'updates-modular'... done
Updating metadata for 'updates'... done
Updating metadata for 'fedora'... done
Updating metadata for 'updates-archive'... done
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264'; generated: 2022-10-06T11:01:40Z solvables: 4
rpm-md repo 'fedora-modular'; generated: 2022-11-05T07:58:03Z solvables: 1454
rpm-md repo 'updates-modular'; generated: 2023-02-22T11:28:37Z solvables: 1464
rpm-md repo 'updates'; generated: 2023-03-04T02:10:11Z solvables: 26117
rpm-md repo 'fedora'; generated: 2022-11-05T08:04:38Z solvables: 66822
rpm-md repo 'updates-archive'; generated: 2023-03-04T02:49:50Z solvables: 28305
Resolving dependencies... done
error: Could not depsolve transaction; 4 problems detected:
 Problem 1: conflicting requests
  - nothing provides kernel-modules-core-uname-r = 6.2.2-300.fc37.x86_64 needed by kernel-6.2.2-300.fc37.x86_64
 Problem 2: conflicting requests
  - nothing provides kernel-modules-core-uname-r = 6.2.2-300.fc37.x86_64 needed by kernel-core-6.2.2-300.fc37.x86_64
 Problem 3: conflicting requests
  - nothing provides kernel-modules-core-uname-r = 6.2.2-300.fc37.x86_64 needed by kernel-modules-6.2.2-300.fc37.x86_64
 Problem 4: conflicting requests
  - nothing provides kernel-modules-core-uname-r = 6.2.2-300.fc37.x86_64 needed by kernel-modules-extra-6.2.2-300.fc37.x86_64

This is the current status of my system:

$ rpm-ostree status 
State: idle
Deployments:
● fedora:fedora/37/x86_64/kinoite
                  Version: 37.20230304.0 (2023-03-04T00:50:24Z)
               BaseCommit: dcedf518b926207798c6df3b7d0764bc3ec238edd6be6b9f22bccc21be24448d
             GPGSignature: Valid signature by ACB5EE4E831C74BB7C168D27F55AD3FB5323552A
          LayeredPackages: intel-compute-runtime koji mozilla-openh264 oneapi-level-zero virt-install virt-manager virt-viewer

  fedora:fedora/37/x86_64/kinoite
                  Version: 37.20230304.0 (2023-03-04T00:50:24Z)
               BaseCommit: dcedf518b926207798c6df3b7d0764bc3ec238edd6be6b9f22bccc21be24448d
             GPGSignature: Valid signature by ACB5EE4E831C74BB7C168D27F55AD3FB5323552A
          LayeredPackages: intel-compute-runtime koji mozilla-openh264 virt-install virt-manager virt-viewer

I’m not an expert, but I suspect that kernel-modules-core has been added as a dependency and it was not existent until now. Just wondering.

$ rpm -qa |grep kernel
kernel-core-6.1.14-200.fc37.x86_64
kernel-modules-6.1.14-200.fc37.x86_64
kernel-6.1.14-200.fc37.x86_64
kernel-modules-extra-6.1.14-200.fc37.x86_64

And probably rpm-ostree override replace is unable to handle dependencies or it is unable to override something that is not installed.
Probably we need an ostree expert :sweat_smile:

The modules found in the kernel-core packages has been split out in a separate package according to this change-log entry.

* Thu Jan 19 2023 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.2.0-0.rc4.7287904c8771.33]
- modules-core: use %%posttrans (Gerd Hoffmann)
- split sub-rpm kernel-modules-core from kernel-core (Gerd Hoffmann)
- Turn off CONFIG_MTK_T7XX for S390x (Justin M. Forbes)
- CI: add variable for variant handling (Veronika Kabatova)
- Linux v6.2.0-0.rc4.7287904c8771
2 Likes

I believe if you run rpm-ostree override replace giving it the Koji link containing all the kernel RPMs plus --install kernel-modules-core, it will likely pick the latter from Koji as well.

What is the Koji link? I’m not familiar with this tool

I believe it should be kernel-6.2.2-300.fc37 | Build Info | koji

Does that mean I have to install certain packages first?
These are the packages I downloaded with Koji:

kernel-6.2.2-300.fc37.x86_64.rpm
kernel-core-6.2.2-300.fc37.x86_64.rpm
kernel-devel-6.2.2-300.fc37.x86_64.rpm
kernel-devel-matched-6.2.2-300.fc37.x86_64.rpm
kernel-modules-6.2.2-300.fc37.x86_64.rpm
kernel-modules-core-6.2.2-300.fc37.x86_64.rpm
kernel-modules-extra-6.2.2-300.fc37.x86_64.rpm
kernel-modules-internal-6.2.2-300.fc37.x86_64.rpm
kernel-uki-virt-6.2.2-300.fc37.x86_64.rpm
kernel-debug-6.2.2-300.fc37.x86_64.rpm
kernel-debug-core-6.2.2-300.fc37.x86_64.rpm
kernel-debug-devel-6.2.2-300.fc37.x86_64.rpm
kernel-debug-devel-matched-6.2.2-300.fc37.x86_64.rpm
kernel-debug-modules-6.2.2-300.fc37.x86_64.rpm
kernel-debug-modules-core-6.2.2-300.fc37.x86_64.rpm
kernel-debug-modules-extra-6.2.2-300.fc37.x86_64.rpm
kernel-debug-modules-internal-6.2.2-300.fc37.x86_64.rpm
kernel-debug-uki-virt-6.2.2-300.fc37.x86_64.rpm

You will need to install kernel-modules-core-6.2.2-300.fc37.x86_64.rpm and upgrade the other kernel packages. As you are not installing from the repository, dnf can’t find the missing package.

No, no, you didn’t need to download each one manually, you can pass the Koji link to the rpm-ostree command. And it will replace only the ones that are on you system, like so:

rpm-ostree override replace https://koji.fedoraproject.org/koji/buildinfo?buildID=2164262

My suggestion was that there’s a chance you can install kernel-modules-core alongside that by running instead:

rpm-ostree override replace https://koji.fedoraproject.org/koji/buildinfo?buildID=2164262 --install kernel-modules-core

They are already downloaded.

Ah thanks, that downloaded the packages to be overridden correctly, but it gives an error at the end, it can’t retrieve the kernel-modules-core package this way

error: Packages not found: kernel-modules-core

Full output

$ rpm-ostree override replace https://koji.fedoraproject.org/koji/buildinfo?buildID=2164262 --install kernel-modules-core
Downloading https://kojipkgs.fedoraproject.org/packages/kernel/6.2.2/300.fc37/x86_64/kernel-6.2.2-300.fc37.x86_64.rpm...done
Downloading https://kojipkgs.fedoraproject.org/packages/kernel/6.2.2/300.fc37/x86_64/kernel-modules-extra-6.2.2-300.fc37.x86_64.rpm...done
Downloading https://kojipkgs.fedoraproject.org/packages/kernel/6.2.2/300.fc37/x86_64/kernel-modules-6.2.2-300.fc37.x86_64.rpm...done
Downloading https://kojipkgs.fedoraproject.org/packages/kernel/6.2.2/300.fc37/x86_64/kernel-core-6.2.2-300.fc37.x86_64.rpm...done
Checking out tree dcedf51... done
Enabled rpm-md repositories: fedora-cisco-openh264 fedora-modular updates-modular updates fedora updates-archive
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2022-10-06T11:01:40Z solvables: 4
rpm-md repo 'fedora-modular' (cached); generated: 2022-11-05T07:58:03Z solvables: 1454
rpm-md repo 'updates-modular' (cached); generated: 2023-02-22T11:28:37Z solvables: 1464
rpm-md repo 'updates' (cached); generated: 2023-03-05T01:28:58Z solvables: 26191
rpm-md repo 'fedora' (cached); generated: 2022-11-05T08:04:38Z solvables: 66822
rpm-md repo 'updates-archive' (cached); generated: 2023-03-05T02:07:31Z solvables: 28426
error: Packages not found: kernel-modules-core

I had already tried that, it gives the same problem:

error: Could not depsolve transaction; 1 problem detected:
 Problem: conflicting requests
  - nothing provides kernel-uname-r = 6.2.2-300.fc37.x86_64 needed by kernel-modules-core-6.2.2-300.fc37.x86_64

It seems I’m in a stalling situation, to install kernel-modules-core-6.2.2-300 I need kernel-uname-rof version 6.2.2-300 but that is provided by kernel-core-6.2.2-300and if I were to ovveride the kernel-core package I would need kernel-modules-core-uname-r at version 6.2.2-300 that is privided by kernel-modules-core-6.2.2-300 naturally

Then install all of the following on one transaction.

kernel-6.2.2-300.fc37.x86_64.rpm
kernel-core-6.2.2-300.fc37.x86_64.rpm
kernel-modules-6.2.2-300.fc37.x86_64.rpm
kernel-modules-core-6.2.2-300.fc37.x86_64.rpm
kernel-modules-extra-6.2.2-300.fc37.x86_64.rpm
kernel-modules-internal-6.2.2-300.fc37.x86_64.rpm

Is it possible to override and install different packages in a single transaction?

Yes, rpm-ostree override replace <packages to override with> --install <extra package to install>

2 Likes

That is, extending the Kernel Test Day wiki page:

mkdir -p ~/work/kernel_test
cd ~/work/kernel_test
koji download-build --arch=x86_64 kernel-6.2.2-300.fc37
rpm-ostree override replace kernel-*.rpm --install=kernel-modules-core-6.2.2-300.fc37.x86_64.rpm
1 Like

Ok, thank you, I did the following and it seems to have worked perfectly:

$ rpm-ostree override replace kernel-core-6.2.2-300.fc37.x86_64.rpm kernel-modules-6.2.2-300.fc37.x86_64.rpm kernel-6.2.2-300.fc37.x86_64.rpm kernel-modules-extra-6.2.2-300.fc37.x86_64.rpm --install=kernel-modules-core-6.2.2-300.fc37.x86_64.rpm
Checking out tree dcedf51... done
Enabled rpm-md repositories: fedora-cisco-openh264 fedora-modular updates-modular updates fedora updates-archive
Updating metadata for 'fedora-cisco-openh264'... done
Updating metadata for 'fedora-modular'... done
Updating metadata for 'updates-modular'... done
Updating metadata for 'updates'... done
Updating metadata for 'fedora'... done
Updating metadata for 'updates-archive'... done
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264'; generated: 2022-10-06T11:01:40Z solvables: 4
rpm-md repo 'fedora-modular'; generated: 2022-11-05T07:58:03Z solvables: 1454
rpm-md repo 'updates-modular'; generated: 2023-02-22T11:28:37Z solvables: 1464
rpm-md repo 'updates'; generated: 2023-03-05T01:28:58Z solvables: 26191
rpm-md repo 'fedora'; generated: 2022-11-05T08:04:38Z solvables: 66822
rpm-md repo 'updates-archive'; generated: 2023-03-05T02:07:31Z solvables: 28426
Resolving dependencies... done
Relabeling... done
Applying 4 overrides and 171 overlays
Processing packages... done
Running pre scripts... done
Running post scripts... done
Running posttrans scripts... done
Writing rpmdb... done
Generating initramfs... done
Writing OSTree commit... done
Staging deployment... done
Freed: 426,0 MB (pkgcache branches: 13)
Upgraded:
  kernel 6.1.14-200.fc37 -> 6.2.2-300.fc37
  kernel-core 6.1.14-200.fc37 -> 6.2.2-300.fc37
  kernel-modules 6.1.14-200.fc37 -> 6.2.2-300.fc37
  kernel-modules-extra 6.1.14-200.fc37 -> 6.2.2-300.fc37
Added:
  kernel-modules-core-6.2.2-300.fc37.x86_64
Use "rpm-ostree override reset" to undo overrides
Run "systemctl reboot" to start a reboot

I didn’t run the override with kernel-* since I thought I should have followed the kernel packages I had:

$ rpm -qa | grep kernel
kernel-core-6.1.14-200.fc37.x86_64
kernel-modules-6.1.14-200.fc37.x86_64
kernel-6.1.14-200.fc37.x86_64
kernel-modules-extra-6.1.14-200.fc37.x86_64

I could roll back and retry that for completeness, so we can ascertain that everything works as intended

1 Like

No need to retry. I can confirm that using kernel-*, between the RPMs contained in the download directory, only the already installed packages are taken into account.

1 Like

Excellent, then it’s all good now, will the documentation have to be changed accordingly?

(Also which answer should I mark as solution, is yours alright?)