Dracut ignores /etc/vconsole.conf

dracut ignores /etc/vconsole.conf without loading the virtual console font parameters.
As a result, non-ASCII characters are displayed as squares in the console.
There was an earlier problem discussed on github.
But, it has been resolved and the changes are accepted in the upstream.
And judging by the fact that in fedora, from version 29 and above (checked on version 37 with the current update - no problem), the problem with displaying non-ASCII characters does not exist, it is most likely a problem with the assembly of dracut in Arch or methods of its implementation in EndeavourOS.
As a temporary solution, adding install_items+=" /etc/vconsole.conf " to the dracut configuration and rebuild initramfs image helps.

1 Like

I spent quite a bit of time testing this and in all my tests dracut automatically added /etc/vconsole.conf to the initrd if it was present.

Did you try rebuilding dracut after creating /etc/vconsole.conf without adding the install_items line?

Yes, of course. I did a rebuild and a reboot. Unfortunately, after rebooting non-ASCII characters did not display correctly until I manually performed setfont. (setfont cyr-sun16, for example).
Correct displaying non-ASCII characters was achieved only after forcibly adding the file via the install_items+=parameter.

1 Like

Can you share the contents of your /etc/vconsole.conf and perhaps a small file with a name that wouldn’t display properly so I can try to replicate it?

cat /etc/vconsole.conf

KEYMAP=ruwin_alt_sh-UTF-8
FONT=cyr-sun16

тестовый_файл.pdf (57 Bytes) (simple txt)

Thanks, I will take a look at it later on and try to replicate it.

OK, here is what I tested:

  • I did a vanilla install.
  • I downloaded that file
  • I switched to the TTY, used ls and confirmed that the filename was not displayed properly
  • I modified /etc/vconsole.conf with the font specified above
  • I ran sudo dracut-rebuild
  • I rebooted
  • I logged into the TTY and ran ls again

It worked, this was the result:

1 Like

The behavior described above by dracut was obtained as a result of tests the day before yesterday.
Yesterday also ran a series of tests, and to fix the problem in the previously described way was not possible - the forced addition of the /etc/vconsole.conf file did not fix the error of Cyrillic display after boot, but manual execution of setfont or systemctl start systemd-vconsole-setup.service - returned the display of characters to normal.
Yesterday’s tests showed that the situation was fixed by adding the i915 module to the early boot, and it reproduced again when this rule was disabled. (I have an intel+nvidia laptop).
Still strange behavior of dracut, in my opinion, considering that in fedora I had no similar problems and did not change the default dracut rules, also the fonts were displayed correctly when using mkinitcipio in EndeacourOS earlier, if the consolefont hook was active.
If this is not a bug and I missed some feature of dracut, please specify what I missed.