Your message dated Sun, 26 Jan 2025 01:04:56 +0100
with message-id <[email protected]>
and subject line Re: Bug#1094201: grub2-common: Grub does not expand $variable
on cmdline when using a submenu (but does on main menus)
has caused the Debian Bug report #1094201,
regarding grub2-common: Grub does not expand $variable on cmdline when using a
submenu (but does on main menus)
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1094201: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1094201
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: grub2-common
Version: 2.12-1~bpo12+1
Severity: important
X-Debbugs-Cc: [email protected]
Dear Maintainer,
I've notice that using $variable expansion on kernel command line works
only when using the main menu but not on submenus.
For exemple, in my current grub.cfg (provided in full bellow by
reportbug):
set tuned_params="skew_tick=1 isolcpus=managed_irq,domain,
intel_pstate=disable nosoftlockup tsc=reliable"
...
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu
--class os $menuentry_id_option
'gnulinux-simple-67104532-64c9-4656-9ccd-23cf07fbe9b2' {
linux /vmlinuz-6.1.0-30-amd64 root=/dev/mapper/debian--vm--vg-root ro
quiet $tuned_params
...
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option
'gnulinux-advanced-67104532-64c9-4656-9ccd-23cf07fbe9b2' {
menuentry 'Debian GNU/Linux, with Linux 6.1.0-30-amd64' --class debian
--class gnu-linux --class gnu --class os $menuentry_id_option
'gnulinux-6.1.0-30-amd64-advanced-67104532-64c9-4656-9ccd-23cf07fbe9b2' {
linux /vmlinuz-6.1.0-30-amd64
root=/dev/mapper/debian--vm--vg-root ro quiet $tuned_params
...
Notice how $tuned_params is present in both menuentry.
When booting the firt entry, I got the tuned parameters in my kernel cmdline.
But, when I boot the second option, in the submenu (which should be the same
behavior), I don't have the tuned parameters in my kernel cmdline:
/proc/cmdline:"BOOT_IMAGE=/vmlinuz-6.1.0-30-amd64
root=/dev/mapper/debian--vm--vg-root ro quiet"
Note: I do not have variables defined in my grubenv.
I have tested this with stable and backports
-- Package-specific info:
*********************** BEGIN /proc/mounts
/dev/mapper/debian--vm--vg-root / ext4 rw,relatime,errors=remount-ro 0 0
/dev/vda1 /boot ext2 rw,relatime 0 0
*********************** END /proc/mounts
*********************** BEGIN /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod lvm
insmod ext2
set
root='lvmid/fTfDi0-llcy-xIAW-katk-gwgc-1Vcv-lPrMp0/D2oH1c-9E1r-G0Hi-H9UP-Ti29-oID5-MZfXYC'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root
--hint='lvmid/fTfDi0-llcy-xIAW-katk-gwgc-1Vcv-lPrMp0/D2oH1c-9E1r-G0Hi-H9UP-Ti29-oID5-MZfXYC'
67104532-64c9-4656-9ccd-23cf07fbe9b2
else
search --no-floppy --fs-uuid --set=root 67104532-64c9-4656-9ccd-23cf07fbe9b2
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=fr_FR
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/00_tuned ###
set tuned_params="skew_tick=1 isolcpus=managed_irq,domain, intel_pstate=disable
nosoftlockup tsc=reliable"
set tuned_initrd=""
### END /etc/grub.d/00_tuned ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu
--class os $menuentry_id_option
'gnulinux-simple-67104532-64c9-4656-9ccd-23cf07fbe9b2' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
search --no-floppy --fs-uuid --set=root
f3cf3b43-faa7-431d-8327-471212829b96
echo 'Loading Linux 6.1.0-30-amd64 ...'
linux /vmlinuz-6.1.0-30-amd64 root=/dev/mapper/debian--vm--vg-root ro
quiet $tuned_params
echo 'Loading initial ramdisk ...'
initrd /initrd.img-6.1.0-30-amd64 $tuned_initrd
}
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option
'gnulinux-advanced-67104532-64c9-4656-9ccd-23cf07fbe9b2' {
menuentry 'Debian GNU/Linux, with Linux 6.1.0-30-amd64' --class debian
--class gnu-linux --class gnu --class os $menuentry_id_option
'gnulinux-6.1.0-30-amd64-advanced-67104532-64c9-4656-9ccd-23cf07fbe9b2' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio;
fi
insmod part_msdos
insmod ext2
search --no-floppy --fs-uuid --set=root
f3cf3b43-faa7-431d-8327-471212829b96
echo 'Loading Linux 6.1.0-30-amd64 ...'
linux /vmlinuz-6.1.0-30-amd64
root=/dev/mapper/debian--vm--vg-root ro quiet $tuned_params
echo 'Loading initial ramdisk ...'
initrd /initrd.img-6.1.0-30-amd64 $tuned_initrd
}
menuentry 'Debian GNU/Linux, with Linux 6.1.0-30-amd64 (recovery mode)'
--class debian --class gnu-linux --class gnu --class os $menuentry_id_option
'gnulinux-6.1.0-30-amd64-recovery-67104532-64c9-4656-9ccd-23cf07fbe9b2' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio;
fi
insmod part_msdos
insmod ext2
search --no-floppy --fs-uuid --set=root
f3cf3b43-faa7-431d-8327-471212829b96
echo 'Loading Linux 6.1.0-30-amd64 ...'
linux /vmlinuz-6.1.0-30-amd64
root=/dev/mapper/debian--vm--vg-root ro single single dis_ucode_ldr
$tuned_params
echo 'Loading initial ramdisk ...'
initrd /initrd.img-6.1.0-30-amd64 $tuned_initrd
}
menuentry 'Debian GNU/Linux, with Linux 6.1.0-29-amd64' --class debian
--class gnu-linux --class gnu --class os $menuentry_id_option
'gnulinux-6.1.0-29-amd64-advanced-67104532-64c9-4656-9ccd-23cf07fbe9b2' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio;
fi
insmod part_msdos
insmod ext2
search --no-floppy --fs-uuid --set=root
f3cf3b43-faa7-431d-8327-471212829b96
echo 'Loading Linux 6.1.0-29-amd64 ...'
linux /vmlinuz-6.1.0-29-amd64
root=/dev/mapper/debian--vm--vg-root ro quiet $tuned_params
echo 'Loading initial ramdisk ...'
initrd /initrd.img-6.1.0-29-amd64 $tuned_initrd
}
menuentry 'Debian GNU/Linux, with Linux 6.1.0-29-amd64 (recovery mode)'
--class debian --class gnu-linux --class gnu --class os $menuentry_id_option
'gnulinux-6.1.0-29-amd64-recovery-67104532-64c9-4656-9ccd-23cf07fbe9b2' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio;
fi
insmod part_msdos
insmod ext2
search --no-floppy --fs-uuid --set=root
f3cf3b43-faa7-431d-8327-471212829b96
echo 'Loading Linux 6.1.0-29-amd64 ...'
linux /vmlinuz-6.1.0-29-amd64
root=/dev/mapper/debian--vm--vg-root ro single single dis_ucode_ldr
$tuned_params
echo 'Loading initial ramdisk ...'
initrd /initrd.img-6.1.0-29-amd64 $tuned_initrd
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/25_bli ###
if [ "$grub_platform" = "efi" ]; then
insmod bli
fi
### END /etc/grub.d/25_bli ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
fwsetup --is-supported
if [ "$?" = 0 ]; then
menuentry 'UEFI Firmware Settings' $menuentry_id_option
'uefi-firmware' {
fwsetup
}
fi
fi
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###
*********************** END /boot/grub/grub.cfg
*********************** BEGIN /proc/mdstat
cat: /proc/mdstat: No such file or directory
*********************** END /proc/mdstat
*********************** BEGIN LVM
--- Volume group ---
VG Name debian-vm-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <19.52 GiB
PE Size 4.00 MiB
Total PE 4997
Alloc PE / Size 4997 / <19.52 GiB
Free PE / Size 0 / 0
VG UUID fTfDi0-llcy-xIAW-katk-gwgc-1Vcv-lPrMp0
--- Physical volume ---
PV Name /dev/vda5
VG Name debian-vm-vg
PV Size 19.52 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4997
Free PE 0
Allocated PE 4997
PV UUID rqGQ7a-e6ZP-h2Ql-0v2F-A62i-QZs4-YmyFJb
--- Logical volume ---
LV Path /dev/debian-vm-vg/root
LV Name root
VG Name debian-vm-vg
LV UUID D2oH1c-9E1r-G0Hi-H9UP-Ti29-oID5-MZfXYC
LV Write Access read/write
LV Creation host, time debian-vm, 2025-01-25 22:47:44 +0100
LV Status available
# open 1
LV Size 18.56 GiB
Current LE 4752
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Logical volume ---
LV Path /dev/debian-vm-vg/swap_1
LV Name swap_1
VG Name debian-vm-vg
LV UUID mVu1az-f8q1-aYvS-V1UM-Jmq2-Foh2-6Heyr7
LV Write Access read/write
LV Creation host, time debian-vm, 2025-01-25 22:47:44 +0100
LV Status available
# open 2
LV Size 980.00 MiB
Current LE 245
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
*********************** END LVM
*********************** BEGIN /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root 9 Jan 25 23:36 ata-QEMU_DVD-ROM_QM00001 -> ../../sr0
lrwxrwxrwx 1 root root 10 Jan 25 23:36 dm-name-debian--vm--vg-root -> ../../dm-0
lrwxrwxrwx 1 root root 10 Jan 25 23:36 dm-name-debian--vm--vg-swap_1 ->
../../dm-1
lrwxrwxrwx 1 root root 10 Jan 25 23:36
dm-uuid-LVM-fTfDi0llcyxIAWkatkgwgc1VcvlPrMp0D2oH1c9E1rG0HiH9UPTi29oID5MZfXYC ->
../../dm-0
lrwxrwxrwx 1 root root 10 Jan 25 23:36
dm-uuid-LVM-fTfDi0llcyxIAWkatkgwgc1VcvlPrMp0mVu1azf8q1aYvSV1UMJmq2Foh26Heyr7 ->
../../dm-1
lrwxrwxrwx 1 root root 10 Jan 25 23:36
lvm-pv-uuid-rqGQ7a-e6ZP-h2Ql-0v2F-A62i-QZs4-YmyFJb -> ../../vda5
*********************** END /dev/disk/by-id
*********************** BEGIN /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 9 Jan 25 23:36 2025-01-11-10-58-01-00 -> ../../sr0
lrwxrwxrwx 1 root root 10 Jan 25 23:36 67104532-64c9-4656-9ccd-23cf07fbe9b2 ->
../../dm-0
lrwxrwxrwx 1 root root 10 Jan 25 23:36 e65c196c-4f27-47cd-85a3-73e78ae08c34 ->
../../dm-1
lrwxrwxrwx 1 root root 10 Jan 25 23:36 f3cf3b43-faa7-431d-8327-471212829b96 ->
../../vda1
*********************** END /dev/disk/by-uuid
-- System Information:
Debian Release: 12.9
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.1.0-30-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages grub2-common depends on:
ii dpkg 1.21.22
ii grub-common 2.12-1~bpo12+1
ii libc6 2.36-9+deb12u9
ii libdevmapper1.02.1 2:1.02.185-2
ii libefiboot1 37-6
ii libefivar1 37-6
ii liblzma5 5.4.1-0.2
grub2-common recommends no packages.
grub2-common suggests no packages.
-- no debconf information
--- End Message ---
--- Begin Message ---
Le 26/01/2025 à 00:38, Pascal Hambourg a écrit :
> On 26/01/2025 at 00:07, Yoann Congal wrote:
>>
>> I've notice that using $variable expansion on kernel command line works
>> only when using the main menu but not on submenus.
>
> You need to export the variable so that is is defined in submenus.
You are right (just tried it), so this is a bug in tuned which does not
export its variable.
Thanks!
(this bug should be closed now)
--- End Message ---