Bug 24446 - Не показывается фоновая картинка меню
: Не показывается фоновая картинка меню
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/grub2)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
: 23155
  Show dependency tree
 
Reported: 2010-10-28 23:22 by
Modified: 2010-10-31 15:11 (History)


Attachments
фонт в /boot (929 bytes, patch)
2010-10-29 00:59, Dmitry A. Kharitonov
no flags Details | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-10-28 23:22:34
У нас оказывается grub сделан весьма криворуко: перед загрузкой ядра он
зачем-то лезет на раздел /usr, хотя, по определению загрузчик должен иметь всё
необходимое в разделе /boot. У меня раздел /usr находится на USB, по этому при
запуске загрузчика это устройство ещё не проинициализировано и по этому не
доступно. В результате загрузчик не находит фонтов и запрещает переход в
графический режим и не загружает фоновую картинку меню.
------- Comment #1 From 2010-10-29 00:59:26 -------
Created an attachment (id=4629) [details]
фонт в /boot

Перенёс файл фонта в /boot теперь фоновая картинка появляется всегда
------- Comment #2 From 2010-10-29 01:25:20 -------
Мне не нравится это исправление: grub-mkconfig должен генерить конфиг.
Копировать чего-то куда-то он не должен.
Недоступность /usr из grub - это вообще достаточно редкий случай. Можно же
просто задать другой GRUB_FONT.
Тривиальным исправлением также будет просто переложить font в /boot из
/usr/share/. Но я пока не понял действительно ли это нужно.
------- Comment #3 From 2010-10-29 07:33:54 -------
1 Вам совершенно не должно нравится моё решение -- это МОЁ решение, и я его
навязывать не собираюсь.
2 Я продемонстрировал вам как можно исправить эту ситуацию и, самое главное,
указал на причину этой ошибки.

Если grub-mkconfig должен генерировать только конфиг. Кто же должен
обеспечивать работоспособность загрузчика?
До запуска ядра, кроме /boot загрузчика вообще не должно что-то интересовать.
Может у меня остальные разделы вообще на сервере? что тогда?

Тривиальное исправление (на уровне пакета) конечно предпочтительнее, тем более,
что это совсем не сложно. Где задаётся GRUB_FONT я с первого раза не нашёл (и
сейчас не знаю) для меня оказалось проще изменить скрипт
------- Comment #4 From 2010-10-29 09:24:36 -------
Кстати, у меня тоже есть конфигурации с недоступным /usr из grub.

Виталик, Дмитрий в данном случае абсолютно прав - всё что нужно для grub
должено быть доступно. 

разумным выглядит копирование шрифта.
------- Comment #5 From 2010-10-29 11:15:56 -------
Может я дурак?
но GRUB_FONT я действительно не нахожу
[user@eeedima Documents]$ sudo grep -r GRUB_FONT /etc
grep: /etc/ppp/resolv.conf: No such file or directory
/etc/grub.d/00_header~:    cp -v "${GRUB_FONT_PATH}" "${GRUB_PREFIX}"
/etc/grub.d/00_header~:    FONTFILE="${GRUB_PREFIX}${GRUB_FONT_PATH##*/}"
/etc/grub.d/00_header~:if loadfont `make_system_path_relative_to_its_root
"${GRUB_FONT_PATH}"` ; then
/etc/grub.d/00_header.org:    prepare_grub_to_access_device `${grub_probe}
--target=device "${GRUB_FONT_PATH}"`
/etc/grub.d/00_header.org:if loadfont `make_system_path_relative_to_its_root
"${GRUB_FONT_PATH}"` ; then
/etc/grub.d/00_header:    cp "${GRUB_FONT_PATH}" "${GRUB_PREFIX}"
/etc/grub.d/00_header:    FONTFILE="${GRUB_PREFIX}/${GRUB_FONT_PATH##*/}"
grep: /etc/syslog.d/ldap: No such device or address
grep: /etc/syslog.d/klogd: No such device or address
grep: /etc/syslog.d/openvpn: No such device or address
grep: /etc/syslog.d/postfix: No such device or address
[user@eeedima Documents]$ 
[user@eeedima Documents]$ sudo grep -r GRUB_FONT /boot
[user@eeedima Documents]$ 

Где оно задаётся? при компиляции?
------- Comment #6 From 2010-10-30 23:12:35 -------
grub2-1.98-alt21.20100804 -> sisyphus:

* Fri Oct 29 2010 Vitaly Kuznetsov <vitty@altlinux> 1.98-alt21.20100804
- place default font in /boot/grub (ALT #24446)
- fix initrd finding (ALT #24442)
------- Comment #7 From 2010-10-31 15:11:05 -------
Спасибо