Bug 38174 - Ломает отображение кириллицы в tty
Summary: Ломает отображение кириллицы в tty
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: make-initrd (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 33000
  Show dependency tree
 
Reported: 2020-03-02 21:06 MSK by Антон Мидюков
Modified: 2020-03-13 16:34 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Антон Мидюков 2020-03-02 21:06:02 MSK
После обновления make-initrd c  2.2.12-alt1  до  2.4.0-alt1 ломается отображение кириллицы на sysvinit во всех tty, кроме tty1.
Comment 1 Alexey Gladkov 2020-03-02 22:48:34 MSK
В регулялке обновился только этот пакет?
Comment 2 Антон Мидюков 2020-03-03 05:25:31 MSK
(Ответ для Alexey Gladkov на комментарий #1)
> В регулялке обновился только этот пакет?

Я проверял на p9. После обновления в декабрьском стартерките только make-initrd и выполнения команды makre-initrd, после перезагрузки получаем проблему на системах c sysvinit. Только на tty1 шрифты отображаются нормально. В остальных - квадратики. Проблема также наблюдается на всех регулярках с sysvinit. В live проблемы нет, так как там propagator. Проблема наблюдается после установки.
Comment 3 Alexey Gladkov 2020-03-04 14:41:41 MSK
В момент загрузки udev загружает drm и в этот момент шрифт с консоли сбрасывается. Если выключить запуск udev, то можно видеть, что на всех консолях шрифт загружен.

make-initrd виноват лишь в том, что инициализирует tty'и. Если он этого делать не будет, то шрифт будет загружаться в момент загрузки системы.

Чтобы исправить это нужно грузить drm из initramfs (не проверял).
Comment 4 Антон Мидюков 2020-03-04 14:53:53 MSK
(Ответ для Alexey Gladkov на комментарий #3)
> В момент загрузки udev загружает drm и в этот момент шрифт с консоли
> сбрасывается. Если выключить запуск udev, то можно видеть, что на всех
> консолях шрифт загружен.

Т.е. получили ту же проблему, что и на systemd:
https://bugzilla.altlinux.org/show_bug.cgi?id=28805

И всё-таки, почему эта проблема не возникает с make-initrd 2.2.12-alt1 на sysvinit?

> 
> make-initrd виноват лишь в том, что инициализирует tty'и. Если он этого
> делать не будет, то шрифт будет загружаться в момент загрузки системы.

Это новый функционал или initrd давно это делает?

> 
> Чтобы исправить это нужно грузить drm из initramfs (не проверял).

Это не всегда возможно же.
Похоже, придётся делать какой-то аналог: vconsole-setup-kludge
Comment 5 Alexey Gladkov 2020-03-04 16:08:34 MSK
(Ответ для Антон Мидюков на комментарий #4)
> Т.е. получили ту же проблему, что и на systemd:
> https://bugzilla.altlinux.org/show_bug.cgi?id=28805

Да. В той баге никто не стал смотреть, что делает система. Теперь я знаю сам.

> И всё-таки, почему эта проблема не возникает с make-initrd 2.2.12-alt1 на
> sysvinit?

В 2.2.12-alt1 фичу kbd нужно было добавлять руками. Там не было автодетекта.
Возможно, если её включить, то будет тот же эффект.

> Это новый функционал или initrd давно это делает?

Это фича kbd, которая устанавливает шрифт и раскладку. Сначала эта фича была опциональна, но потом (кажется из-за systemd) я её включил по умолчанию.

Обратите внимание, что раскладка на "сломанных" tty выставлена правильно.

> > Чтобы исправить это нужно грузить drm из initramfs (не проверял).
> 
> Это не всегда возможно же.

Почему ? технически для этого нужны модули и blacklist'ы для modprobe в initramfs.
Ну или нужно оставить конфигурирование консоли системе и выкинуть фичу kbd.

> Похоже, придётся делать какой-то аналог: vconsole-setup-kludge

Я не знаю, что это и что оно делает.
Comment 6 Антон Мидюков 2020-03-04 17:33:42 MSK
(Ответ для Alexey Gladkov на комментарий #5)
> (Ответ для Антон Мидюков на комментарий #4)
> > И всё-таки, почему эта проблема не возникает с make-initrd 2.2.12-alt1 на
> > sysvinit?
> 
> В 2.2.12-alt1 фичу kbd нужно было добавлять руками. Там не было автодетекта.
> Возможно, если её включить, то будет тот же эффект.
> 

Да. Я проверил. Эффект тот же.

> > Это новый функционал или initrd давно это делает?
> 
> Это фича kbd, которая устанавливает шрифт и раскладку. Сначала эта фича была
> опциональна, но потом (кажется из-за systemd) я её включил по умолчанию.
>

Да, помню. Не догадался я проверить последствия на sysvinit.  Но systemd от этого легче не стало, но я опять таки этого не понял, проверив в virtualbox, где проблема не воспроизводится (из-за неработающего plymouth).


> Обратите внимание, что раскладка на "сломанных" tty выставлена правильно.
> 

Да. Ломаются только шрифты.

> > > Чтобы исправить это нужно грузить drm из initramfs (не проверял).
> > 
> > Это не всегда возможно же.
> 
> Почему ? технически для этого нужны модули и blacklist'ы для modprobe в
> initramfs.

Надо прорабатывать этот вопрос.

> Ну или нужно оставить конфигурирование консоли системе и выкинуть фичу kbd.
> 

Считаю, что сделать фичу kbd снова опциональной будет правильно.
Comment 7 Alexey Gladkov 2020-03-04 18:08:31 MSK
(Ответ для Антон Мидюков на комментарий #6)
> Да, помню. Не догадался я проверить последствия на sysvinit.  Но systemd от
> этого легче не стало, но я опять таки этого не понял, проверив в virtualbox,
> где проблема не воспроизводится (из-за неработающего plymouth).

Это косвенно подтверждает мою гипотезу. plymouth вытягивает разные drm.

> Надо прорабатывать этот вопрос.

Разумеется надо. Даже сейчас в реализации kbd есть тонкость поскольку консоль
конфигурируется при появлении tty* или fb*. Я не уверен, что не возникнет гонки
если будут загружаться drm драйвера.

> > Ну или нужно оставить конфигурирование консоли системе и выкинуть фичу kbd.
> > 
> 
> Считаю, что сделать фичу kbd снова опциональной будет правильно.

У меня проявляется эта бага с консолью. Я попробую поработать с drm и если у меня
не получится, то выключу kbd.
Comment 8 Alexey Gladkov 2020-03-05 13:20:12 MSK
Вы можете проверить исправления в master ?
Comment 9 Антон Мидюков 2020-03-05 19:48:12 MSK
(Ответ для Alexey Gladkov на комментарий #8)
> Вы можете проверить исправления в master ?

Да.
Comment 10 Alexey Gladkov 2020-03-06 02:15:02 MSK
На моих тестах в sysv всё работает.
Comment 11 Антон Мидюков 2020-03-06 06:38:21 MSK
(Ответ для Alexey Gladkov на комментарий #10)
> На моих тестах в sysv всё работает.

Да, у меня тоже. Прверил также, что чинится
https://bugzilla.altlinux.org/show_bug.cgi?id=28805

Проверял на ноутбуке hp 605. Установил regular-icewm-sysv, убедился, что проблема есть. Обновил make-initrd, Выполнил make-initrd, перезагрузился. Проблемы нет.

Далее проверил на regular-lxde. Установил regular-lxde, удалил vconsole-setup-kludge, перезагрузился, убедился, что проблема есть. Обновил make-initrd, выполнил make-initrd, перезагрузился. Проблемы нет. plymouth работал, не прерывался.

Когда будет релиз?
Comment 12 Alexey Gladkov 2020-03-06 13:19:37 MSK
(Ответ для Антон Мидюков на комментарий #11)
> Когда будет релиз?

Сейчас. 2.5.0-alt1 уже в сизифе.
Comment 13 Антон Мидюков 2020-03-12 06:56:22 MSK
(Ответ для Alexey Gladkov на комментарий #12)
> (Ответ для Антон Мидюков на комментарий #11)
> > Когда будет релиз?
> 
> Сейчас. 2.5.0-alt1 уже в сизифе.

Спасибо. При тестировании стартеркитов обнаружил, что на UEFI если не убрать у ядра параметр quiet, то drm в initrd не грузится, и шрифты при загрузке поломаны в tty. Помогает отключение quiet. Вообще, вредная опция, на мой взгляд :-)
Comment 14 Alexey Gladkov 2020-03-12 12:11:32 MSK
(Ответ для Антон Мидюков на комментарий #13)
> Спасибо. При тестировании стартеркитов обнаружил, что на UEFI если не убрать
> у ядра параметр quiet, то drm в initrd не грузится, и шрифты при загрузке
> поломаны в tty. Помогает отключение quiet.

Интересно. Правда, я пока не знаю, чем тут помочь поскольку quiet обрабатывает
ядро. В initramfs drm грузит udev т.е. получается это ядро не
проинициализировало его.

> Вообще, вредная опция, на мой взгляд :-)

Я так тоже думаю ))
Comment 15 Alexey Gladkov 2020-03-13 11:26:58 MSK
(Ответ для Антон Мидюков на комментарий #13)
> Спасибо. При тестировании стартеркитов обнаружил, что на UEFI если не убрать
> у ядра параметр quiet, то drm в initrd не грузится, и шрифты при загрузке
> поломаны в tty. Помогает отключение quiet. Вообще, вредная опция, на мой
> взгляд :-)

Я прочитал новость про starterkits [1] и из неё следует, что проблема с quiet
есть только под sysvinit. Из комментария #13 мне показалось, что проблема общая
для любого init. Разве нет ?

[1] https://www.opennet.ru/opennews/art.shtml?num=52534
Comment 16 Антон Мидюков 2020-03-13 12:30:52 MSK
(Ответ для Alexey Gladkov на комментарий #15)
> (Ответ для Антон Мидюков на комментарий #13)
> > Спасибо. При тестировании стартеркитов обнаружил, что на UEFI если не убрать
> > у ядра параметр quiet, то drm в initrd не грузится, и шрифты при загрузке
> > поломаны в tty. Помогает отключение quiet. Вообще, вредная опция, на мой
> > взгляд :-)
> 
> Я прочитал новость про starterkits [1] и из неё следует, что проблема с quiet
> есть только под sysvinit. Из комментария #13 мне показалось, что проблема
> общая
> для любого init. Разве нет ?
> 
> [1] https://www.opennet.ru/opennews/art.shtml?num=52534

На systemd эта проблема решается костылём vconsole-setup-kludge, как и раньше.
В новости говорится о фактическом состоянии образов, а не вообще.
Comment 17 Alexey Gladkov 2020-03-13 16:34:33 MSK
(Ответ для Антон Мидюков на комментарий #16)
> На systemd эта проблема решается костылём vconsole-setup-kludge, как и раньше.
> В новости говорится о фактическом состоянии образов, а не вообще.

Ясно. Надо бы найти время и поковырять эту проблему с quiet.