OpenSUSE lp151.X+ sources?

I’m trying to find the sources for my specific kernel, 4.12.14-lp151.28.20-default, and actually a number of other SUSE kernels, for various versions of SUSE enterprise linux and OpenSUSE, for instance: 4.12.14-25.13-default

Through some searching I found the following link, and the following repositories on github:
https://kernel.opensuse.org/

https://github.com/openSUSE/kernel-source
https://github.com/openSUSE/kernel

Apparently these are what are used and automatically tagged in the daily builds, joy!

The kernel-source repository has the .configs, and the kernel repository is patched.

The issue is, the tags seem to only go up to lp150 releases.

For instance:
rpm-4.12.14-lp150.12.10
rpm-4.12.14-lp150.12.10–15.0-updates
rpm-4.12.14-lp150.12.13
rpm-4.12.14-lp150.12.13–15.0-updates
rpm-4.12.14-lp150.12.16
rpm-4.12.14-lp150.12.16–15.0-updates
rpm-4.12.14-lp150.12.19
rpm-4.12.14-lp150.12.19–15.0-updates
rpm-4.12.14-lp150.12.22
rpm-4.12.14-lp150.12.22–15.0-updates
rpm-4.12.14-lp150.12.25
rpm-4.12.14-lp150.12.25–15.0-updates
rpm-4.12.14-lp150.12.4
rpm-4.12.14-lp150.12.4–15.0-updates
rpm-4.12.14-lp150.12.7
rpm-4.12.14-lp150.12.7–15.0-updates

And these have been tagged from builds fairly recently.

My question is, how are the lp151, or lp152 kernels built? And where are they tagged from?

Is there anywhere I can find the sources for them?

  • Jason Thomas.

Hi and welcome to the Forum :slight_smile:
For the openSUSE Distribution we use the openSUSE Build Service here;

https://build.opensuse.org/

Searching for packages is here (YMMV) https://software.opensuse.org/search?

For kernel-default: https://software.opensuse.org/package/kernel-default

In a round about way you get to where it all happens here https://build.opensuse.org/project/show/Kernel:openSUSE-15.1

With an OBS account you can branch a revision and build locally or on OBS.

But you can just grab the version you want via zypper and install the src rpm (or use zypper to download only)?

Or browse the repository and grab from the src directory;

http://download.opensuse.org/update/leap/15.1/oss/src/

Each kernel package Provides kernel-srchash-$COMMIT which refers to kernel-source repository. E.g.:

bor@leap15:~> rpm -q --provides kernel-default-4.12.14-lp151.28.20.1.x86_64 | grep srchash
kernel-default-base-srchash-2982b5df46e3d69ecacdb63cd554df1b53a21c2a
kernel-default-srchash-2982b5df46e3d69ecacdb63cd554df1b53a21c2a
kernel-srchash-2982b5df46e3d69ecacdb63cd554df1b53a21c2a
bor@leap15:~> 

which corresponds to https://github.com/openSUSE/kernel-source/commit/2982b5df46e3d69ecacdb63cd554df1b53a21c2a

kernel-source is the primary repository. Other (patched sources) is derived and generated from it. Each commit in derived repository includes text that refers to kernel-source commit (suse-commit tag). Like

libnvdimm/altmap: Track namespace boundaries in altmap(bsc#1150305).


suse-commit: e873db511f8bda74e7cf2b8f4b882b49e091a8bf

I am not sure what is the most simple way to jump from kernel-source to patched kernel if that is what you need. You can use “git log --grep=‘suse-commit: $COMMIT’” but that is probably not the most efficient method.

I would suggest you try opensuse-kernel mailing list if you have more specific questions.

The issue I have is I want to be able to find the kernel source for all potentially released kernels, not necessarily just the ones that I have installed.

It looks like these commits all correspond to a commit by “Kernel Build Daemon”, so maybe it’s possible for me to walk the openSUSE-15.1 branch looking for these commits, and grab the config, then
somehow find the matching already patched kernel tree?

I’m trying to make a fallback mechanism that would be able to provide header bundles for an eBPF tracer to computers which may have out of date headers that are no longer being kept as a package in the openSUSE or SUSE Enterprise linux repositories.

I tried using the repositories first, and just the RPM packages provided, but it doesn’t keep an indefinite record (Maybe there is an archive somewhere?).

We have some customers that are on old SUSE kernels who refuse to upgrade due to internal policies.

Thanks for the help , if I can’t resolve the above strategy, then I will go ask on the specific kernel related forum.

It looks like, at least, all of the SUSE Enterprise 15 kernels are tagged somewhere, so I can at least start with just supporting SUSE Enterprise Linux 15.

Instead of re-inventing the wheel and re-building what may or may not have existed,
You might browse through the repositories at the following link…
You’ll find the last release for each repository that reached EOL.
Of course you won’t get every kernel that has ever been released, but you should see a number of the most important ones… both the kernel included in the DVD and the last kernel released in an OSS-update repo

https://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/

Even if you attempted to re-build, I can’t see how you can replicate what might have existed long ago, a current build would likely apply today’s patches…

TSU