LINUX.ORG.RU

Логи в grub

 ,


0

1

Здравствуйте, ЛОР! Вообщем-то, мне поручено задание от босса: сделать заставку вместо логов Debiana. Я сделал через Plymouth, однако у меня другая проблема теперь: при запуске системы на милли-секунды показываются надписи, а потом загрузка. Прикрепляю фото: https://dropmefiles.com/jQsGy
Подскажите, как это убрать?

https://wiki.archlinux.org/title/Silent_boot

Вкратце у меня в конфиге так:

GRUB_CMDLINE_LINUX_DEFAULT="mitigations=off splash quiet loglevel=3 vt.global_cursor_default=0"

Вроде бы курсор еще надо включать обратно после загрузки, но я не нашел у себя где это сделано, вроде и так работает.

masa ★★
()
Ответ на: комментарий от masa

mitigations=off – а ты рисковый. Да, производительность выше, но безопасность страдает.

По теме ТСа вероятно splash quiet vt.global_cursor_default=0, да?

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid
root@debian12:/etc/grub.d# pwd
/etc/grub.d
root@debian12:/etc/grub.d# grep message 10_linux
    message="$(gettext_printf "Loading Linux %s ..." ${version})"
        echo    '$(echo "$message" | grub_quote)'
      message="$(gettext_printf "Loading initial ramdisk ...")"
        echo    '$(echo "$message" | grub_quote)'

Вот такое нашел… может как-то тут можно поправить, не знаю…

Vsevolod-linuxoid ★★★★★
()

А вот еще вспомнил, конкретно эти строчки добавляются скриптами из файла /etc/grub.d/10_linux

Нужно найти их там и удалить печать, после чего сделать update-grub.

masa ★★
()
Ответ на: комментарий от Vsevolod-linuxoid

mitigations=off – а ты рисковый

Это не сервер, а домашняя машина, несколько процентов производительности решает. Риска по-моему 0.

По теме ТСа вероятно splash quiet vt.global_cursor_default=0, да?

loglevel тоже

masa ★★
()

«Loading…»

Обычно, это в пунктах подменю «Advanced…» (посмотри в grub.cfg). Специально добавляются строки для большей информативности.

andytux ★★★★★
()
Ответ на: комментарий от Welldray

Ты не понял. Файл есть, но он пустой по факту.

В него можно добавить, написав их с нуля руками, кастомные пункты загрузки с любыми параметрами, что хочешь, потом через /etc/default/grub сделать последний пункт дефолтным, и update-grub.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Welldray

Еще раз. Смотри grub.cfg. Там всё прокомментировано.

Патчить системные скрипты всегда плохо. Для пользователя существует «40_custom». Поэтому он и последний, чтобы уже никто его не переопределил. После него только «41_custom», который проверяет наличие файла custom.cfg. Если файл существует, то он станет конфигом груба, будет показано меню из этого файла.

andytux ★★★★★
()
Ответ на: комментарий от andytux

то он станет конфигом груба, будет показано меню из этого файла.

Ну, у меня есть файлик 05_debian_theme. У меня такое чувство, что этот файл должен за это отвечать.

Welldray
() автор топика
Последнее исправление: Welldray (всего исправлений: 1)
Ответ на: комментарий от Welldray

Его переопределяют все, кому не лень. Конечный результат может не иметь ничего общего с тем, что в нём «нарисовано». Это системный файл. Если ты что-то в нём изменишь, то с первым обновлением это будет потеряно.

andytux ★★★★★
()
Ответ на: комментарий от andytux

Вообще-то нет. Файлы в /etc/ можно править руками. Вот файлы в /usr/ не следует, да. И /boot/grub/grub.cfg тоже, они да, после обновлений слетят на настройки в системе.

Почитай FHS: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Welldray

Тебе нужно поправить 2 файла:

  • /etc/grub.d/10_linux
  • /etc/default/grub

Из первого нужно аккуратно, чтобы этот скрипт не сломать, убрать команды на вывод мешающего тебе текста из этого комментария: Логи в grub (комментарий)

Во второй в строчку с параметрами загрузки ядра добавить все, кроме mitigations=off, из вот этого комментария: Логи в grub (комментарий)

Потом update-grub от root.

Сам не проверял, сделай бекапы перед, лучше на виртуальной машине со снимками проверяй. Это 1 из 2 способов, что тут писали.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

/boot/grub/grub.cfg тоже, они да, после обновлений слетят…

Не после обновлений, а после «update-grub», он и генерирует grub.cfg с помощью скриптов «05_…», «40_…». А custom.cfg вообще никто трогать не будет, только ты сам. И что там до него - никто не увидит.

andytux ★★★★★
()
Ответ на: комментарий от Welldray

2 способ:

  • Руками написать нужный тебе скрипт загрузки со всеми кастомными параметрами с нуля, разместить его в /etc/grub.d/40_custom
  • Поправить /etc/default/grub, сменить параметр GRUB_DEFAULT=0 на нужный последний пункт будущего меню, счет с нуля.
  • update-grub
Vsevolod-linuxoid ★★★★★
()

Моё решение: скопировать 10_linux в 10_linux_hidden, скомандовать # chmod -x 10_linux; chmod +x 10_linux_hidden, на копию наложить патчик:

diff --git a/10_linux b/10_linux
index fbaa7c5..05ee0c7 100755
--- a/10_linux
+++ b/10_linux
@@ -144,11 +144,18 @@ linux_entry ()
     fi
     printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
   fi
-  message="$(gettext_printf "Loading Linux %s ..." ${version})"
-  sed "s/^/$submenu_indentation/" << EOF
+  if ! [ "x${GRUB_TIMEOUT_STYLE}" == "xhidden" ]; then
+    message="$(gettext_printf "Loading Linux %s ..." ${version})"
+    sed "s/^/$submenu_indentation/" << EOF
        echo    '$(echo "$message" | grub_quote)'
        linux   ${rel_dirname}/${basename} root=${linux_root_device_thisversion} rw ${args}
 EOF
+  else
+    sed "s/^/$submenu_indentation/" << EOF
+       linux   ${rel_dirname}/${basename} root=${linux_root_device_thisversion} rw ${args}
+EOF
+  fi
+
   if test -n "${initrd}" ; then
     # TRANSLATORS: ramdisk isn't identifier. Should be translated.
     message="$(gettext_printf "Loading initial ramdisk ...")"
@@ -156,10 +163,16 @@ EOF
     for i in ${initrd}; do
       initrd_path="${initrd_path} ${rel_dirname}/${i}"
     done
-    sed "s/^/$submenu_indentation/" << EOF
+    if ! [ "x${GRUB_TIMEOUT_STYLE}" == "xhidden" ]; then
+      sed "s/^/$submenu_indentation/" << EOF
        echo    '$(echo "$message" | grub_quote)'
        initrd  $(echo $initrd_path)
 EOF
+    else
+      sed "s/^/$submenu_indentation/" << EOF
+       initrd  $(echo $initrd_path)
+EOF
+    fi
   fi
   sed "s/^/$submenu_indentation/" << EOF
 }

Ну и добавить хук в /etc/pacman.d/hooks. Арчеводы сами всё знают :)

yars068 ★★★★
()