Commit Graph

729 Commits

Author SHA1 Message Date
Philipp Rudo
ee3b7a45dd kdump-lib: fix sed expression in prepare_cmdline on aarch64
Resolves: RHEL-40745

commit f3669ac67a8c4a05ba7a9c9b62ae8756e50a186b
Author: Philipp Rudo <prudo@redhat.com>
Date:   Tue Jun 18 14:57:16 2024 +0200

    kdump-lib: fix sed expression in prepare_cmdline on aarch64

    The sed expression misses a 's' for search and replace...

    Fixes: 0f6ad91 ("kdump-lib: fix prepare_cmdline")
    Signed-off-by: Philipp Rudo <prudo@redhat.com>

Signed-off-by: Philipp Rudo <prudo@redhat.com>
2024-07-09 15:20:24 +02:00
Philipp Rudo
021f5a146e kdumpctl: Drop default kexec '-d' option
Resolves: RHEL-46773

commit 3028529915d3026e62b59d8f3faadddd410baa75
Author: Philipp Rudo <prudo@redhat.com>
Date:   Fri Jun 14 11:48:24 2024 +0200

    kdumpctl: Drop default kexec '-d' option

    Kernel commits cbc2fe9d9cb2 ("kexec_file: add kexec_file flag to control
    debug printing") and a85ee18c7900 ("kexec_file: print out debugging
    message if required") added debug messages to the kexec_file_load system
    call when option -d is provided to the kexec user space tool. As
    kexec_file_load is the default and option -d is set by default these
    messages are always printed when a crash kernel is loaded. This not only
    clutters the kernel log but also potentially leaks confidential kernel
    information to users. As the messages are printed to the kernel log, not
    stderr, the redirection to /var/log/kdump.log won't catch them. This
    will become even more problematic as for RHEL10 the kernel will be built
    without support for the kexec_load system call. So kexec_file_load will
    be the only choice in the future.

    The redirection also caused confusion in a recent bug report. There a
    user moved a working /etc/sysconfig/kdump from ppc to s390 with
    KEXEC_ARGS containing the --dt-no-old-root option. This option is arch
    specific and does not exist on s390. Thus the kexec-tools failed with an
    'unrecognized option' error followed by the usage(). The problem was
    that the 'unrecognized option' error is printed to stderr, which got
    redirected to /var/log/kdump.log, while the usage() is printed to
    stdout, which ended up in the systemd journal. This caused confusion as
    the user only checked the journal and found the usage() without any
    error message.

    Thus remove the default -d option and the redirection of stderr to
    /var/log/kdump.log for the kexec-tools user space tool.

    This commit ultimately reverts 88a8b94 ("kdumpctl: add the '-d' option to
    enable the kexec loading debugging messages").

    Signed-off-by: Philipp Rudo <prudo@redhat.com>

Signed-off-by: Philipp Rudo <prudo@redhat.com>
2024-07-09 15:17:35 +02:00
Tao Liu
1bcff505ed Use "grep -q <<< $(cmd)" instead of "cmd | grep -q"
Resolves: RHEL-40948
Conflict: Yes, commented the diff code within the patch's commit log,
          otherwise the patch command will regard the diff code as regular
          patch hunk and fail.
Upstream: fedora

commit 98087d78eda2ca58a3b55ee5dd9e0e7bad8467ef
Author: Tao Liu <ltao@redhat.com>
Date:   Tue Jun 25 16:35:16 2024 +1200

    Use "grep -q <<< $(cmd)" instead of "cmd | grep -q"

    The following line of code's exit value should be the exit value of
    grep by default:

        cmd | grep -q

    However it will not always work as expected, a 141 exit code may be
    returned, see the following debug info:

    --- a/usr/lib/dracut/modules.d/99kdumpbase/module-setup.sh
    +++ b/usr/lib/dracut/modules.d/99kdumpbase/module-setup.sh
    @@ -55,6 +55,11 @@ depends() {
             _dep="$_dep ssh-client"
         fi

    +    dracut --list-modules 1>&2
    +    echo $? 1>&2
    +    dracut --list-modules | grep -q lvmthinpool-monitor
    +    echo $? ${PIPESTATUS[0]} ${PIPESTATUS[1]} 1>&2
    +
         if is_lvm2_thinp_dump_target; then
             if dracut --list-modules | grep -q lvmthinpool-monitor; then
                 add_opt_module lvmthinpool-monitor

    $ kdumpctl rebuild
    kdump: Rebuilding /boot/initramfs-6.10.0-0.rc4.11.el10.x86_64kdump.img
    ...snip...
    lvmmerge
    lvmthinpool-monitor
    ..snip...
    uefi-lib
    0
    141 141 0

    The reason is, grep exits immediately when there is a match but the
    first cmd still keep writing to the pipe. Since there is no reader,
    a SIGPIPE signal is generated. As a result, a 141 exit code will be
    returned.

    Let's use the following line of code instead, which have the same effect
    but works as expected:

        grep -q <<< $(cmd)

    Signed-off-by: Tao Liu <ltao@redhat.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
2024-06-28 15:15:14 +12:00
Troy Dawson
54cb91011c Bump release for June 2024 mass rebuild 2024-06-24 08:53:37 -07:00
Tao Liu
90e4406c58 Release 2.0.28-12
Resolves: RHEL-40200

Signed-off-by: Tao Liu <ltao@redhat.com>
2024-06-19 09:11:53 +08:00
Lichen Liu
a331745281
Release 2.0.28-11
Resolves: RHEL-36415
Resolves: RHEL-37670

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-06-11 11:07:59 +08:00
Lichen Liu
426b9269b8
Re apply upstream patches
We should use PatchXX to apply upstream kdump-utils
patches instead of directly merge them into git.

Resolves: RHEL-36415
Resolves: RHEL-37670
Upstream: https://github.com/rhkdump/kdump-utils/
Conflict: None

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-06-11 11:05:24 +08:00
Lichen Liu
8eb8788a91
Release: 2.0.28-10
Resolves: RHEL-37670
Resolves: RHEL-36415

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-05-31 17:22:09 +08:00
Lichen Liu
db3fff0dda
Rebase to the latest upstream
Release: 2.0.28-10
Resolves: RHEL-36415

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-05-31 11:41:42 +08:00
Lichen Liu
18b7f069cc
Release 2.0.28-9
Resolves: RHEL-29044

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 14:20:01 +08:00
Lichen Liu
ab539cd801
makedumpfile: remove explicit-lib-dependency zlib
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit b3620b0dbc3e0fb9a92ab5faf34ac3b4e7bb7bd9
Author: Coiby Xu <coxu@redhat.com>
Date:   Tue Apr 9 09:25:48 2024 +0800

    makedumpfile: remove explicit-lib-dependency zlib

    Fix the following error found by rpmlint,
        makedumpfile.x86_64: E: explicit-lib-dependency zlib
        You must let rpm find the library dependencies by itself. Do not put unneeded
        explicit Requires: tags.

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Reviewed-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-by: Dave Young <dyoung@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 10:35:57 +08:00
Lichen Liu
f46074e711
kexec-tools: use make_install
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit 2ed88633ade0f1e5523d8097d96df3fde1287ea7
Author: Coiby Xu <coxu@redhat.com>
Date:   Tue Apr 9 09:04:11 2024 +0800

    kexec-tools: use make_install

    use consistent build flags  %make_install to have the benefits like
    enabling parallel building automatically.

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Reviewed-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-by: Dave Young <dyoung@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 10:27:12 +08:00
Lichen Liu
612b6d7395
Upstream kdump-utils
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit fe372afddde500249cd02fc3f152a164cfed321f
Author: Coiby Xu <coxu@redhat.com>
Date:   Fri Mar 1 17:37:24 2024 +0800

    Upstream kdump-utils

    This patch upstreams the to-be-split-out kdump-utils to
    https://github.com/rhkdump/kdump-utils. And it also simplify the .spec
    file by putting the installation logic into a Makefile.

    Cc: Philipp Rudo <prudo@redhat.com>
    Cc: Carl George <carl@redhat.com>
    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Reviewed-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-by: Dave Young <dyoung@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 10:25:49 +08:00
Lichen Liu
fc4e80cba7
Supported targets: Import from CentOS Stream 9
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit b6a066db5368d53a5e460ca1c948c0b43d66b1ef
Author: Philipp Rudo <prudo@redhat.com>
Date:   Thu Feb 8 17:06:11 2024 +0100

    Supported targets: Import from CentOS Stream 9

    In CentOS Stream a list of supported targets is maintained. Where
    "supported" means that these targets are tested regularly. Even though
    there are some small differences between CentOS Stream and Fedora when
    it comes to provided/supported packages and kernel configs, having this
    list in Fedora as well makes sense. As it provides a entry point for
    users to find out if a given setup is meant to work or not. Thus include
    the supported-kdump-targets.txt from CentOS Stream 9 [1] into Fedora.

    [1] 0a09d12d89/supported-kdump-targets.txt

    Signed-off-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-by: Coiby Xu <coxu@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 10:24:23 +08:00
Lichen Liu
b722e4bda8
Add URL for kexec-tools and kump-utils
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit 3fa5df9a684f63e9aa5b42a4c9de538d3be457ed
Author: Coiby Xu <coxu@redhat.com>
Date:   Mon Apr 8 13:17:23 2024 +0800

    Add URL for kexec-tools and kump-utils

    Suggested-by: Dave Young <dyoung@redhat.com>
    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Reviewed-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-by: Dave Young <dyoung@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 10:06:17 +08:00
Lichen Liu
61137b101b
makedumpfile: re-use source Makefile's install logic
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit f7bd239656269ea777454fe6c541aa0decaa4545
Author: Coiby Xu <coxu@redhat.com>
Date:   Tue Apr 9 07:26:13 2024 +0800

    makedumpfile: re-use source Makefile's install logic

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Reviewed-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-by: Dave Young <dyoung@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 10:06:02 +08:00
Lichen Liu
b2d9f8e184
Remove unused scriptlets
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit a442b4e51222114cbed354f298fce8f37c88cc75
Author: Coiby Xu <coxu@redhat.com>
Date:   Tue Mar 26 19:08:00 2024 +0800

    Remove unused scriptlets

    Suggested-by: Philipp Rudo <prudo@redhat.com>
    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Reviewed-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-by: Dave Young <dyoung@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 10:05:40 +08:00
Lichen Liu
82390462df
Don't disrupt current kdump users
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit c7683d8aabdbbbaaefdeee4a3e6c35482dca48c7
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Feb 29 11:18:00 2024 +0800

    Don't disrupt current kdump users

    Majority of current kexec-tools users have installed kexec-tools out of
    the need for the kdump feature. To ensure a smooth transition, add
    kdump-utils as weak dependency. If users only want to use kexec-tools,
    they can uninstall kdump-utils.

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Suggested-by: Carl George <carl@redhat.com>
    Reviewed-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-by: Dave Young <dyoung@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 10:05:23 +08:00
Lichen Liu
87c1eb4bc4
Don't systemctl preset kdump when updating kexec-tools to kdump-utils
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit 5fe098fec8eb19a942a608f19324601066c0467d
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Feb 29 11:05:14 2024 +0800

    Don't systemctl preset kdump when updating kexec-tools to kdump-utils

    When an old version of kexec-tools gets replaced by kdump-utils,
    "%systemd_post" will be executed in the post scriptlet which has the
    purpose to "systemctl preset kdump" for freshly installed kexec-tools.
    But in the case of kdump-utils replacing kexec-tools, it is not needed
    so skip this case.

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Suggested-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
    Reviewed-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-by: Dave Young <dyoung@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 10:05:09 +08:00
Lichen Liu
63441edc2d
Add kdump-utils subpackage
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit 372b4c6c1597c3d9aaddda2d691260474973989e
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Feb 29 10:23:51 2024 +0800

    Add kdump-utils subpackage

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Reviewed-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-by: Dave Young <dyoung@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 10:04:55 +08:00
Lichen Liu
27964382f6
Release 2.0.26-7
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit 20dc67f0ea5bd73289be99666cf0871c5ad7a6e6
Author: Coiby Xu <coxu@redhat.com>
Date:   Sun Apr 7 14:49:11 2024 +0800

    Release 2.0.26-7

    Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2269991

    Signed-off-by: Coiby Xu <coxu@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 10:04:27 +08:00
Lichen Liu
06bb5a10de
Release 2.0.28-6
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit f9986edd25e8b414b2fc7f11f08d6d8f51a9b843
Author: Coiby Xu <coxu@redhat.com>
Date:   Sat Mar 16 10:22:54 2024 +0800

    Release 2.0.28-6

    Resovles: https://bugzilla.redhat.com/show_bug.cgi?id=2269640

    Let kexec-tools depends on makedumpfile.

    Signed-off-by: Coiby Xu <coxu@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 09:56:57 +08:00
Lichen Liu
73a0832b36
Add a makedumpfile subpackage
Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit ec3bccdf326881decd13f0ac7b4558f4a22875bd
Author: Carl George <carlwgeorge@fedoraproject.org>
Date:   Fri Feb 23 16:32:28 2024 -0600

    Add a makedumpfile subpackage

Signed-off-by: Lichen Liu <lichliu@redhat.com>
2024-04-29 09:41:34 +08:00
Coiby Xu
4eec72b56b 2.0.28 upstream release
Upstream tag: v2.0.28
Upstream commit: 328de8e0

Signed-off-by: Coiby Xu <coxu@redhat.com>
2024-02-02 20:13:00 +08:00
Fedora Release Engineering
95f086ca9f Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-24 23:55:58 +00:00
Fedora Release Engineering
753e5060d7 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 00:15:51 +00:00
Coiby Xu
d78cab14bc 2.0.28 upstream release
Upstream tag: v2.0.28
Upstream commit: adef8a8e

Signed-off-by: Coiby Xu <coxu@redhat.com>
2024-01-17 13:51:27 +08:00
Coiby Xu
00d40c448b Release 2.0.27-5
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-12-11 18:17:57 +08:00
Coiby Xu
bc31f6dd0f Let %post scriptlet always exits with the zero exit status
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2247940

Currently, CoreOS image fails to be built. This is because since commit
00c37d8c ("spec: Drop special handling for IA64 machines"), the last
command is now servicelog_notify and it fails to run in such
invocation environment. Thus the %post scriptlet returns a non-zero
exit code which breaks package installation,

    Running scriptlet: kexec-tools-2.0.27-4.fc40.ppc64le
    /proc/ is not mounted. This is not a supported mode of operation. Please fix your invocation environment to mount /proc/ and /sys/ properly. Proceeding anyway. Your mileage may vary.
    servicelog_notify: is not supported on the Unknown platform
    warning: %post(kexec-tools-2.0.27-4.fc40.ppc64le) scriptlet failed, exit status 1
    Error in POSTIN scriptlet in rpm package kexec-tools

Quoting [1],
> Non-zero exit codes from scriptlets can break installs/upgrades/erases
> such that no further actions will be taken for that package in a
> transaction (see Ordering), which may for example prevent an old version
> of a package from being erased on upgrades, ...
>
> All scriptlets MUST exit with the zero exit status. Because RPM in its
> default configuration does not execute shell scriptlets with the -e
> argument to the shell, excluding explicit exit calls (frowned upon with
> a non-zero argument!), the exit status of the last command in a
> scriptlet determines its exit status...
>
> Usually the most important bit is to apply this to the last command
> executed in a scriptlet, or to add a separate command such as plain “:”
> or “exit 0” as the last one in a scriptlet.

Following the above suggestion, add a separate command ":" as the last
one to the %post scriptlet.

[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/

Reported-by: Colin Walters <walters@redhat.com>
Cc: Dusty Mabe <dustymabe@redhat.com>
Cc: Philipp Rudo <prudo@redhat.com>
Fixes: 00c37d8c ("spec: Drop special handling for IA64 machines")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-12-11 18:16:30 +08:00
Coiby Xu
cb761c7224 Release 2.0.27-4
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-11-08 11:28:28 +08:00
Coiby Xu
c9ac933cc2 Release 2.0.27-3
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-10-17 13:54:48 +08:00
Coiby Xu
5058cef90c Release 2.0.27-2
This release fixes https://datawarehouse.cki-project.org/kcidb/tests/9435999.

Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-10-13 11:00:07 +08:00
Coiby Xu
7af94019cf [packit] 2.0.27 upstream release
Upstream tag: v2.0.27
Upstream commit: 2495ccfc
2023-10-10 15:58:01 +08:00
Philipp Rudo
00c37d8c2c spec: Drop special handling for IA64 machines
The two systems are IA64 based which is no longer supported by Fedora
and was only supported in RHEL up to RHEL5. So it is safe to simply drop
the special handling. In case it is still wanted nevertheless the
special handling should be added to kdump-lib.sh:prepare_cmdline rather
than editing the sysconfig in the spec file.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
d89459c5ec spec: Silence unversioned Obsolete warning
rpmbuild throws a warning with

    line 80: It's not recommended to have unversioned Obsoletes: Obsoletes: diskdumputils netdump kexec-tools-eppic

In that diskdump and netdump were last used in RHEL4 and
kexec-tools-eppic was removed with Fedora 22. There is no supported
update path in which a current package could replace one of these three.
Thus simply drop the Obsoletes.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
8e0b3598c1 spec: Clean up handling of dracut files
Currently the dracut modules are first prepared in a temporary directory
before they are moved to modules.d. All the preparation work can be done
by a single call to 'install' per file. Thus get rid off the indirection
and install the dracut modules directly to modules.d.

While at it merge the three macros to remove the prefix into one.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Coiby Xu
98c7c6ee6a [packit] 2.0.27 upstream release
Upstream tag: v2.0.27
Upstream commit: 17590eed
2023-08-31 11:29:43 +08:00
Fedora Release Engineering
b725cdb45e Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 08:42:47 +00:00
Coiby Xu
52a034eb10 Use SPDX licence
Convert to SPDX license by https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_2,
    # license-fedora2spdx GPLv2
    GPL-2.0-only

Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-07-04 11:56:11 +08:00
Lichen Liu
daa829f79e spec: kdump/ppc64: make servicelog_notify silent when there are no errors
There is confusing message in /var/log/anaconda/packaging.log when installing
kexec-tools during the system installation on ppc64le:

	Event Notification Registration successful (id: 1)

Make servicelog_notify slient when there are no erros.

Signed-off-by: Lichen Liu <lichliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-06-25 10:42:02 +08:00
Coiby Xu
471c136481 Release 2.0.26-7
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-06-14 17:39:41 +08:00
Timothée Ravier
eabbf9d6a0 Whitespace fixes 2023-06-02 13:11:01 +02:00
Timothée Ravier
4da1ffe730 Make binutils a recommend as it's only needed for UKI support
UKI are not supported on rpm-ostree based Fedora variants so let's use
recommend for binutils for now to let those not include the package
until needed.

See: https://github.com/coreos/fedora-coreos-tracker/issues/1496
See: https://github.com/ostreedev/ostree/issues/2753
See: ea7be0608e
2023-06-02 13:11:01 +02:00
Coiby Xu
4311534c85 Release 2.0.26-5
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-05-29 17:42:49 +08:00
Coiby Xu
5b31b099ae Simplify the management of the kernel parameter crashkernel
Currently, kexec-tools only updates the crashkernel to a new default
value only when both two conditions are met,
 - auto_reset_crashkernel=yes in kdump.conf
 - existing kernels or current running kernel should use the old default
   value.

To address seen corner cases, the logic to tell if the second condition
is met becomes quite complex. Instead of making the logic more complex
to support aarch64-64k, this patch drops the second condition to
simplify the management of the crashkernel kernel parameter.

Another change brought by this simplification is kexec-tools will also
set up the kernel crashkernel parameter for a fresh install (previously
it's limited to osbuild).

Note
1. This patch also stop trying to update /etc/default/grub because
   a) it only affects the static file /boot/grub2/grub.cfg
   b) grubby is recommended to change the kernel command-line parameters
      for both Fedora [1] and RHEL9 [2][3]
   c) For the cases of aarch64 and POWER, different kernels could have
      different default crashkernel value.

2. Starting with Fedora 37,  posttrans rpm scriplet distinguish between
   package install and upgrade.

[1] https://fedoraproject.org/wiki/GRUB_2
[2] https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_monitoring_and_updating_the_kernel/configuring-kernel-command-line-parameters_managing-monitoring-and-updating-the-kernel#changing-kernel-command-line-parameters-for-all-boot-entries_configuring-kernel-command-line-parameters
[3] https://access.redhat.com/solutions/1136173

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-05-29 14:40:57 +08:00
Coiby Xu
5e3d629da7 Release 2.0.26-4
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-05-16 09:44:56 +08:00
Kairui Song
c8643af270 mkdumprd: add --aggressive-strip as default dracut args
The new aggressive strip option was added in dracut 058, which tell
dracut to build the initramfs stripping more sections of the ELF
binaries (basically strip .symtab, .strtab).

These section are only useful for debugging runtime failures, but in
kdump kernel, neccessary tools for debug any runtime failure are
absent, there is no point keeping these sections.

Stripping these section can help save some memory with almost no side
effect. So let enable --aggressive-strip by default.

Comparison of unpacked initramfs before / after enabling aggressive strip:

du -hs image image.aggressive-strip
31M     image
29M     image.aggressive-strip

Signed-off-by: Kairui Song <kasong@tencent.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-05-16 09:21:13 +08:00
Philipp Rudo
ea7be0608e kdumpctl: Add basic UKI support
A Unified Kernel Image (UKI) is a single EFI PE executable combining an
EFI stub, a kernel image, an initrd image, and the kernel command line.
They are defined in the Boot Loader Specification [1] as type #2
entries. UKIs have the advantage that all code as well as meta data that
is required to boot the system, not only the kernel image, is combined
in a single PE file and can be signed for EFI SecureBoot. This extends
the coverage of SecureBoot extensively.

For RHEL support for UKI were included into kernel-ark with 16c7e3ee836e
("redhat: Add sub-RPM with a EFI unified kernel image for virtual
machines").

There are two problems with UKIs from the kdump point of view at the
moment. First, they cannot be directly loaded via kexec_file_load and
second, the initrd included isn't suitable for kdump. In order to enable
kdump on systems with UKIs build the kdump initrd as usual and extract
the kernel image before loading the crash kernel.

[1] https://uapi-group.org/specifications/specs/boot_loader_specification/

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-05-16 09:21:13 +08:00
Philipp Rudo
0ff44ca6e8 kdumpctl: fix is_dracut_mod_omitted
The function is pretty broken right now. To start with the -o/--omit
option allows a quoted, space separated list of modules. But using 'set'
breaks quotation and thus only considers the first element in the list.
Furthermore dracut uses getopt internally. This means that it is also
possible to pass the list via --omit=.

Fix the function by making use of getopt for parsing the dracut_args.
While at it also add a test cases to cover the functions.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-04-17 14:49:51 +08:00
Coiby Xu
b41cab7099 Release 2.0.26-3
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:39:35 +08:00