5 ms·
RHEL kernels are heavily patched, i.e. stuff gets backported from new kernels, sometimes even from -rc if needed. The version number is therefore not that usefu
by gicmo 8y ago
RHEL kernels are heavily patched, i.e. stuff gets backported from new kernels, sometimes even from -rc if needed. The version number is therefore not that useful.
Some call it a Frankenkernel. :)
- kbenson 8y agoThe nice thing is that it's all fully documented. If you download the kernel src.rpm[1] and install it, you'll get the kernel RPM spec file in your default RPM build environment paths (or use rpm2cpio $KERNEL_SRPM | cpio -idmv). The way the RPM building works is to take a vanilla kernel and then apply a LOT of individual patch files to it, each with their own entry. Well, at least that's how it was a long time ago when I messed with this stuff more, but it looks like it may be a bit different now (I just did what I proposed), at least with the downstream CentOS kernel. I stopped having to care about this mostly back around the time when Oracle forked RHEL/CentOS into Oracle Linux and RedHat wasn't happy about Oracle piggybacking on their kernel testing for a paid product (as opposed to CentOS). I think maybe RedHat ships the kernel tar mostly pre-patched in-house now. I may have some of the details wrong in that, but it sounds right to me. It's easy to blame Oracle for why we can't have nice things anymore, because usually it's true. :/ Edit: Ah, I found one like what I was talking about[2], it has 5697 patches included! The most recent 5 series kernel (5.11) didn't have a lot of patches, but 5.6 did. There might be some 6.x series ones like that as well, I don't recall. 1: http://vault.centos.org/centos/7/os/Source/SPackages/kernel-3.10.0-862.el7.src.rpm http://vault.centos.org/centos/7/os/Source/SPackages/kernel-... 2: http://vault.centos.org/5.6/os/SRPMS/kernel-2.6.18-238.el5.src.rpm http://vault.centos.org/5.6/os/SRPMS/kernel-2.6.18-238.el5.s...
- danieldk 8y agoI think maybe RedHat ships the kernel tar mostly pre-patched in-house now. Yes, this was in the news a couple of years ago. They do not include separate patches anymore: https://lwn.net/Articles/430098/ https://lwn.net/Articles/430098/ https://www.theregister.co.uk/2011/03/04/red_hat_twarts_oracle_and_novell_with_change_to_source_code_packaging/ https://www.theregister.co.uk/2011/03/04/red_hat_twarts_orac...
- makomk 8y agoYeah, as of a few years ago Red Hat only give access to the proper broken-out set of patches they include in their kernel to paying customers, and they make those customers sign a contract agreeing not to distribute those patches. (They're also the only major distro who doesn't cooperate with the upstream stable releases.)
- kevin_thibedeau 8y agoHow is that not a GPL violation?
- kbenson 8y agoThe source code is released, it's just the formatting that has changed. Presumably the contract is around the extra effort RedHat puts into making the source nice and easily manageable by providing what they used to by default, a pristine kernal and a bunch of patches to apply. The normal method now is that they provide a large, pre-patches kernel source, which is then built. In both cases, the same code source is used for building,it's just the transformations before the building which are different, so that's likely how it doesn't violate the GPL. The GPL says the source must be shipped, but it makes no provisions for how easy it is to read. It's sort of like if you shipped a JS lib as minified to comply with the GPL, but have a separate non-minified version to develop on in-house. In the end, it doesn't stop anyone from downloading and compiling their own RedHat kernel as CentOS does, and Oracle Linux did(does?), but it does make it harder (not impossible) for Oracle to come in to RHEL customers and say "hey, stop your RHEL contracts, and pay us instead, and we'll support your systems without you having to reinstall." which is capitalizing on RedHat's packaging and testing work.
- lathiat 8y agoOracle then started a project to break them back out again. Last update seems to be November 2017 though. https://oss.oracle.com/projects/RedPatch/ https://oss.oracle.com/projects/RedPatch/