Bug 40276 - Сломано отображение не ASCII символов в tty после обновления make-initrd 2.17.0-alt1 -> 2.18.0-alt1
Summary: Сломано отображение не ASCII символов в tty после обновления make-initrd 2.17...
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: make-initrd (show other bugs)
Version: unstable
Hardware: all Linux
: P5 major
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 33000
  Show dependency tree
 
Reported: 2021-06-23 22:42 MSK by Антон Мидюков
Modified: 2021-07-09 17:57 MSK (History)
5 users (show)

See Also:


Attachments
make-initrd -v (21.48 KB, text/x-log)
2021-06-24 05:08 MSK, Антон Мидюков
no flags Details
make-initrd для 2.17.0, без проблемы (18.83 KB, text/x-log)
2021-06-24 06:56 MSK, Антон Мидюков
no flags Details
initrd-ls для 2.17.0, без проблемы (54.32 KB, text/x-log)
2021-06-24 06:57 MSK, Антон Мидюков
no flags Details
make-initrd для 2.19.1, c проблемой (21.48 KB, text/x-log)
2021-06-24 06:58 MSK, Антон Мидюков
no flags Details
initrd-ls для 2.19.1, с проблемой (52.74 KB, text/x-log)
2021-06-24 06:59 MSK, Антон Мидюков
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Антон Мидюков 2021-06-23 22:42:38 MSK
Сломано отображение не ASCII символов в tty после обновления make-initrd 2.17.0-alt1 -> 2.18.0-alt1. Вместо кириллицы отображаются квдаратики. 
Проблема обнаружена в regular-icewm-sysv.iso после установки. Откат до версии 2.17.0 и перегенерация initrd проблему решает.
Проблема воспроизводится также в rootfs regular-icewm-sysv для aarch64 и armh.
initrd фича plymouth не включена.
Comment 1 Alexey Gladkov 2021-06-24 01:30:26 MSK
воспроизводится ли на 2.19.1, который сейчас в сизифе ?
Comment 2 Alexey Gladkov 2021-06-24 01:32:54 MSK
Также, какие фичи были использованы ?
Comment 3 Антон Мидюков 2021-06-24 05:08:36 MSK
Created attachment 9441 [details]
make-initrd -v

