Resolves: https://issues.redhat.com/browse/RHEL-7028
Currently, nfs dumping fails on some machines that has a dedicated PHY
driver (dealing with the physical layer) or MDIO bus (connecting the MAC
to PHY devices) driver. This is because kexec-tools doesn't install
dedicated PHY or MDIO driver explicitly and the NIC driver don't specify
the dependency on the needed PHY or MDIO driver. So when the dependency
on a PHY driver or MDIO driver is not found by dracut's instmods, the
PHY or MDIO driver won't be installed.
This patch passes =drivers/net/phy and =drivers/net/mdio to dracut's
instmods which will only install in-use PHY or MDIO driver(s).
Note ideally we should find out which PHY driver is used by a NIC but
unfortunately currently no universal way can be found
(/sys/class/net/NIC_NAME/device/driver/module can be used to find the
name of the PHY driver for some NICs but it doesn't exist for some NICs
like Qualcomm Atheros AR8031). So is it for a MDIO bus driver.
Fortunately currently no huge memory consumption is found for a PHY or
MDIO driver.
Fixes: a65dde2d ("Reduce kdump memory consumption by only installing needed NIC drivers")
Reported-by: Doreen Alongi <dalongi(a)redhat.com>
Signed-off-by: Coiby Xu <coxu(a)redhat.com>
---
dracut-module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh
index ff53d084..905e6fbd 100755
--- a/dracut-module-setup.sh
+++ b/dracut-module-setup.sh
@@ -381,7 +381,7 @@ _get_hpyerv_physical_driver() {
kdump_install_nic_driver() {
local _netif _driver _drivers
- _drivers=()
+ _drivers=('=drivers/net/phy' '=drivers/net/mdio')
for _netif in $1; do
[[ $_netif == lo ]] && continue
--
2.41.0
Consolidate the persistent and dynamic configuration of s390-specific
network devices by delegating the configuration to the existing framework
zdev from s390-tools.
This is part of a larger consolidation comprising:
https://github.com/ibm-s390-linux/s390-tools/pull/158https://github.com/dracutdevs/dracut/pull/2534https://github.com/storaged-project/blivet/pull/1162https://github.com/rhinstaller/anaconda/pull/5250https://github.com/steffen-maier/s390utils/pull/1
However, there are no dependencies on these other pull requests, so the
change here can go in independently. It only depends on zdev from
s390-tools, which exists since years.
Zdev's job is to perform low-level configuration after which the user gets
architecture-independent objects such as network interfaces. Those can and
should in turn be configured with existing common code mechanisms. So
there's a clear separated layering for configuration duties.
In particular, the s390-specific network devices currently are: ZNET
representing channel-attached network (QETH incl. OSA and HiperSockets,
LCS, CTC). Zdev has a stable command line user interface and abstracts from
sysfs and from a persistent configuration representation. Zdev encapsulates
configuration details. Systems management code can simply delegate
configuration to zdev and thus reduce architecture-specific code.
This improves user experience, serviceability, maintainability, and reduces
test effort.
Changes since v1:
Addressed review comments from Philipp:
* Replaced first paragraph (dracut commit reference) of patch 1 description
with a summary of this cover letter providing URLs to 2 pull requests
for dracut and s390utils with relevant commit titles.
* Put temp file under subdir ${_DRACUT_KDUMP_NM_TMP_DIR}.
My own changes:
* Patch 2 description now also references the s390utils pull request
with relevant commit title to provide further information regarding
migration of znet persistent config from the old to the new scheme.
Steffen Maier (2):
dracut-module-setup: consolidate s390 network device config (#1937048)
dracut-module-setup: remove old s390 network device config (#1937048)
dracut-module-setup.sh | 53 ++++++++++++++----------------------------
1 file changed, 17 insertions(+), 36 deletions(-)
base-commit: 5058cef90c2e24ff3a17a9c5560e16363e3281f5
--
2.39.3
Resolves: https://issues.redhat.com/browse/RHEL-11897
Previously fix 0177e248 ("Use the same /etc/resolve.conf in kdump initrd
if it's managed manually") is problematic,
1) it generated .conf file unrecognized by NetowrkManager ;
2) this .conf file was installed to current file system instead of to the kdump initrd;
3) this incorrect .conf file prevented the starting of NetworkManager.
This patch fixes the above issues and also suppresses a harmless warning
when systemd-resolved.service doesn't exist,
# systemctl -q is-enabled systemd-resolved
Failed to get unit file state for systemd-resolved.service: No such file or directory
Fixes: 0177e248 ("Use the same /etc/resolve.conf in kdump initrd if it's managed manually")
Reported-by: Jie Li <jieli(a)redhat.com>
Cc: Dave Young <dyoung(a)redhat.com>
Signed-off-by: Coiby Xu <coxu(a)redhat.com>
---
dracut-module-setup.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh
index ab6dc4f1..1dc88dcc 100755
--- a/dracut-module-setup.sh
+++ b/dracut-module-setup.sh
@@ -583,10 +583,10 @@ kdump_install_resolv_conf() {
#
# [1] https://bugzilla.gnome.org/show_bug.cgi?id=690404
# [2] https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/ht…
- systemctl -q is-enabled systemd-resolved && return 0
+ systemctl -q is-enabled systemd-resolved 2> /dev/null && return 0
inst "$_resolv_conf"
if NetworkManager --print-config | grep -qs "^dns=none"; then
- echo "[main]\ndns=none" > "$_nm_conf_dir"/90-dns-none.conf
+ printf "[main]\ndns=none\n" > "${initdir}/${_nm_conf_dir}"/90-dns-none.conf
fi
}
--
2.43.0
Resolves: https://issues.redhat.com/browse/RHEL-17451
Explain what factors affect the default crashkernel value and ask users
to reset it manually if needed.
Cc: Baoquan He <bhe(a)redhat.com>
Cc: Jie Li <jieli(a)redhat.com>
Signed-off-by: Coiby Xu <coxu(a)redhat.com>
---
kdump.conf.5 | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/kdump.conf.5 b/kdump.conf.5
index 9117aa7b..0e6ff211 100644
--- a/kdump.conf.5
+++ b/kdump.conf.5
@@ -29,7 +29,20 @@ understand how this configuration file affects the behavior of kdump.
.B auto_reset_crashkernel <yes|no>
.RS
determine whether to reset kernel crashkernel parameter to the default value
-or not when kexec-tools is updated or a new kernel is installed.
+or not when kexec-tools is updated or a new kernel is installed. The default
+crashkernel values are different for different architectures and also take the
+following factors into consideration,
+ - AMD Secure Memory Encryption (SME) and Secure Encrypted Virtualization (SEV)
+ - Mellanox 5th generation network driver
+ - aarch64 64k kernel
+ - Firmware-assisted dump (FADump)
+
+Since the kernel crasherkernel parameter will be only reset when kexec-tools is
+updated or a new kernel is installed, you need to call "kdumpctl
+reset-crashkernel [--kernel=path_to_kernel]" if you want to use the default
+value set after having enabled features like SME/SEV for a specific kernel. And
+you should also reboot the system for the new crashkernel value to take effect.
+Also see kdumpctl(8).
.B raw <partition>
.RS
--
2.43.0
Consolidate the persistent and dynamic configuration of s390-specific
network devices by delegating the configuration to the existing framework
zdev from s390-tools.
This is part of a larger consolidation comprising:
https://github.com/ibm-s390-linux/s390-tools/pull/158https://github.com/dracutdevs/dracut/pull/2534https://github.com/storaged-project/blivet/pull/1162https://github.com/rhinstaller/anaconda/pull/5250https://github.com/steffen-maier/s390utils/commits/zdev
However, there are no dependencies on these other pull requests, so the
change here can go in independently. It only depends on zdev from
s390-tools, which exists since years.
Zdev's job is to perform low-level configuration after which the user gets
architecture-independent objects such as network interfaces. Those can and
should in turn be configured with existing common code mechanisms. So
there's a clear separated layering for configuration duties.
In particular, the s390-specific network devices currently are: ZNET
representing channel-attached network (QETH incl. OSA and HiperSockets,
LCS, CTC). Zdev has a stable command line user interface and abstracts from
sysfs and from a persistent configuration representation. Zdev encapsulates
configuration details. Systems management code can simply delegate
configuration to zdev and thus reduce architecture-specific code.
This improves user experience, serviceability, maintainability, and reduces
test effort.
Steffen Maier (2):
dracut-module-setup: consolidate s390 network device config (#1937048)
dracut-module-setup: remove old s390 network device config (#1937048)
dracut-module-setup.sh | 53 ++++++++++++++----------------------------
1 file changed, 17 insertions(+), 36 deletions(-)
base-commit: 5058cef90c2e24ff3a17a9c5560e16363e3281f5
--
2.39.3
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 kdump-migrate-action.sh 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(a)redhat.com>
Cc: Dusty Mabe <dustymabe(a)redhat.com>
Cc: Philipp Rudo <prudo(a)redhat.com>
Fixes: 00c37d8c ("spec: Drop special handling for IA64 machines")
Signed-off-by: Coiby Xu <coxu(a)redhat.com>
---
kexec-tools.spec | 1 +
1 file changed, 1 insertion(+)
diff --git a/kexec-tools.spec b/kexec-tools.spec
index cb1a408c..19b0b69d 100644
--- a/kexec-tools.spec
+++ b/kexec-tools.spec
@@ -271,6 +271,7 @@ touch /etc/kdump.conf
servicelog_notify --remove --command=/usr/lib/kdump/kdump-migrate-action.sh 2>/dev/null
servicelog_notify --add --command=/usr/lib/kdump/kdump-migrate-action.sh --match='refcode="#MIGRATE" and serviceable=0' --type=EVENT --method=pairs_stdin >/dev/null
%endif
+:
%postun
--
2.41.0