Description of problem:
I installed F35 Workstation Live RC1 using the Arabic language and encrypting the disk. After booting the installed system, this is what I see:
$ systemctl --failed
UNIT LOAD ACTIVE SUB DESCRIPTION
● systemd-vconsole-setup.service loaded failed failed Setup Virtual Console
$ systemctl status systemd-vconsole-setup.service
× systemd-vconsole-setup.service - Setup Virtual Console
Loaded: loaded (/usr/lib/systemd/system/systemd-vconsole-setup.service; static)
Active: failed (Result: exit-code) since Wed 2021-10-20 16:08:07 CEST; 5min ago
Process: 811 ExecStart=/usr/lib/systemd/systemd-vconsole-setup (code=exited, status=1/FAILURE)
Main PID: 811 (code=exited, status=1/FAILURE)
أكت 20 16:08:06 fedora systemd: Starting Setup Virtual Console...
أكت 20 16:08:07 fedora systemd-vconsole-setup: loadkeys: Unable to open file: ara: No such file or directory
أكت 20 16:08:07 fedora systemd-vconsole-setup: /usr/bin/loadkeys failed with exit status 1.
أكت 20 16:08:07 fedora systemd-vconsole-setup: KD_FONT_OP_GET failed while trying to get the font metadata: Invalid argument
أكت 20 16:08:07 fedora systemd-vconsole-setup: Fonts will not be copied to remaining consoles
أكت 20 16:08:07 fedora systemd: systemd-vconsole-setup.service: Main process exited, code=exited, status=1/FAILURE
أكت 20 16:08:07 fedora systemd: systemd-vconsole-setup.service: Failed with result 'exit-code'.
أكت 20 16:08:07 fedora systemd: Failed to start Setup Virtual Console.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
(basically follow https://fedoraproject.org/wiki/QA:Testcase_Arabic_Language_Install )
1. boot the Workstation Live image
2. pick Arabic language in the installer, keep the dual keyboard layout (default US, secondary ARA)
3. encrypt your disk with some phrase (using the default US keyboard)
4. boot the system
5. everything works, but errors flash across the screen during boot, and systemd-vconsole-setup.service is marked as failed
Created attachment 1835128 [details]
Created attachment 1835129 [details]
Proposing for a blocker discussion. There's this criterion:
"All system services present after installation with one of the release-blocking package sets must start properly, unless they require hardware which is not present. "
I haven't seen any negative effects from the failed service (the system seems to work), but perhaps there are some? Still, the service *is* clearly failed.
I don't *think* this is new. I checked back to F28 - https://koji.fedoraproject.org/koji/buildinfo?buildID=1030966 - and there's no 'ara' console layout in kbd-misc or kbd-legacy that I can see. The association has been in langtable since 0.0.15 in 2013, though I'm not sure where Mark got it?
I also have obviously been in this area before, though I don't entirely recall the context and I didn't provide many references (bad me): https://github.com/legionus/kbd/issues/14 . From that issue, it looks like Debian ships an 'ar' and an 'fa' map. The 'fa' map was added to kbd as a result of that issue.
There is a keyboard layout called 'ara', but it's only in xkb: /usr/share/X11/xkb/symbols/ara . We do not ship the kbd conversion of that layout in kbd-misc because it cannot input ASCII characters.
OK, so...in anaconda we expect that whatever 'native' layout name langtable gives us will exist as a kbd (console) layout. For Arabic, this just isn't true. As noted above, potentially valid console layout names are 'ar' and 'fa', but the xkb layout is called 'ara' and that's what langtable returns.
The practical upshot of this is that the console layout used for Arabic installs will be 'us'. Ideally we would probably use 'fa'. However, implementing this is slightly tricky - we either have to special-case it in anaconda, extend langtable to somehow support the concept of different keymap names for xkb and kbd, or just symlink 'fa.map.gz' to 'ara.map.gz' in kbd-legacy - and I don't think it's new. I would expect the result to be the same on all past Fedora releases at least as long as langtable and vconsole have been around (and we probably had the same problem before that even).
In today's Go/No-Go meeting, we agreed: This is clear violation of the "If a particular keyboard layout has been configured for the system, that keyboard layout must be used: ... When logging in at a console" criterion
This definitely isn't a systemd bug, btw. It's either in anaconda...or kbd...or langtable...but definitely not systemd. :D
I'm re-assigning to kbd for now as the easiest quick fix I can think of is in kbd. I'll try that out later today.
FEDORA-2021-c2c76d4847 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-c2c76d4847
FEDORA-2021-c2c76d4847 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-c2c76d4847`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-c2c76d4847
See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
(In reply to Fedora Update System from comment #7)
> FEDORA-2021-c2c76d4847 has been submitted as an update to Fedora 35.
I installed Workstation RC1 using Arabic, and then updated kbd to kbd-2.4.0-8.fc35 in /mnt/sysroot before rebooting. After booting the installed system, I no longer see any failed services in "systemctl --failed", and systemd-vconsole-setup.service is running OK without any errors in the log. I don't know how to check the current console layout in VT, whether it is "fa" or not. But I see this output:
System Locale: LANG=ar_EG.UTF-8
VC Keymap: ara
X11 Layout: us,ara
X11 Variant: ,
X11 Options: grp:alt_shift_toggle
You can test just by hitting alt+shift and then typing some stuff :) Most keys are bound to different characters, in fa. Some will be visible as Arabic characters, some will just be squares, because the console font doesn't have enough space to show them all.
FEDORA-2021-c2c76d4847 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.