(Ответ для Alexey Gladkov на комментарий #1)
> воспроизводится ли на 2.19.1, который сейчас в сизифе ?

Да, воспроизводится.

(Ответ для Alexey Gladkov на комментарий #2)
> Также, какие фичи были использованы ?

В /etc/initrd.mk:
AUTODETECT = all

Лог сборки initrd во вложении.

Также забыл отметить, что проблема только на sysvinit.
Comment 4 Антон Мидюков 2021-06-24 05:59:08 MSK
Установка make-initrd-plymouth с последующей перегенерацией initrd шрифты исправляет. Но make-initrd-plymouth вытягивает systemd, установка которого, как оказалось, и исправляет проблему шрифтов.
Comment 5 Антон Мидюков 2021-06-24 06:31:18 MSK
(Ответ для Антон Мидюков на комментарий #4)
> Установка make-initrd-plymouth с последующей перегенерацией initrd шрифты
> исправляет. Но make-initrd-plymouth вытягивает systemd, установка которого,
> как оказалось, и исправляет проблему шрифтов.

Установка пакета systemd исправляет проблему шрифта в консоли даже без перегенерации initrd. Так что это объясняет, почему проблемы нет на системах с systemd. Но к make-initrd отношения не имеет.
Comment 6 Антон Мидюков 2021-06-24 06:56:20 MSK
Created attachment 9442 [details]
make-initrd для 2.17.0, без проблемы
Comment 7 Антон Мидюков 2021-06-24 06:57:05 MSK
Created attachment 9443 [details]
initrd-ls для 2.17.0, без проблемы
Comment 8 Антон Мидюков 2021-06-24 06:58:41 MSK
Created attachment 9444 [details]
make-initrd для 2.19.1, c проблемой
Comment 9 Антон Мидюков 2021-06-24 06:59:49 MSK
Created attachment 9445 [details]
initrd-ls для 2.19.1, с проблемой
Comment 10 Alexey Gladkov 2021-06-24 12:14:57 MSK
Сходу я не вижу разницы.

Поясните пожалуйста, не ASCII символы не отображаются на всех консолях после загрузки ?

Можно ссылку на проблемный regular-icewm-sysv.iso ?
Comment 11 Антон Мидюков 2021-06-24 12:39:17 MSK
(Ответ для Alexey Gladkov на комментарий #10)
> Сходу я не вижу разницы.
> 
> Поясните пожалуйста, не ASCII символы не отображаются на всех консолях после
> загрузки ?

На tty1 приглашения нет, так что не проверял. На других сломано.

> 
> Можно ссылку на проблемный regular-icewm-sysv.iso ?

http://nightly.altlinux.org/sisyphus/snapshots/20210623/regular-icewm-sysv-20210623-x86_64.iso
Comment 12 Alexey Gladkov 2021-06-24 16:17:00 MSK
(Ответ для Антон Мидюков на комментарий #11)
> http://nightly.altlinux.org/sisyphus/snapshots/20210623/regular-icewm-sysv-
> 20210623-x86_64.iso

Простите за оффтопик, но после установки этого образа вижу в /.gitignore . Это не относится к описанной проблеме, но всё же. Вдруг вы захотите знать.
Comment 13 Alexey Gladkov 2021-06-24 17:42:23 MSK
Так. Более и менее понятно.

Проблема в том, что кто-то начинает ломать консоли в живой системе. Если загрузиться в runlevel=3 и посмотреть на tty1, то там шрифт правильный. На tty2 нет.

Если на tty2 выполнить /sbin/setsysfont, то шрифт исправляется.

Сразу после перехода из initramfs в живую систему (init=/bin/bash) tty1, tty2 имеют правильный шрифт.

Это промежуточные результаты. Я пока не нашёл сути проблемы.
Comment 14 Alexey Gladkov 2021-06-24 17:53:25 MSK
Если верить приложенным выводам initrd-ls в 2.19.1 пропали drm модули из inird.

Проблема в том, что после включения framebuffer (в udevd из rc.sysinit?) setsysfont выполняется только для первой консоли. Теоритически есть /etc/init.d/fbsetfont, который делает setsysfont для других tty*, но он не сконфигурирован и поэтому этого не происходит.

Странность в том, что у меня проблема воспроизводится даже если модули drm есть в initrd.

Есть подозрение, что назначение шрифта сейчас работает чудом.
Comment 15 Антон Мидюков 2021-06-24 18:38:06 MSK
(Ответ для Alexey Gladkov на комментарий #14)
> Если верить приложенным выводам initrd-ls в 2.19.1 пропали drm модули из
> inird.
> 
> Проблема в том, что после включения framebuffer (в udevd из rc.sysinit?)
> setsysfont выполняется только для первой консоли. Теоритически есть
> /etc/init.d/fbsetfont, который делает setsysfont для других tty*, но он не
> сконфигурирован и поэтому этого не происходит.
> 
> Странность в том, что у меня проблема воспроизводится даже если модули drm
> есть в initrd.

А я добавил initrd фичу gpu-drm и шрифты починились.
Comment 16 Alexey Gladkov 2021-06-24 18:55:18 MSK
(Ответ для Антон Мидюков на комментарий #15)
> > Странность в том, что у меня проблема воспроизводится даже если модули drm
> > есть в initrd.
> 
> А я добавил initrd фичу gpu-drm и шрифты починились.

потому что нужен не только drm но и модуль для framebuffer, который находится по /sys/class/drm/card*. В этом  случае его подгрузка происходит в initrd и udev в rc.sysinit уже не ломает консоли.

Неприятная ситуация. Нужно добавить kbd зависимость на gpu-drm, но только в том случае если используется framebuffer.

В идеале конечно нужно чинить настройку консолей в системе.
Comment 18 Антон Мидюков 2021-06-29 06:20:31 MSK
(Ответ для Alexey Gladkov на комментарий #17)
> https://github.com/osboot/make-initrd/commit/
> 35b26efa0981ed5e04c43258f4fdac852ea4a5c0

Алексей, соберёте тестовое задание?
Comment 19 Alexey Gladkov 2021-06-29 13:42:38 MSK
(Ответ для Антон Мидюков на комментарий #18)
> Алексей, соберёте тестовое задание?

http://git.altlinux.org/tasks/276292/
Comment 20 Антон Мидюков 2021-06-29 15:16:52 MSK
(Ответ для Alexey Gladkov на комментарий #19)
> (Ответ для Антон Мидюков на комментарий #18)
> > Алексей, соберёте тестовое задание?
> 
> http://git.altlinux.org/tasks/276292/

Проверил на двух регулярках icewm-sysv (проблема актуальна) и lxqt (с systemd, проблемы не было). Проблема на icewm-sysv исправлена, на lxqt регресса также не обнаружил. Проверил в virtualbox и qemu.
Comment 21 Alexey Gladkov 2021-07-09 17:57:05 MSK
Значит исправлено