kdump-lib: Introduce parse_kver_from_path() to get kernel version from its path name
kdump_get_arch_recommend_crashkernel() expects the kernel version info, while _update_kernel() provides the absolute path, which contains the kernel version info. This patch introduce a dedicated function parse_kver_from_path() to extract the kernel info from the path Credit to Philipp, who contributes the original code. Signed-off-by: Pingfan Liu <piliu@redhat.com> Reviewed-by: Coiby Xu <coxu@redhat.com> Reviewed-by: Philipp Rudo <prudo@redhat.com>
This commit is contained in:
parent
51efbcf83e
commit
d8b961be37
43
kdump-lib.sh
43
kdump-lib.sh
@ -526,6 +526,49 @@ prepare_kdump_kernel()
|
|||||||
echo "$kdump_kernel"
|
echo "$kdump_kernel"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_is_valid_kver()
|
||||||
|
{
|
||||||
|
[[ -f /usr/lib/modules/$1/modules.dep ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
# This function is introduced since 64k variant may be installed on 4k or vice versa
|
||||||
|
# $1 the kernel path name.
|
||||||
|
parse_kver_from_path()
|
||||||
|
{
|
||||||
|
local _img _kver
|
||||||
|
|
||||||
|
[[ -z "$1" ]] && return
|
||||||
|
|
||||||
|
_img=$1
|
||||||
|
BLS_ENTRY_TOKEN=$(</etc/machine-id)
|
||||||
|
|
||||||
|
# Fedora standard installation, i.e. $BOOT/vmlinuz-<version>
|
||||||
|
_kver=${_img##*/vmlinuz-}
|
||||||
|
_kver=${_kver%"$KDUMP_IMG_EXT"}
|
||||||
|
if _is_valid_kver "$_kver"; then
|
||||||
|
echo "$_kver"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# BLS recommended image names, i.e. $BOOT/<token>/<version>/linux
|
||||||
|
_kver=${_img##*/"$BLS_ENTRY_TOKEN"/}
|
||||||
|
_kver=${_kver%%/*}
|
||||||
|
if _is_valid_kver "$_kver"; then
|
||||||
|
echo "$_kver"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fedora UKI installation, i.e. $BOOT/efi/EFI/Linux/<token>-<version>.efi
|
||||||
|
_kver=${_img##*/"$BLS_ENTRY_TOKEN"-}
|
||||||
|
_kver=${_kver%.efi}
|
||||||
|
if _is_valid_kver "$_kver"; then
|
||||||
|
echo "$_kver"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
ddebug "Could not parse version from $_img"
|
||||||
|
}
|
||||||
|
|
||||||
_get_kdump_kernel_version()
|
_get_kdump_kernel_version()
|
||||||
{
|
{
|
||||||
local _version _version_nondebug
|
local _version _version_nondebug
|
||||||
|
Loading…
Reference in New Issue
Block a user