URL: <http://savannah.gnu.org/bugs/?40291>
Summary: more configurable menu generation Project: GNU GRUB Submitted by: powerman Submitted on: Чтв 17 Окт 2013 16:22:37 Category: Configuration Severity: Major Priority: 5 - Normal Item Group: Feature Request Status: None Privacy: Public Assigned to: None Originator Name: Originator Email: Open/Closed: Open Discussion Lock: Any Release: Release: Bazaar - trunk Reproducibility: None Planned Release: None _______________________________________________________ Details: I've developed a patch which implement few related features: - ability to define which linux kernels and in which order will be shown in top menu instead of one auto-detected latest kernel - ability to show kernel version in simple menu items, to distinguish between several items added by previous feature - ability to use custom kernel command line parameters for some kernels instead of GRUB_CMDLINE_LINUX_DEFAULT Here is my real use-case explaining needs in these features. I'm experimenting with switching between proprietary nvidia driver and nouveau. My main kernel is 3.10.1-hardened-r1 (for proprietary nvidia driver), and I've also compiled experimental kernel with "_nouveau" local version: 3.10.1-hardened-r1_nouveau. First issue - auto-detect of latest kernel choose 3.10.1-hardened-r1_nouveau, which is wrong for me, and only way to change this is add some fake local version for main kernel just to make sure it will be sorted before "_nouveau" string. Second issue - main kernel need "vga=" parameter, while nouveau kernel need "video=" parameter, but there is no way to configure this. Third issue - I'd like to have both normal and nouveau kernels in main menu, in manually defined order. Attached patch is for grub-2.00_p5107. All these features configurable using /etc/default/grub using two new variables (GRUB_SIMPLE_VERSION and GRUB_MENU_LINUX) and one user-defined function (grub_cmdline_linux_custom). Example: # Add kernel version to simple menu entries GRUB_SIMPLE_VERSION=true # Manually define list of simple menu entries instead of auto-detecting # latest kernel. GRUB_MENU_LINUX=" /boot/vmlinuz-3.10.1-hardened-r1 /boot/vmlinuz-3.10.1-hardened-r1_nouveau " # Append parameters to the linux kernel command line for non-recovery entries GRUB_CMDLINE_LINUX_DEFAULT="vga=0x315" # Append parameters to the linux kernel command line for non-recovery entries # for some kernels (instead of GRUB_CMDLINE_LINUX_DEFAULT) function grub_cmdline_linux_custom { local -A CMDLINE CMDLINE[3.10.1-hardened-r1_nouveau]="video=800x600" echo ${CMDLINE[$1]} } _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Чтв 17 Окт 2013 16:22:37 Name: customize_menu.patch Size: 5kB By: powerman <http://savannah.gnu.org/bugs/download.php?file_id=29391> _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?40291> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-grub mailing list Bug-grub@gnu.org https://lists.gnu.org/mailman/listinfo/bug-grub