View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0017562 | CentOS-8 | kernel-plus | public | 2020-07-05 20:31 | 2020-07-22 22:28 |
Reporter | toracat | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Summary | 0017562: initramfs is not regenerated for kernel-plus upon microcode updates | ||||
Description | When the microcode_ctl package is installed/updated, the initramfs file is supposed to be regenerated. This does not happen with kernel-plus. The explanation is in the posttrans scriptlet of microcode_ctl. rpm -q --scripts microcode_ctl [quote] ... # For RPM selection, kernel flavours (like "debug" or "kdump" or "zfcp", # with only the former being relevant to x86 architecture) are a part or RPM # name; it's also a part of uname, with different separator used in RHEL 6/7 # and RHEL 8. RT kernel, however, is special, as "rt" is another part # of RPM name and it has its own versioning scheme both in NVR and uname. # And there's the kernel package split in RHEL 8, so one should look for *-core # and not the main package. pkgs="kernel kernel-debug kernel-rt kernel-rt-debug" ... [/quote] | ||||
Additional Information | See also, https://elrepo.org/bugs/view.php?id=1013 | ||||
Tags | No tags attached. | ||||
According to the procedure applied to ELRepo's kernel-ml el8, adding the following triggerin section to the spec file of kernel-plus is supposed to cause re-generation of initramfs when microcode_ctl is updated: %triggerin -n %{name}-core -- microcode_ctl KVERSION=%{pkg_version}-%{pkg_release}.%{_target_cpu} if [ -e "/lib/modules/$KVERSION/modules.dep" ]; then %{_bindir}/dracut -f --kver $KVERSION fi This did work for kernel-ml el8 but failed with kennel-plus. The dracut command was not executed. Now investigating why. |
|
Just to exclude the possibility that the macros, %{name} and %{_bindir} are not being expanded correctly, I replaced them with real values: %triggerin -n kernel-plus-core -- microcode_ctl KVERSION=%{pkg_version}-%{pkg_release}.%{_target_cpu} if [ -e "/lib/modules/$KVERSION/modules.dep" ]; then /usr/bin/dracut -f --kver $KVERSION fi That did not make any difference. I also (re-)confirmed the triggerin scriptlet worked for kernel-ml el8. |
|
oh my, oh my, oh my bad ! It is always the last thing left to check that is BAD. Turns out KVERSION was incorrect. This is the correct one: %triggerin -n %{name}-core -- microcode_ctl KVERSION=%{version}-%{release}.%{_target_cpu} if [ -e "/lib/modules/$KVERSION/modules.dep" ]; then %{_bindir}/dracut -f --kver $KVERSION fi |
|
The fix is in kernel-plus-4.18.0-193.13.2.el8_2.centos.plus. | |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-07-05 20:31 | toracat | New Issue | |
2020-07-05 20:32 | toracat | Relationship added | related to 0017539 |
2020-07-05 20:33 | toracat | Status | new => assigned |
2020-07-05 20:34 | toracat | Additional Information Updated | |
2020-07-06 21:21 | toracat | Note Added: 0037314 | |
2020-07-09 15:11 | toracat | Note Added: 0037346 | |
2020-07-11 17:04 | toracat | Note Added: 0037354 | |
2020-07-22 22:28 | toracat | Status | assigned => resolved |
2020-07-22 22:28 | toracat | Resolution | open => fixed |
2020-07-22 22:28 | toracat | Note Added: 0037398 |