Hi Xunlei,
On Thursday 06 July 2017 10:38 AM, Xunlei Pang wrote:
On 07/05/2017 at 08:59 PM, Hari Bathini wrote:
Hi Dave,
Thanks for looping me in.
On Wednesday 05 July 2017 08:56 AM, Dave Young wrote:
Cc Hari for fadump part.
On 07/04/17 at 01:45pm, Xunlei Pang wrote:
Resolves: bz1451717 https://bugzilla.redhat.com/1451717
When there is no crypt related kdump target, we can safely omit "crypt" dracut module, this can avoid the pop asking disk password during kdump boot in some cases.
Signed-off-by: Xunlei Pang xlpang@redhat.com
kdump-lib.sh | 12 ++++++++++++ kdumpctl | 12 ------------ mkdumprd | 26 ++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 12 deletions(-)
diff --git a/kdump-lib.sh b/kdump-lib.sh index 6b112a4..c09248d 100755 --- a/kdump-lib.sh +++ b/kdump-lib.sh @@ -6,6 +6,7 @@ DEFAULT_PATH="/var/crash/" FENCE_KDUMP_CONFIG_FILE="/etc/sysconfig/fence_kdump" FENCE_KDUMP_SEND="/usr/libexec/fence_kdump_send" +FADUMP_ENABLED_SYS_NODE="/sys/kernel/fadump_enabled" perror_exit() { echo $@ >&2 @@ -485,3 +486,14 @@ get_dracut_args_target() { echo $1 | grep "--mount" | sed "s/.*--mount .(.*)/\1/" | cut -d' ' -f1 }
+is_fadump_capable() +{
- # Check if firmware-assisted dump is enabled
- # if no, fallback to kdump check
- if [ -f $FADUMP_ENABLED_SYS_NODE ]; then
rc=`cat $FADUMP_ENABLED_SYS_NODE`
[ $rc -eq 1 ] && return 0
- fi
- return 1
+} diff --git a/kdumpctl b/kdumpctl index fb4112e..8c57f5f 100755 --- a/kdumpctl +++ b/kdumpctl @@ -13,7 +13,6 @@ DUMP_TARGET="" DEFAULT_INITRD="" DEFAULT_INITRD_BAK="" TARGET_INITRD="" -FADUMP_ENABLED_SYS_NODE="/sys/kernel/fadump_enabled" FADUMP_REGISTER_SYS_NODE="/sys/kernel/fadump_registered" #kdump shall be the default dump mode DEFAULT_DUMP_MODE="kdump" @@ -934,17 +933,6 @@ handle_mode_switch() fi } -is_fadump_capable() -{
- # Check if firmware-assisted dump is enabled
- # if no, fallback to kdump check
- if [ -f $FADUMP_ENABLED_SYS_NODE ]; then
rc=`cat $FADUMP_ENABLED_SYS_NODE`
[ $rc -eq 1 ] && return 0
- fi
- return 1
-}
- check_current_fadump_status() { # Check if firmware-assisted dump has been registered.
diff --git a/mkdumprd b/mkdumprd index 0fe1b30..0bd724c 100644 --- a/mkdumprd +++ b/mkdumprd @@ -382,6 +382,30 @@ check_crypt() return 1 } +omit_dracut_modules() +{
- local target majmin
- local has_crypt
- # Skip fadump case
- is_fadump_capable && return
We have other default omitted modules in mkdumprd, seems fadump works well with it. Does that means we can omit below modules as well for fadump?
Since fadump initrd is the same as default initrd, I think the patch is doing the
Hi Hari,
Thanks for the comments.
I did some code review, and found that the fadump initramfs generated by kexec-tools is not the same as default initrd, for example, kdump uses the following dracut cmd
By same, I meant the same initrd is used for fadump dump capture and booting production kernel.
to generate(with --rebuild) initramfs: dracut --hostonly --hostonly-cmdline --hostonly-i18n -o plymouth dash resume ifcfg -f /boot/initramfs-3.10.0-691.el7.ppc64le.img.tmp --rebuild /boot/initramfs-3.10.0-691.el7.ppc64le.img --kver 3.10.0-691.el7.ppc64le -i /tmp/fadump.initramfs /etc/fadump.initramfs
- original initramfs
Image: .initramfs-3.10.0-691.el7.ppc64le.img.default: 21M
Version: dracut-033-502.el7
Arguments: -f
dracut modules: bash nss-softokn i18n network ifcfg drm plymouth dm kernel-modules lvm resume rootfs-block terminfo udev-rules systemd usrmount base fs-lib shutdown
- kdump initramfs used by fadump
Image: initramfs-3.10.0-691.el7.ppc64le.img: 19M
Version: dracut-033-502.el7
Arguments: -f --hostonly --hostonly-cmdline --hostonly-i18n -o 'plymouth dash resume ifcfg' -f --kver '3.10.0-691.el7.ppc64le' --include '/tmp/fadump.initramfs' '/etc/fadump.initramfs'
dracut modules: bash nss-softokn i18n network dm kernel-modules lvm rootfs-block terminfo udev-rules systemd usrmount base fs-lib kdumpbase shutdown
Do you think there is a problem that the two are a little different(especially with the extra "--hostonly" and -o 'plymouth dash resume ifcfg')?
I agree that there are a few differences. '--rebuild' option in dracut was introduced to ensure the existing initrd is taken as input and the changes on top of that are only those that are explicitly specified. IIRC, these options have been there since fadump was first introduced and I have not seen any issues using the initrd to boot the production kernel, at least so far..
Thanks Hari