How to install kernel-lt-tools-libs in CentOS/RHEL 7 (x86_64)
Libraries for the kernel tools.
Install
sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm sudo yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm sudo yum -y install kernel-lt-tools-libs
Description
This package contains the libraries built from the tools/ directory, derived from the kernel source.
RPMs
Danila Vershinin (2026-06-04)
—
- %posttrans: unconditionally run grub2-mkconfig at the end of the · post-install scriptlet so every kernel gets a unique, filename-derived · $menuentry_id_option. grubby --add-kernel (invoked by new-kernel-pkg in · %post) clones an existing menuentry as a template and copies the · template's id verbatim; on hosts where the cloned template belongs to · a different kernel family (mixed Linode helper, stock 3.10 kernel-el7 · still installed alongside kernel-lt, freshly-flipped grub-legacy to · GRUB 2), two menuentries end up sharing one id and GRUB_DEFAULT=saved · selection becomes non-deterministic. Surfaced on web.smartycode.com · 2026-06-04: the -5 install ended up sharing an id with the stock · 3.10.0-1160.119.1.el7 entry and the host booted -4 instead of -5. · - Upstream ELRepo kernel-lt-5.4.spec and RHEL 7 stock kernel.spec both · delegate entirely to new-kernel-pkg/grubby and never call grub2-mkconfig · themselves. EL8+/Fedora switched to kernel-install + BLS where each · kernel becomes its own /boot/loader/entries/*.conf and the id-collision · bug class does not exist. EL7 has no BLS, so this explicit regen is · the durable workaround. The earlier vmlinuz-path self-heal in · %posttrans is kept as a belt-and-braces pass and as a clean revert · point if the unconditional regen ever misbehaves on a customer host. · - Both BIOS /boot/grub2/grub.cfg and UEFI /boot/efi/EFI/centos/grub.cfg · paths covered; mkconfig failure logs a WARN but does not abort the · transaction. · - Release counter only; no kernel source changes.
Danila Vershinin (2026-06-02)
—
- Disable CONFIG_MODULE_SIG (and the dependents MODULE_SIG_ALL, · MODULE_SIG_SHA512, MODULE_SIG_HASH, MODULE_SIG_KEY*) so the kernel · stops tainting itself with TAINT_UNSIGNED_MODULE (bit 13). The build · pipeline does not enroll signing keys, so leaving signing enabled · caused every in-tree module load (drm, etc.) to dmesg · "module verification failed: signature and/or required key missing" · and flip the taint bit. Matches ELRepo's kernel-lt convention · (signing not enforced); customers needing signed modules can rebuild · from SRPM with a local key. · - Disable CONFIG_SECURITY_LOCKDOWN_LSM (and SECURITY_LOCKDOWN_LSM_EARLY, · drop "lockdown" from CONFIG_LSM list). The lockdown LSM carries · `select MODULE_SIG if MODULES`, which made the MODULE_SIG disable above · impossible to land as long as lockdown was on. The corecare kernel was · already shipping with CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y (lockdown · was inert at boot), so removing the LSM itself is a no-op for the · default runtime posture. Customers needing kernel lockdown can rebuild · from SRPM with both lockdown and a self-enrolled signing key. · - Release counter only; no kernel source changes.
Danila Vershinin (2026-05-23)
—
- Replace the upstream x86_64_defconfig seed with ELRepo el9's curated · config-6.1.173-x86_64 (~10k lines, ~4k modules, ~2.5k builtins). The · spec's existing `make olddefconfig` step in %prep resolves symbol drift · forward to 6.18.32 against upstream defaults for any symbols added · between 6.1 and 6.18. Result: boot drivers (virtio_blk, virtio_net, · virtio_scsi, sd_mod, ext4) now ship as =m alongside non-KVM paravirt · (xen_blkdev_frontend, xen_netdev_frontend, hyperv_storage, hyperv_net, · vmware_pvscsi, vmxnet3) — matching the convention used by RHEL/CentOS, · ELRepo, Fedora and Oracle UEK. The virtio bus (CONFIG_VIRTIO_PCI) stays · builtin. With drivers now modular, dracut --hostonly produces a · meaningfully smaller initramfs and shipping a portable-initramfs · drop-in becomes worth revisiting. · - Coverage of non-KVM hypervisor families (Xen-PV, Hyper-V, VMware) is · verified by config-grep audit and `rpm -qlp | grep '.ko$'` at build · time, not by cold-booting on each platform. The Linode KVM sandbox · proves the KVM path end-to-end. Per-hypervisor sandbox proof is not in · scope; treat any non-KVM customer report as a hotfix trigger. · - Future work for EL8+ targets: add `Recommends: dracut-config-generic` · so dracut policy ships in its own package, per EL convention. EL7's · yum 3.x has no weak-dep support so this is intentionally not added in · this iteration. · - Release counter only; no kernel source changes (Patch1-3 unchanged).
Danila Vershinin (2026-05-23)
—
- Drop /etc/dracut.conf.d/01-corecare-portable.conf shipped in 6.18.32-2. · Verification on a prod-clone EL7 sandbox confirmed the drop-in was a no-op: · the upstream x86_64_defconfig we currently build from compiles virtio_blk, · virtio_pci, virtio_scsi, virtio_net, sd_mod and ext4 as CONFIG_*=y (builtin · to vmlinuz) rather than =m, so hostonly=no/yes does not change initramfs · size or contents (~17 MB either way). Additionally, shipping a dracut.conf.d · file from a kernel package violates EL convention — stock RHEL/CentOS 7, · ELRepo kernel-lt el7/el8/el9, and Fedora rawhide all delegate dracut policy · to separate config packages (dracut-config-generic, dracut-config-rescue) · and never override it from the kernel RPM. Shipping it from here would · silently stomp admin policy on every install. · - %posttrans grub.cfg fallback added in 6.18.32-2 is retained — that is the · actual fix for the prod failure on 2026-05-22, and verification confirmed · it correctly handles the "grubby fatal error: unable to find a suitable · template" failure mode via grub2-mkconfig regeneration. · - Follow-up tracked in README: adopt an ELRepo-style curated config (boot · drivers as =m) so the portable-initramfs question becomes meaningful, then · Recommends: dracut-config-generic on EL8+. · - Release counter only; no kernel source changes.
Danila Vershinin (2026-05-22)
—
- Switched LTS line from 6.6 to 6.18 — longer support window (EOL Dec 2028 · vs Dec 2027) and freshest LTS for a new product line. CopyFail / CVE-2026-31431 · fix is also in 6.18.32 (verified out-of-place rewrite in crypto/algif_aead.c). · - Added %posttrans scriptlet: rewrites `crashkernel=auto` in /etc/default/grub · to `crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M` so kdump works out of the · box on upstream kernels (which lack RHEL's CONFIG_KEXEC_AUTO_RESERVE patch). · Matches the same value Fedora and RHEL 9 ship after they dropped =auto. · - Added devtoolset-9-make BuildRequires and overrode /opt/rh/devtoolset-9/root/usr/bin/make — kernel 6.18+ · needs GNU Make >= 4.0; EL7 system make is 3.82. devtoolset-9 ships make 4.2.1. · - Added Patch1 (modpost ARM relocs) — kernel 6.18's scripts/mod/modpost.c · references modern R_ARM_* relocation constants that EL7's glibc-headers-2.17 · elf.h lacks. The patch provides fallback #ifndef defines so the host build · of modpost compiles on EL7. No-op on glibc >= 2.20. · - Added Patch2 (gen_init_cpio copy_file_range fallback) — kernel 6.18's · usr/gen_init_cpio.c uses copy_file_range() unconditionally; EL7's glibc 2.17 · lacks that wrapper (added in glibc 2.27). Patch2 supplies a syscall-based · fallback gated on __GLIBC_PREREQ(2, 27). No-op on glibc >= 2.27. · - Added Patch3 (turbostat reallocarray fallback) — tools/power/x86/turbostat · uses reallocarray() (added in glibc 2.26); EL7's glibc 2.17 lacks it. · Patch3 inlines an overflow-checked fallback. No-op on glibc >= 2.26.
Danila Vershinin (2026-05-22)
—
- Forked from ELRepo kernel-lt-5.4.spec; rebased onto kernel.org 6.6.x LTS. · - First CoreCare release. ELRepo retired EL7 kernel maintenance in Jan 2025; · CoreCare ships a free, community LTS kernel for EL7 under the GetPageSpeed brand. · - Source0 retargeted from v5.x to v6.x. · - Includes CopyFail / CVE-2026-31431 fix — already carried into 6.6.y upstream · by the time 6.6.140 was cut (2026-05-17). No downstream patch required. · - %prep: listnewconfig hard-fail replaced with `make olddefconfig` so new · upstream config options auto-resolve to defaults during early CoreCare · iterations. To be replaced with a curated full config in subsequent releases. · - ELRepo changelog history preserved below for GPLv2 attribution.