Summary: | Переименовать GRUB_CMDLINE_LINUX в sysconfig/grub2 | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Sergey Y. Afonin <asy> |
Component: | grub | Assignee: | Egor Ignatov <egori> |
Status: | ASSIGNED --- | QA Contact: | qa-sisyphus |
Severity: | enhancement | ||
Priority: | P5 | CC: | egori, nickel, placeholder, rider, zvn |
Version: | unstable | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Sergey Y. Afonin
2025-04-03 10:38:26 MSK
м.б. не надо переименовывать, а? оба же параметра имеют своё назначение, GRUB_CMDLINE_LINUX - во все варианты загрузки включается, GRUB_CMDLINE_LINUX_DEFAULT - после GRUB_CMDLINE_LINUX в те, варианты, которые НЕ recovery https://www.gnu.org/software/grub/manual/grub/html_node/Simple-configuration.html#Simple-configuration ‘GRUB_CMDLINE_LINUX’ Command-line arguments to add to menu entries for the Linux kernel. ‘GRUB_CMDLINE_LINUX_DEFAULT’ Unless ‘GRUB_DISABLE_RECOVERY’ is set to ‘true’, two menu entries will be generated for each Linux kernel: one default entry and one entry for recovery mode. This option lists command-line arguments to add only to the default menu entry, after those listed in ‘GRUB_CMDLINE_LINUX’. А почему у нас "failsafe vga=normal" в GRUB_CMDLINE_LINUX тогда? И попадает только в "recovery mode"? наверное, где-то здесь смысл закопан /etc/grub.d/10_linux ..... is_top_level=true for linux in ${reverse_sorted_list}; do .... linux_entry "${OS}" "${version}" advanced \ "${GRUB_CMDLINE_LINUX_DEFAULT}" $default if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ] && [ "x${GRUB_VMLINUZ_FAILSAFE}" != "xno" ] && [ "x${GRUB_VMLINUZ_FAILSAFE}" != "xfalse" ]; then if [ $linux = "/boot/vmlinuz" ] || [ "x${GRUB_VMLINUZ_FAILSAFE}" != "xdefault" ]; then linux_entry "${OS}" "${version}" recovery \ "${GRUB_CMDLINE_LINUX}" $default fi fi done (In reply to Sergey Y. Afonin from comment #2) > А почему у нас "failsafe vga=normal" в GRUB_CMDLINE_LINUX тогда? И попадает > только в "recovery mode"? Что-то временное опять стало постоянным :) https://bugzilla.altlinux.org/show_bug.cgi?id=25676#c2 https://git.altlinux.org/gears/g/grub2.git?p=grub2.git;a=commit;h=daa88a5f53bdaad967ba42164f67dcb09dc289ca А вот в апстрим GRUB_CMDLINE_LINUX_RECOVERY попал только в 2021 https://git.savannah.gnu.org/cgit/grub.git/commit/?id=0e5889b98ac202e0aadf04f4115a810304578219 Надо будет привести все к актуальному виду и при этом не сломать обратную совместимость. оно? https://git.altlinux.org/gears/g/grub.git?p=grub.git;a=commitdiff;h=775fa7d1c7eef82ef29eb2e5ed300d1a97243f61 замены вида linux_entry "${OS}" "${version}" simple \ - "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" + "${GRUB_CMDLINE_LINUX_DEFAULT}" или linux_entry "${OS}" "${version}" advanced \ - "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" - if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then - linux_entry "${OS}" "${version}" recovery \ - "single ${GRUB_CMDLINE_LINUX}" + "${GRUB_CMDLINE_LINUX_DEFAULT}" $default т.е. вместо 4-го параметра, соединяющего две строки "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" теперь отправляет 4-й параметр "${GRUB_CMDLINE_LINUX_DEFAULT}" и 5й параметр $default, при том, что $5 там нет, не очень ясно. linux_entry () { os="$1" version="$2" type="$3" args="$4" if [ -z "$boot_device_id" ]; then .... |