CONSOLEFONT сломался после обновления

Шрифт слетает как в древности при смене режима видеокарты.
Особенно актуально для карт с поддержкой KMS.
Возникает только в случае, когда модуль подгружается после установки шрифта (обычная ситуация), если модуль уже был загружен на стадии initramfs, то проблем нет.

Собственно решение для карт intel:
1. отредактировать /etc/mkinicpio.conf, в строчку MODULES добавить:
MODULES=“… drm i915”
ну или по вкусу
2. перегенерировать образ:
mkinitcpio -p linux
3. перезагрузка


Если не получилось - что-то делаете не так. Можно сделать такой костыль в /etc/rc.local
. /etc/rc.conf
. /etc/rc.d/functions
...
set_consolefont

для тех кто не в курсе, что делает точка в шеле: не забываем после неё пробел ;-)
systemd должен умереть.
Сегодня и у меня такой глюк возник :( . И возникнет он у всех, кто обновил пакет initscripts до версии 2012.05.1-1, так как в initscripts-2012.03.2-1-any.pkg.tar.xz такого глюка нет. Глюк этот кроется в файле /etc/rc.sysinit. В новой версии зачем-то установка локализованного шрифта вынесена в самое начало процесса, а должна быть практически в конце.
Вопросы и пожелания к Tom Gundersen [email protected] .
Лечить или редактированием нового файла, или заменойего на старый. В новом строки с 39 по 75 надо вырезать и вставить между 13 и 14 строкой от конца файла, т.е. перед строкой:
stat_busy "Saving dmesg Log"
grunewald
На ati тоже есть проблема. UniCyr_8x16.
Пришла с новым ядром.
Поддерживаю….
Пришлось внедрить в rc.local
setfont UniCyr_8x16
для исправления ситуации.
anode
Сегодня и у меня такой глюк возник :( . И возникнет он у всех, кто обновил пакет initscripts до версии 2012.05.1-1, так как в initscripts-2012.03.2-1-any.pkg.tar.xz такого глюка нет. Глюк этот кроется в файле /etc/rc.sysinit. В новой версии зачем-то установка локализованного шрифта вынесена в самое начало процесса, а должна быть практически в конце.
Вопросы и пожелания к Tom Gundersen [email protected] .
Лечить или редактированием нового файла, или заменойего на старый. В новом строки с 39 по 75 надо вырезать и вставить между 13 и 14 строкой от конца файла, т.е. перед строкой:
stat_busy "Saving dmesg Log"
А вот это железобетонно решило проблему!:) Спасибо!
Тут где-то уже писали, что этот баг исправили в git-версии пакета initscripts. Так что ждем следующую версию пакета.
www.emunix.org
Как говорят наши друзья из “Red Hot Chili Peppers”: By The Way Lyrics. Сегодня просматривал чанжлог в гите и сам rc.sysinit - долго ждать придется. Там есть конкретная аргументация сделанных изменений, типа “configure the console as early as possible”, хотя по моему скромному мнению, шрифт и раскладка клавиатуры - это вообще для rc.local, не костыль, а там им и есть настоящее место.
Да! Можно на место между 13 и 14 строкой от конца перенести или просто вписать set_consolefont
Вообще, согласен с формулировкой, что устанавливать шрифт, да и локаль, нужно как можно раньше, особенно вкупе с фичей DAEMON_LOCALE. Далее, т.к. причина слёта шрифта, как в стародавние времена, стала смена видео-режима (переключение из текстового в графический, при использовании всяких KMS и/или vesafb), то и лечить нужно соответствующими средствами: меняй режим до уствовки шрифтов, переустанавливай шрифты после смены режима. ых, в 1999 вас бы :)
systemd должен умереть.
Скачал initscripts из git, собрал пакет initscripts-git-20120528-86b2cb9-any.tar.xz - нет русских буковок в консоли, т.е. “товарищ соврамши” этот Том:
Comment by Tom Gundersen (tomegun) - Thursday, 17 May 2012, 11:11 GMT-4 
Fixed in git. Will be included in the next release.
Что делает этот кусок кода перенесенный на “как можно раньше сконфигурировать консоль”:
1)Устанавливает режим консоли “utf” или “legacy”;
2)О! оказывается у нас есть альтернативный механизм по заданию FONT, FONT_MAP и KEYMAP и по заверениям man vconsole.conf значения из этого файла “старше”(override) соответствующих значений из rc.conf. Задаются переменные окружения FONT, KEYMAP, FONT_MAP, если есть файл vconsole.conf и это работает.
3)Следующие две команды: первая установит KEYMAP, а вторая, наконец-то set_consolefont, загрузит глифы нашего шрифта.
Стоп! А где же “фича DAEMON_LOCALE”??? Так она-то оказывается и в старой, и в новой версии “на том же месте и в то же час” - в первой( шестой) строке rc.sysinit. Вот так-то. В 82-й бы вас да на Д3-28. Простите h4tr3d, но я вас на 20 лет старше :) Давайте будем уважительно относиться друг к другу.
Сгоряча я предлагал из нового сисинита сделать старый. Это не нужно, достаточно функцию set_consolefont перенести на 36 строк ниже, после
udevd_modprobe sysinit
Проблема устраняется следующим образом

Настройки /etc/rc.conf:
KEYMAP=“ru”
CONSOLEFONT=“cyr-sun16”
DAEMON_LOCALE=“yes”

Понятно, что изменен порядок инициализации при запуске системы. Кириллица отображена “квадратиками” из-за сброса настроек шрифта после их установки. О чем свидетельствует достатчность выполнения setfont и кириллица вновь видна корректно.

1. Я - счастливый обладатель Intel N10, поэтому мне необходимо поставить пакет xf86-video-intel
2. Прописываю модуль i915 в /etc/rc.conf в секцию модулей.
3. Добавляю два хука в /etc/mkinitcpio.conf - это consolefont и keymap.
4. Добавляю модуль в /etc/mkinitcpio.conf - это i915 для обладателя Intel (для ATI - radeon)
5. Регенерирую ядро: # mkinitcpio -p linux
6. Перезапускаю систему.



P.S. Благодарность Okasu @ mibbit
Ага, вон оно что! Они HOOK-ов кучу наделали новых. C “usr” я уже имел геморрой, а на остальные не глянул… (Хотя, мне это и не мешало)
2 arinov респект! :-)
 
Зарегистрироваться или войдите чтобы оставить сообщение.