[CentOS] How to specify kernel version when restart kdump

Mon Apr 15 10:27:50 UTC 2019
wuzhouhui <wuzhouhui14 at mails.ucas.ac.cn>

> -----Original Messages-----
> From: wuzhouhui <wuzhouhui14 at mails.ucas.ac.cn>
> Sent Time: 2019-03-29 10:06:06 (Friday)
> To: "centos mailing list" <centos at centos.org>
> Cc: 
> Subject: Re: [CentOS] How to specify kernel version when restart kdump
> 
> > -----Original Messages-----
> > From: "Gianluca Cecchi" <gianluca.cecchi at gmail.com>
> > Sent Time: 2019-03-28 16:59:19 (Thursday)
> > [...]
> > The command line fo CentOS 6 clearly misses the kernel version to build
> > initrd file for, so the correct command should be:
> > 
> > /sbin/mkdumprd -d -f
> > "/boot/initrd-2.6.32-642.13.1.el6.x86_64kdump.img"  2.6.32-642.13.1.el6.x86_64
> > 

Unfortunately, I encountered a new issue when mkdumprd for a kernel different
from running. The phenomenon is mkdumprd cannot break following loop in
function depsolve_modlist(), in /sbin/mkdumprd:

 348         while [ -n "$TMPINMODS" ]
 349         do
 350            for i in $TMPINMODS
 351            do
 352               mname=`basename $i | sed -e's/\.ko//'`
 [...]
 407                 TMPINMODS=$TMPTMPMODS
 408            done
 409         done
 410         MODULES=$TMPOUTMODS

and $TMPINMODS is vhost_net.ko when issue occurs. The reason is mkdumprd set
$TMPINMODS by lsmod in running kernel. But there is a new depends of vhost_net
in newer kernel and $TMPINMODS doesn't include it, so mkdumprd stuck in previous
while loop.

Is there a solution exists?

> I test it and it works for me, although prints some harmless warnings.
> 
> Thanks
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> https://lists.centos.org/mailman/listinfo/centos