From 5679b3b8ca22edd71713d3554d853455295190f2 Mon Sep 17 00:00:00 2001 From: asmeron Date: Sun, 23 Nov 2025 22:04:08 +0600 Subject: [PATCH] Fix change kernel version for grub --- LICENSE | 4 ++-- ublinux/rc.halt.pre/20-grub | 13 +++++++++---- ublinux/rc.halt.pre/71-kernel | 6 +++--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/LICENSE b/LICENSE index 1e2aa84..356a1e3 100644 --- a/LICENSE +++ b/LICENSE @@ -15,7 +15,7 @@ Authors: - UBLinux Team http://ublinux.ru + UBLinux Team http://ublinux.com ------------------------------------------------------------------------- @@ -37,7 +37,7 @@ Авторы: - Сообщество UBLinux http://ublinux.ru + Сообщество UBLinux http://ublinux.com ------------------------------------------------------------------------- diff --git a/ublinux/rc.halt.pre/20-grub b/ublinux/rc.halt.pre/20-grub index 6aa0121..b9bfe8f 100755 --- a/ublinux/rc.halt.pre/20-grub +++ b/ublinux/rc.halt.pre/20-grub @@ -172,23 +172,25 @@ exec_grub_vmlinuz_file(){ local STR_SET_VALUE [[ -z ${KERNEL_BOOT} ]] || return 0 [[ -n $@ ]] && STR_SET_VALUE="$@" || STR_SET_VALUE="${GRUB_VMLINUZ_FILE}" + [[ -n ${STR_SET_VALUE} ]] && STR_SET_VALUE="\${PATH_DISTR_BOOT}/${STR_SET_VALUE}" control_grub_var_cfg "set VMLINUZ_FILE=" "${STR_SET_VALUE}" "export VMLINUZ_FILE" } exec_grub_ublinux_file(){ local STR_SET_VALUE [[ -z ${KERNEL_BOOT} ]] || return 0 [[ -n $@ ]] && STR_SET_VALUE="$@" || STR_SET_VALUE="${GRUB_UBLINUX_FILE}" + [[ -n ${STR_SET_VALUE} ]] && STR_SET_VALUE="\${PATH_DISTR_BOOT}/${STR_SET_VALUE}" control_grub_var_cfg "set UBLINUX_FILE=" "${STR_SET_VALUE}" "export UBLINUX_FILE" } exec_grub_addon_file(){ local STR_SET_VALUE [[ -z ${KERNEL_BOOT} ]] || return 0 [[ -n $@ ]] && STR_SET_VALUE="$@" || STR_SET_VALUE="${GRUB_ADDON_FILE}" + [[ -n ${STR_SET_VALUE} ]] && STR_SET_VALUE="\${PATH_DISTR_BOOT}/${STR_SET_VALUE}" control_grub_var_cfg "set ADDON_FILE=" "${STR_SET_VALUE}" "export ADDON_FILE" } exec_grub_kernel_boot(){ # По указанному имени пакета в параметре KERNEL_BOOT= находим каталог с ядром и устаналиваем переменные в GRUB - local STR_SET_VALUE [[ -n $@ ]] && PKG_KERNEL_NAME="$@" || PKG_KERNEL_NAME="${KERNEL_BOOT}" PATH_KERNEL="/usr/lib/modules" PKG_KERNEL_PATH=$(grep -Rlx ${PATH_KERNEL}/*/pkgbase -e "${PKG_KERNEL_NAME}") @@ -202,9 +204,12 @@ exec_grub_kernel_boot(){ STR_SET_VALUE_UBLINUX="" STR_SET_VALUE_ADDOD="" fi - STR_SET_VALUE="${STR_SET_VALUE_VMLINUZ}"; control_grub_var_cfg "set VMLINUZ_FILE=" "${STR_SET_VALUE}" "export VMLINUZ_FILE" - STR_SET_VALUE="${STR_SET_VALUE_UBLINUX}"; control_grub_var_cfg "set UBLINUX_FILE=" "${STR_SET_VALUE}" "export UBLINUX_FILE" - STR_SET_VALUE="${STR_SET_VALUE_ADDOD}"; control_grub_var_cfg "set ADDON_FILE=" "${STR_SET_VALUE}" "export ADDON_FILE" + [[ -n ${STR_SET_VALUE_VMLINUZ} ]] && STR_SET_VALUE_VMLINUZ="\${PATH_DISTR_BOOT}/${STR_SET_VALUE_VMLINUZ}" + control_grub_var_cfg "set VMLINUZ_FILE=" "${STR_SET_VALUE_VMLINUZ}" "export VMLINUZ_FILE" + [[ -n ${STR_SET_VALUE_UBLINUX} ]] && STR_SET_VALUE_UBLINUX="\${PATH_DISTR_BOOT}/${STR_SET_VALUE_UBLINUX}" + control_grub_var_cfg "set UBLINUX_FILE=" "${STR_SET_VALUE_UBLINUX}" "export UBLINUX_FILE" + [[ -n ${STR_SET_VALUE_ADDOD} ]] && STR_SET_VALUE_ADDOD="\${PATH_DISTR_BOOT}/${STR_SET_VALUE_ADDOD}" + control_grub_var_cfg "set ADDON_FILE=" "${STR_SET_VALUE_ADDOD}" "export ADDON_FILE" } ################ diff --git a/ublinux/rc.halt.pre/71-kernel b/ublinux/rc.halt.pre/71-kernel index d0e6d3b..ae2a41d 100755 --- a/ublinux/rc.halt.pre/71-kernel +++ b/ublinux/rc.halt.pre/71-kernel @@ -38,9 +38,9 @@ exec_prepare_menu_kernel(){ [[ ${VMLINUZ_FILES} =~ .*\/vmlinuz\-([0-9]+\.[0-9]+\.[a-z0-9_]+\-[0-9]+)$ ]] VMLINUZ_VER=${BASH_REMATCH[1]} if [[ -n ${VMLINUZ_VER} && -f ${PATH_BOOT}/ublinux-${VMLINUZ_VER} ]]; then - VMLINUZ_FILE="vmlinuz-\${VMLINUZ_VER}" - UBLINUX_FILE="ublinux-\${VMLINUZ_VER}" - [[ -f ${PATH_BOOT}/addon-${VMLINUZ_VER} ]] && ADDON_FILE="addon-\${VMLINUZ_VER}" || ADDON_FILE="" + VMLINUZ_FILE="\${PATH_DISTR_BOOT}/vmlinuz-\${VMLINUZ_VER}" + UBLINUX_FILE="\${PATH_DISTR_BOOT}/ublinux-\${VMLINUZ_VER}" + [[ -f ${PATH_BOOT}/addon-${VMLINUZ_VER} ]] && ADDON_FILE="\${PATH_DISTR_BOOT}/addon-\${VMLINUZ_VER}" || ADDON_FILE="" DATA_BOOTMENU_KERNEL+=\ " menuentry \$\"Change the kernel version\"\": ${VMLINUZ_VER}\" --unrestricted { VMLINUZ_VER=\"${VMLINUZ_VER}\"