## V8.13.128.2025.10.10
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:
2025-10-10 23:22:55 +01:00
parent cae8d68ecc
commit db9dca9fa2
18 changed files with 205 additions and 30 deletions

View File

@@ -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