2195
Сообщение при загрузке: setfont kdfontop function not implemented
Когда то давно писал для себя поэтапный алгоритм и всё работало. Сейчас выдаёт ошибку/предупреждение, хотя белые квадратики поменялись на русский язык. Что я делаю не так? такая беда только с ядром 5.13, с лтс 5.10 всё ок
1) Редактируем vconsole.conf:
Вводим команду от рута sudo nano /etc/vconsole.conf и меняем содержимое, чтобы выглядело так:
KEYMAP=«ruwin_alt_sh-UTF-8»
LOCALE=«ru_RU.UTF-8»
CONSOLEMAP=
FONT=«cyr-sun16»
USECOLOR=«yes»
Сохраняем (CTRL+O)(ENTER), выходим из нано (CTRL+X).
2) Пересоздаём initrd.
Для этого сначала редактируем файл mkinitcpio.conf.
Вводим команду от рута sudo nano /etc/mkinitcpio.conf
В нём меняем строку (старую удаляем, а ту что указана тут, добавляем).
HOOKS=«base udev autodetect modconf block keyboard keymap consolefont resume filesystems»
Пересоздаём initrd:
Вводим команду sudo mkinitcpio -p linux513 (linux513 — префикс текущего ядра (моего) — посмотреть свои — в файловом менеджере, вставив это в строку пути
/etc/mkinitcpio.d
sudo nano /usr/lib/systemd/system/systemd-vconsole-setup.service
и приводим к виду:
[Unit]
DefaultDependencies=no
Conflicts=shutdown.target
After=sysinit.target
Before=shutdown.target
ConditionPathExists=/dev/tty0
[Service]
Type=oneshot
ExecStart=/usr/lib/systemd/systemd-vconsole-setup
Сохраняем (CTRL+O)(ENTER), выходим из нано (CTRL+X).
Далее вводим команду sudo nano /etc/profile и пишем туда в конце документа
setfont cyr-sun16
Сохраняем (CTRL+O)(ENTER), выходим из нано (CTRL+X).
Сохраняем. Перезагружаемся в систему, в системе нажимаем CTRL+ALT+F2 и воодим команду обновления sudo pacman -Syyu
Язык должен сочетаться с русским, если вы видите русский язык, то значит всё получилось.
Перезагружаемся командой reboot.
1) Редактируем vconsole.conf:
Вводим команду от рута sudo nano /etc/vconsole.conf и меняем содержимое, чтобы выглядело так:
KEYMAP=«ruwin_alt_sh-UTF-8»
LOCALE=«ru_RU.UTF-8»
CONSOLEMAP=
FONT=«cyr-sun16»
USECOLOR=«yes»
Сохраняем (CTRL+O)(ENTER), выходим из нано (CTRL+X).
2) Пересоздаём initrd.
Для этого сначала редактируем файл mkinitcpio.conf.
Вводим команду от рута sudo nano /etc/mkinitcpio.conf
В нём меняем строку (старую удаляем, а ту что указана тут, добавляем).
HOOKS=«base udev autodetect modconf block keyboard keymap consolefont resume filesystems»
Пересоздаём initrd:
Вводим команду sudo mkinitcpio -p linux513 (linux513 — префикс текущего ядра (моего) — посмотреть свои — в файловом менеджере, вставив это в строку пути
/etc/mkinitcpio.d
sudo nano /usr/lib/systemd/system/systemd-vconsole-setup.service
и приводим к виду:
[Unit]
DefaultDependencies=no
Conflicts=shutdown.target
After=sysinit.target
Before=shutdown.target
ConditionPathExists=/dev/tty0
[Service]
Type=oneshot
ExecStart=/usr/lib/systemd/systemd-vconsole-setup
Сохраняем (CTRL+O)(ENTER), выходим из нано (CTRL+X).
Далее вводим команду sudo nano /etc/profile и пишем туда в конце документа
setfont cyr-sun16
Сохраняем (CTRL+O)(ENTER), выходим из нано (CTRL+X).
Сохраняем. Перезагружаемся в систему, в системе нажимаем CTRL+ALT+F2 и воодим команду обновления sudo pacman -Syyu
Язык должен сочетаться с русским, если вы видите русский язык, то значит всё получилось.
Перезагружаемся командой reboot.
2 комментария
Есть 2 пути решения проблемы:
1) В дефолтном варианте с хуками udev необходимо размещать хуки keymap и consolefont ПЕРЕД хуком plymouth — в таком случае корректная имплементация функции setfont будет загружена в нужный момент и ошибок при загрузке и старте службы systemd-vconsole-setup.service не будет.
2) использовать хуки systemd вместо udev (systemd вместо udev и sd-vconsole вместо keymap и consolefont) в данном случае порядок следования sd-vconsole не имеет значения — кодировка и шрифт будут применены корректно (собственно в данном варианте служба systemd-vconsole-setup.service даже не используется).
Не скажу, что помогло, но спасибо за подсказку куда копать. У меня plymouth вообще не был установлен, так что я просто выпилил keymap и consolefont из хуков в /etc/mkinitcpio.conf
Затем mkinitcpio -P и reboot.
Что характерно — шрифт в консоли в порядке, полагаю благодаря systemd-vconsole-setup.service.
Спасибо!
ЗЫ: Инфа по mkinitcpio и хукам wiki.archlinux.org/title/Mkinitcpio_(Русский)