## V8.13.128.2025.10.10
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m50s
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m50s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
This commit is contained in:
@@ -354,6 +354,65 @@ EOF
|
||||
|
||||
chmod 0755 /etc/initramfs-tools/hooks/ciss_debian_live_builder
|
||||
|
||||
#######################################
|
||||
# Simple error terminal logger.
|
||||
# Arguments:
|
||||
# None
|
||||
#######################################
|
||||
log(){ printf '[kbd-fix] %s\n' "$*" >&2; }
|
||||
|
||||
log "Ensuring required packages…"
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get install -y --no-install-recommends keyboard-configuration console-setup xkb-data
|
||||
|
||||
log "Writing /etc/default/keyboard"
|
||||
rm -f /etc/default/keyboard
|
||||
cat << 'EOF' >| /etc/default/keyboard
|
||||
XKBMODEL="pc105"
|
||||
XKBLAYOUT="de"
|
||||
XKBVARIANT=""
|
||||
XKBOPTIONS=""
|
||||
BACKSPACE="guess"
|
||||
EOF
|
||||
|
||||
log "Removing remap fragments (if any)"
|
||||
rm -f /etc/console-setup/remap.inc /etc/console-setup/*remap* 2>/dev/null || true
|
||||
|
||||
log "Purging cached console keymaps"
|
||||
rm -f /etc/console-setup/cached*.kmap.gz 2>/dev/null || true
|
||||
|
||||
log "Rebuilding cached console keymap"
|
||||
setupcon --save-only --force --keyboard-only
|
||||
|
||||
log "Validating via ckbcomp"
|
||||
err="$(mktemp)"
|
||||
if ! ckbcomp -model pc105 -layout de -variant '' -option '' >/dev/null 2>"${err}"; then
|
||||
|
||||
log "ERROR: ckbcomp failed:"
|
||||
sed -n '1,200p' "${err}" >&2
|
||||
exit 127
|
||||
|
||||
fi
|
||||
|
||||
if grep -q 'Unknown X keysym' "${err}"; then
|
||||
|
||||
log "ERROR: Unknown X keysyms remain; check custom remaps or xkb-data version:"
|
||||
sed -n '1,200p' "${err}" >&2
|
||||
exit 128
|
||||
|
||||
fi
|
||||
|
||||
rm -f "${err}"
|
||||
|
||||
install -d /etc/systemd/system/keyboard-setup.service.d
|
||||
rm -f /etc/systemd/system/keyboard-setup.service.d/10-after-localfs.conf
|
||||
cat << 'EOF' >| /etc/systemd/system/keyboard-setup.service.d/10-after-localfs.conf
|
||||
[Unit]
|
||||
After=local-fs.target
|
||||
EOF
|
||||
|
||||
log "Done. Remaps & caches cleaned; cached.kmap.gz regenerated; validation passed."
|
||||
|
||||
### Regenerate the initramfs for the live system kernel
|
||||
update-initramfs -u -k all -v
|
||||
|
||||
|
||||
Reference in New Issue
Block a user