Моё решение проблемы шрифта в консоли

sivsoft
А где можно почитать про изменения? - я наверное много пропустил.
Не было никаких изменений. Модуль drm/KMS отродясь грузился из UDEV в заранее непредсказуемый момент, и вполне мог загрузиться слишком поздно, сломав уже установленный шрифт. Переход на systemd просто увеличил асинхронность загрузки, повысив вероятность такого поворота событий.

Прочитать можно или в этой теме (первый пост), или в вики – для кого я это всё писал?

Потому как последние разы собирал без зашивания модулей в mkinit…
Вам или везло, или вы просто не проверяли результат (русский шрифт в консоли на других машинах). А могло не повезти и раньше – проблема сброса шрифта при загрузке drm-модуля существовала с самого появления этих модулей.

sivsoft
я ВМ использую для сборки и потом установки на другие машины, а vmwgfx решение для ВМ. А дальше то что?
Если хотите просто – добавляйте модуль в initrd.
Если хотите универсально – можете сделать по моему рецепту, только сначала разберитесь, что делаете.
Ответы типа “Ой, у меня прочему-то ничего не начинается!” не несут никакой диагностической информаци.
И все-таки странно. Может действительно никогда не ловил, но…
У меня на Арче стоит порядка 30 машин, все разные, Арч тоже версии отличаются. На все версии делал свои сборки. Но все версии строго до 3.3.7 (включительно). Ни разу не было проблемы с русским в консоли, ни разу. Причем машины не просто стоят и я их не трогаю. Периодически, а фактически каждый день подключаюсь к разным пользователям с помощью VNC, но сперва захожу в консоль запустив сервер. Так что были бы проблемы увидел бы.
Я не пытаюсь показать свою умность или кого-то переспорить, просто хочу разобраться в этом вопросе.

З.Ы. Может все-таки несколько настройки отличались, хотя вроде ничего такого особенного не делал. Начальная установка с /arch/setup, настройка rc.conf, загрузчика, сети, SSH. Установка необходимых дополнительных драйверов, некоторых утилит, Х-ов, гномов(лхде и т.д.). Настройка окончательная системы. Все…
sivsoft, если вы хотите разобраться в вопросе – можно просто прочесть то, что я УЖЕ написал – в этой теме и в вики. Даже гуглить не надо – я ссылки дал.
Вот оказывается как глубоко собака порылась. А я по простоте душевной в каталоге
/etc/systemd/system/multi-user.target.wants
соорудил файлик с названием setfont.service с таким текстом:

[Unit]
Description=launch font cyr-sun16
[Service]
Type=forking
ExecStart=/usr/bin/setfont cyr-sun16
[Install]
WantedBy=multi-user.target
и прекрасно работает. Может не кошерно?
Немного коряво (тут нужен тип oneshot, а не forking), но не в том дело.
Этот юнит никак НЕ гарантирует:
1) установку шрифта ПОСЛЕ его сброса модулем drm,
1) установку шрифта ВО ВСЕХ консолях, а не только в текущей.

То есть, ваш шрифт в консоли по-прежнему зависит только от везения – если модуль загрузится после вашего юнита, он опять всё сбросит. Если к моменту запуска вашего юнита будут уже инициализированы другие консоли, в них шрифт останется неправильным.

Как я уже говорил, в “стационарном” варианте проще всего добавить ваш модуль в initrd и не париться.
А в “переносном” варианте всё слишком сильно зависит от конкретного железа, и на каждом компе время загрузки модуля будет разным, потому ничего кроме жесткой привязки момента запуска через udev к загрузке модуля гарантии не даст.
полностью поддерживаю, я как Вы уже сооружал подобный юнит, и он до первого обновления честно отрабатывал. Но практикой выявлено, что гарантии он не дает, как сказал Natrio. Т.е. я этот эксперимент на себе уже поставил )))
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
Юнит работает для всех 6 консолей без пересборки инитрам,т.е. без модуля видео.Заслуживает внимания
Диван, а что правило удава не работает?
Да и юнит не доделан, не учитывает переменные из vconsole.conf FONT FONT_MAP FONT_UNIMAP
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Я уже несколько страниц разжевывал, зачем повторять?
На разных машинах и при разном стечении обстоятельств модуль может внезапно загрузиться и на ранней стадии, и уже когда грузятся “обычные” демоны, и даже после getty – всё зависит от результатов конкуренции всех загрузочных процессов за доступ к ресурсам и особенно к диску, с которого идёт загрузка, а это дело непредсказуемое, при каждом старте всё по-разному. Доводы вида “у меня работает” ни о чём не говорят – сегодня работает, завтра перестанет, на одних машинах свезёт, на других наоборот.

Поэтому надо или загрузить модуль принудительно в первую очередь (это проще всего сделать из initrd, но надо знать юнит наперёд, а потому подходит только для стационарной системы), или ждать его загрузки, а потом уже настраивать шрифт, и это можно сделать только правилом udev, без него systemd просто не знает, чего именно ждать, и никакой юнит в этом не поможет.

Теоретически, можно было бы загрузить модуль заранее БЕЗ initrd, но автоматически определить нужный модуль БЕЗ udev будет довольно затруднительно и долго.
А вас ни что не смущает?
Удав и тривиальная установка шрифта-мне представляется политически безграмотным.Повторюсь,юнит работает и без раннего запуска видео.А с ошибками сообщество поможет.
 
Зарегистрироваться или войдите чтобы оставить сообщение.