- Use weak-modules if available so that on RHEL and its rebuilds the same LKRG
package build works across different kABI-compatible kernel revisions/builds
- Drop 32-bit x86 from ExclusiveArch since recent RHEL lacks such kernel-devel
The reported problem with integrity verification on ARM64 (#269)
is a result of a very tight race condition with tracepoints.
Changes which simplify synchronization with JUMP_LABEL engine:
f98da1b17c
affected differently ARM64 platform which made such race possible.
However, potentially the same race problem may exist on x86 and
this commit fixes it and should address #269
... for better debuggability. If non standard P_LKRG_JUMP_LABEL_STEXT_DEBUG
is enabled, it means that LKRG is being actively debugged.
In that case, we want to avoid unnecessary noise.
Ubuntu removed 'systemd-gpt-auto-generator' from systemd_253.5-1ubuntu5,
causing dracut to be unable to find the root partition without
assistance. It appears that specifying the root label could be a good
solution.
Fixes: https://github.com/lkrg-org/lkrg/issues/287
Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
Message on https://hub.docker.com/_/opensuse/
DEPRECATION NOTICE
These images were removed in favor of the opensuse/leap and
opensuse/tumbleweed images provided and maintained by the openSUSE
Project release team.
Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
Mkosi's own dracut hook, which is triggered from `dpkg -i`, calls
`dpkg-reconfigure` causing dpkg frontend lock conflict. But `initrd.img`
is generated correctly. Workaround by ignoring `dpkg-reconfigure` errors
in the hook.
dpkg: error: dpkg frontend lock was locked by another process with pid 5
Note: removing the lock file is always wrong, can damage the locked area
and the entire system. See <https://wiki.debian.org/Teams/Dpkg/FAQ#db-lock>.
run-parts: /etc/kernel/postinst.d/zz-systemd-boot exited with return code 2
Link: https://github.com/lkrg-org/lkrg/issues/283
Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
Linux kernel post-6.3 modified the 'struct module' and introduced a new
substructure describing module's memory layout. Additionally, the logic for
dynamic debug (ddebug) has been modified and some of the functions which LKRG
uses are no longer exported. This commit adopts to these post-6.3 changed and
addresses #267
Starting from kernel 5.14.0-162.12.1 (RHEL 9.1), a new 'text_poke_loc'
structure is used. This commit brings the support for such kernels as
well as addresses the #256 problem
Main (and only) branch of mkosi is switching to bleeding edge systemd
tools which are not available on Ubuntu we are testing on. Instead of
migrating off mkosi to something else, we can still use some previously
working tag such as `v14'.
Fixes: https://github.com/lkrg-org/lkrg/issues/253
Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
Add a new logic to the integrity verification routine verifying if the
kprobes are enabled and correctly run.
This commit makes kprobe verification functionality as an independent
module invoked by integrity verification routine as well as during
initialization to make sure kprobes are enabled and run as intended
(otherwise, initialization fails).
Starting from RHEL8.6 4.18.0-372.32.1.el8_6 kernel struct text_poke_loc
is not exported and we need to correctly take this into account.
Previous RHEL8.6 kernels did not hide this structure so we need to find
some ways to disinguish them. We do it in this commit and it should fix#236
For (non-grub) BLS boot - install generated by Dracut initrd into
systemd-boot loader entry.
Man pages for curious details: systemd-boot(7), bootctl(1),
kernel-install(8).
Link: https://github.com/lkrg-org/lkrg/pull/228#issuecomment-1235403740
Fixes: db42541 ("CI: mkosi: Do not assume grub is installed")
Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
mkosi' "--boot-protocols is deprecated and has no effect anymore", thus
do not assume we will be booting using grub/bios.
Fixes: https://github.com/lkrg-org/lkrg/issues/227
Signed-off-by: Vitaly Chikunov <vt@altlinux.org>