[Fedora-development] Квадратики в консоли вместо русских букв

Алексей Панов
Чт Ноя 26 22:22:47 MSK 2009


В 12-ой федоре при загрузке системы, сразу после установки, если нажать esc, 
то вместо русских букв появляются "квадратики". Известный баг: 
https://bugzilla.redhat.com/526570

Вместе с Алексеем Торховым покопались и нашли, вроде бы, причину 
(поверхностно). И придумали лекарство, не панацея, но помогает.
В 11-ой федоре initrd создавался с использованием mkinitrd, сейчас (в 12-ой) с 
использованием dracut. В сценарии init, если создавать через mkinitrd по 
шагово происходит следующее (кусок):
запускается демон plymouthd
инициализируется консоль /lib/udev/console_init tty0
и запускается сплэш plymouth --show-splash
Все работает нормально, без квадратиков, с русскими буковками.

Через dracut получается, что запуск происходит немного иначе:
стартует pretrigger, где происходит запуск демона и после него сплэша,
затем стартует udev в котором прописана инициализация tty0.
Вот и получается, что plymouth использует неинициализированную консоль, ну как 
я понял.
Лекарство такое:
в каталоге /usr/share/dracut/modules.d/50plymouth/
лежит файлик plymouth-pretrigger.sh - это собственно он и есть 
(вышеописанный).

вырез кода "оригинального" файла:
...
info "Starting plymouth daemon"
[ -x /bin/plymouthd ] && /bin/plymouthd --attach-to-session
/bin/plymouth --show-splash 2>&1 | vinfo
...
если его заменить на:
...
info "Starting plymouth daemon"
[ -x /bin/plymouthd ] && /bin/plymouthd --attach-to-session
/lib/udev/console_init tty0
/bin/plymouth --show-splash 2>&1 | vinfo
...
т.е. добавить строчку /lib/udev/console_init tty0 между демоном и запуском 
сплэша, а далее выполнить /usr/libexec/plymouth-update-initrd, то после 
перезагрузки вместо квадратов появляются русские буквы.
Также после загрузки Хов, если перейти в консоль - русские буквы также 
отображаются нормально.
Экспериментировалось на RFR 12 i686.


Подробная информация о списке рассылки Fedora-development