Bug 2418066

Summary: Unable to set default vconsole.keymap kernel parameter for custom bootc image
Product: [Fedora] Fedora Reporter: William Oprandi <william.oprandi>
Component: plymouthAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 43CC: francois.poirotte, gnome-sig, hans, robert-fedora, rstrode
Target Milestone: ---Keywords: Desktop
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-02-23 10:17:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description William Oprandi 2025-12-01 17:36:17 UTC
I build custom bootc image with luks encrypted disk. The luks password is defined via kickstart file. I want to set the default keyboard layout to uncrypt disk to "fr". 
I tried 2 methods, in Containerfile : https://bootc-dev.github.io/bootc/building/kernel-arguments.html#usrlibbootckargsd

```
...
RUN echo 'kargs = ["vconsole.keymap=fr"]' > /usr/lib/bootc/kargs.d/10-vconsole-keymap.toml
...
```

And via kickstart file

```
...
autopart --encrypted --passphrase=password
bootloader --append="vconsole.keymap=fr"
...
```

For both methods, result is same : Plymouth displays "fr" below password field BUT it's still US keyboard applied


Reproducible: Always

Steps to Reproduce:
1. Build bootc image and try to setup vconsole.keymap=fr kernel argument via bootloader kickstart command or entry in /usr/lib/bootc/kargs.d/10-vconsole-keymap.toml
2. Boot
3. Try to unlock disk
Actual Results:
It's US keyboard layout used despite "fr" displayed

Expected Results:
"fr" is used

Additional Information:
/proc/cmdline shows vconsole.keymap=fr has been added but is immediately overriden by vconsole.keymap= later on the line :

```
BOOT_IMAGE=(hd0,gpt2)/ostree/default-b254461971d259b793f9af717bea03e62ce6cf261af116f00af29b3bbe3591dc/vmlinuz-6.17.8-300.fc43.x86_64 ostree=/ostree/boot.0/default/b254461971d259b793f9af717bea03e62ce6cf261af116f00af29b3bbe3591dc/0 vconsole.keymap=fr rd.luks.uuid=luks-bb31f32b-5a40-46ed-b21a-aa240d716f81 rhgb quiet root=UUID=21fae5c4-d944-49b6-8c23-89661b2817b1 vconsole.keymap= rootflags=subvol=root rw
```

Comment 1 William Oprandi 2025-12-03 09:50:27 UTC
%post
    sed -i 's/vconsole.keymap=/vconsole.keymap=fr/g' /boot/loader/entries/ostree-1.conf
%end

in kickstart file seems to be a working workaround

Comment 2 Robert 2025-12-03 10:46:16 UTC
Unclear if this is related, but in my use case I set the keyboard layout in an anaconda kickstart template and it seems to have no effect either.
https://gitlab.com/eu-os/eu-os.gitlab.io/-/blob/6c90a56420b6e657d54d6988b44889b41b3d38cb/poc/manage-fleet/Kickstart%20EU%20OS.erb#L30

Comment 3 William Oprandi 2026-02-23 10:17:45 UTC
(In reply to Robert from comment #2)
> Unclear if this is related, but in my use case I set the keyboard layout in
> an anaconda kickstart template and it seems to have no effect either.
> https://gitlab.com/eu-os/eu-os.gitlab.io/-/blob/
> 6c90a56420b6e657d54d6988b44889b41b3d38cb/poc/manage-fleet/
> Kickstart%20EU%20OS.erb#L30

Closing, explanation here : https://bugzilla.redhat.com/show_bug.cgi?id=2436674