LINUX.ORG.RU

console fonts in initramfs

 


0

1

Есть ли возможность в убунте запихнуть используемый consolefont, например ter-u16b, в initramfs, чтобы он применялся на ранней стадии загрузки? Во всяких гентах, арчиках, это элементарно делается штатными средствами, а в убунте не пойму как. Можно ли как-то легко это сделать, типа добавить hook в сборку initramfs? Спасибо.

★★

В убунтах это делается нештатными средствами, а пересборкой ядра. Если правильно понял вопрос.

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

Посмотрел, скопировал из share hooks/console_setup и script/init-top/console-setup, затем update-initramfs -u. И ничего не меняется, шрифт подключается лишь когда служба загружается. В init прямо написано, что идёт по всему из hooks/*. В чем может быть дело?

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

Попробуйте загружаться без параметра ядра quiet, при этом на экран выводится дополнительная информация о том, что запускает система.

Почитайте сами скрипты. Например,

if [ ! -x /bin/loadkeys ] ||
! ( [ -r /etc/console/boottime.kmap.gz ] \
|| [ -r /etc/console-setup/cached.kmap.gz ] ); then
exit 0
fi
<...>
if [ ! -x /usr/bin/kbd_mode ]; then
exit 0
fi


Все файлы в наличии? Все нужные файлы собраны в initramfs (zcat /initrd.img | cpio -it | less)?

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

вобщем я ковырялся-ковырялся, забил на это дело, но потом ребутнул систему по ctrl-alt-del, когда она просила пароль на cryptsetup. Потом еще менюшка граба появилась сама. И после этого шрифты стали нормальными! БЛИН, КАК ЭТО СВЯЗАНО??))) Ядро грузил всегда то, чей инитрамфс менял, тут я не мог ошибиться...

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

Действительно, это не должно быть никак связано. Какое-то необъяснимое шаманство.

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

Абалдеть.... если просто загрузиться как обычно - шрифт не подргужается.... но если ребутнуться через ctrl-alt-del, то console-setup выполняется на эту одну загрузку! магия?

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

Не магия, а переменные grub. При загрузке GRUB сохраняет значение своей переменной recordfail равным 1, а Ubuntu при успешной загрузке изменяет его на 0. При следующей загрузке GRUB проверяет эту переменную и изменяет своё поведение в зависимости от её значения. Ковыряйте в сторону параметров ядра и загрузки шрифтов GRUB'ом в видеопамять (изучите /boot/grub/grub.cfg).

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

Я понял. Там кроме recordfail есть переменная $vt_handoff. При обычной загрузке там vt.handoff=7, а при recordfail=1, видимо, очищается. Так вот именно без $vt_handoff шрифты грузятся как надо!

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

Да, действительно, в 10_linux этот параметр подставлялся при опции shlash, и убирался при recordfail=1. Выпиливание его помогло! Спасибо!

POLTER ★★
() автор топика

Ubuntu говорите?

Если правильно понял, то здесь объяснение более лёгкого способа решения проблемы.

Ъ: добавить FRAMEBUFFER=Y в /etc/initramfs-tools/initramfs.conf

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

Добавлял, оно один фиг не работало. Тут таки дело в $vt_handoff...

POLTER ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.