Hi Lianbo,
I've reviewed the patchset and it looks good to me.
Also, I've tested it on my x86_64 and i686 Fedora servers
with some different configurations (including panic in initramfs)
and it worked correctly.
Thank you very much for your great job!
Kazu
On 5/22/2018 6:15 AM, Lianbo Jiang wrote:
> Kdump service starts too late, so early crashes will have no chance
> to get kdump kernel booting, this will cause crash information to be
> lost. It is necessary to add a dracut module in order to load crash
> kernel and initramfs as early as possible. You can provide "rd.early
> kdump" in grub commandline to enable, then the early kdump will load
> those files like the normal kdump, which is disabled by default.
>
> For the normal kdump service, it can check whether the early kdump
> has loaded the crash kernel and initramfs. It has no conflict with
> the early kdump.
>
> If you rebuild the new initramfs for early kdump, the new initramfs
> size will become large, because it will put the vmlinuz and kdump
> initramfs into the new initramfs.
>
> In addition, early kdump doesn't support fadump.
>
> Finally, we move some common functions from kdumpctl to kdump-lib.sh,
> the functions could be used in other modules, such as early kdump. It
> has no bad effect.
>
> Some changes based the patch v5:
> 1.dracut-early-kdump-module-setup.sh
> -Introduce some variables to parse parameters for kernel commandline
> and initrd.
> -It will use "dracut --add earlykdump --force" to rebuild the new
> initramfs for the early kdump.
> -install some commands, such as tail, find, dirname, hexdump, cut.
> -modify code style.
> 2.early-kdump-howto.txt
> -update the usage about the early kdump.
> 3.kdump-lib.sh
> -add comment for some functions.
> -modify check_boot_dir() function.
> -modify code style.
> 4.dracut-early-kdump.sh
> -modify prepare_parameters() function and handle the case with
> a "KDUMP_KERNELVER" setting.
>
> Some changes based the patch v6:
> 1.early-kdump-howto.txt
> -modify the description about earlykdump usage steps.
> 2.dracut-early-kdump-module-setup.sh
> -delete 'split' command.
>
> Lianbo Jiang (2):
> move some common functions from kdumpctl to kdump-lib.sh
> Add early kdump support in initramfs.
>
> dracut-early-kdump-module-setup.sh | 44 ++++++++
> dracut-early-kdump.sh | 84 ++++++++++++++
> early-kdump-howto.txt | 54 +++++++++
> kdump-lib.sh | 222 +++++++++++++++++++++++++++++++++++++
> kdumpctl | 211 +----------------------------------
> kexec-tools.spec | 11 ++
> 6 files changed, 418 insertions(+), 208 deletions(-)
> create mode 100755 dracut-early-kdump-module-setup.sh
> create mode 100755 dracut-early-kdump.sh
> create mode 100644 early-kdump-howto.txt
>