Non US keymap not working at boot?

Hello,

Requirements:

[*] I have Searched the forum for my issue and found something related but not quite exact.
I have checked the Resources category (Resources Index)
I have reviewed the Wiki for relevant information
I have read the the Release Notes and Errata

OpenMandriva Lx version:
Rome 25.06

Desktop environment (KDE, LXQT…):
KDE, X11, Plasma 6.3.4

Description of the issue (screenshots if relevant):
Selected US English language at install but set keyboard to German (no_deadkeys),
getting error:
25.06.25 11:05 systemd[1] Failed to start systemd-vconsole-setup.service - Virtual Console Setup

…and my LUKS password has to be entered in US format. Once in X, German keys are set as expected.

Relevant informations (hardware involved, software version, logs or output…):

kernel log →

25.06.25 11:05	systemd[1]	Starting systemd-vconsole-setup.service - Virtual Console Setup...
25.06.25 11:05	systemd[1]	Failed to start systemd-vconsole-setup.service - Virtual Console Setup.

/etc/vconsole.conf →

# Written by systemd-localed(8) or systemd-firstboot(1), read by systemd-localed
# and systemd-vconsole-setup(8). Use localectl(1) to update this file.
KEYMAP=de-latin1-nodeadkeys

systemctl status output →

[kev@Desktop ~]$ sudo systemctl status systemd-vconsole-setup
[sudo] password for kev: 
● systemd-vconsole-setup.service - Virtual Console Setup
     Loaded: loaded (/usr/lib/systemd/system/systemd-vconsole-setup.service; static)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: active (exited) since Wed 2025-06-25 11:05:40 CEST; 8min ago
 Invocation: ed09a7cef58542e388e465fabaed1407
       Docs: man:systemd-vconsole-setup.service(8)
             man:vconsole.conf(5)
    Process: 846 ExecStart=/usr/lib/systemd/systemd-vconsole-setup (code=exited, status=0/SUCCESS)
   Main PID: 846 (code=exited, status=0/SUCCESS)
   Mem peak: 2M
        CPU: 6ms

Jun 25 11:05:40 Desktop systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.
Jun 25 11:05:40 Desktop systemd[1]: Stopped systemd-vconsole-setup.service - Virtual Console Setup.
Jun 25 11:05:40 Desktop systemd[1]: Stopping systemd-vconsole-setup.service - Virtual Console Setup...
Jun 25 11:05:40 Desktop systemd[1]: Starting systemd-vconsole-setup.service - Virtual Console Setup...
Jun 25 11:05:40 Desktop systemd[1]: Finished systemd-vconsole-setup.service - Virtual Console Setup.
[kev@Desktop ~]$

The help I found here seems like it will fix my problem, but I still need to work out how to use the localectl command to fix it.

It would be nice if this was fixed in the .iso files. I realise it probably doesn’t bother anyone who leaves the keyboard as default (US), but it does effect others.

Kind regards,
Kev.

Probably related:
https://wiki.archlinux.org/title/Dm-crypt/System_configuration#mkinitcpio

Solution →

(this is mainly for my own future reference because I’ll forget and have to go through the same procedure yet again lol)

Run →

[root@Desktop kev]# localectl
System Locale: LANG=en_US.UTF-8
LC_NUMERIC=de_DE.utf8
LC_TIME=de_DE.utf8
LC_MONETARY=de_DE.utf8
LC_PAPER=de_DE.utf8
LC_NAME=de_DE.utf8
LC_ADDRESS=de_DE.utf8
LC_TELEPHONE=de_DE.utf8
LC_MEASUREMENT=de_DE.utf8
LC_IDENTIFICATION=de_DE.utf8
VC Keymap: (unset) <— THIS IS THE PROBLEM :open_mouth:
X11 Layout: de
X11 Variant: nodeadkeys

Run →

[root@Desktop kev]# localectl set-keymap de-nodeadkeys

localectl output →

[root@Desktop kev]# localectl
System Locale: LANG=en_US.UTF-8
LC_NUMERIC=de_DE.utf8
LC_TIME=de_DE.utf8
LC_MONETARY=de_DE.utf8
LC_PAPER=de_DE.utf8
LC_NAME=de_DE.utf8
LC_ADDRESS=de_DE.utf8
LC_TELEPHONE=de_DE.utf8
LC_MEASUREMENT=de_DE.utf8
LC_IDENTIFICATION=de_DE.utf8
VC Keymap: de-nodeadkeys <— MUCH BETTER :smiley:
X11 Layout: de
X11 Model: microsoftpro
X11 Variant: nodeadkeys
X11 Options: terminate:ctrl_alt_bksp

I believe it’s somehow not being entered at install time because this was on a clean install before I added my LUKS SSD.

Regards, Kev.

1 Like

Could be, but that page is long and extremely complicated - too much for my miscule mind to take in right now!

Although I did see this error being briefly flashed on the boot screen even before I added my external LUKS SSD (…added manually later, NOT during install), I just ignored it as everything else was working perfectly until I actually needed to enter my password. That’s when I decided to investigate.

Kind Regards.

For posterity as well :grin:
Thanks for sharing your solution.

1 Like

No need to sell yourself short. Sometimes things just need to be explained so they make sense. I believe localectl requires an already unlocked disk to set the option, where you need the option to be set in the boot process before you unlock it. This means it needs to be set in the boot process. The link is normally how that is accomplished.

@bero or @AngryPenguin will need to confirm, but I believe this might be a bug.

Nope, sadly that didn’t fix it but the error changed →

|25.06.25 13:59|systemd[1]|systemd-vconsole-setup.service: Main process exited, code=exited, status=1/FAILURE|
|---|---|---|
|25.06.25 13:59|systemd[1]|systemd-vconsole-setup.service: Failed with result 'exit-code'.|
|25.06.25 13:59|systemd[1]|Failed to start systemd-vconsole-setup.service - Virtual Console Setup.|