You are not logged in.
A few weeks ago I upgraded my Thinkpad x230 laptop with `pacman -Syu` and now the console login screen does not recognize keypresses. I'm prevented from using the device.
Here's my uname for reference
$uname -a
Linux arch 6.1.3-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 04 Jan 2023 16:28:15 +0000 x86_64 GNU/LinuxFirst I tried plugging in an external USB keyboard but that didn't work either.
Next I booted into the live arch environment, mounted my root partition, chrooted into that, and enabled sshd as suggested by other posts. The keyboard works fine in the live environment, so I thought it it could be something with the kernel modules.
Here is the output of `lsmod` in the live environment:
Module Size Used by
ext4 798720 1
crc32c_generic 16384 0
crc16 16384 1 ext4
mbcache 16384 1 ext4
jbd2 139264 1 ext4
ccm 20480 0
algif_aead 16384 0
cbc 16384 0
des_generic 16384 0
libdes 24576 1 des_generic
ecb 16384 0
arc4 16384 0
algif_skcipher 16384 0
cmac 16384 0
md4 16384 0
algif_hash 16384 0
af_alg 32768 3 algif_hash,algif_skcipher,algif_aead
wl 6467584 0
iwldvm 278528 0
mac80211 1040384 1 iwldvm
joydev 28672 0
mousedev 24576 0
libarc4 16384 2 mac80211,arc4
intel_rapl_msr 20480 0
intel_rapl_common 32768 1 intel_rapl_msr
x86_pkg_temp_thermal 20480 0
intel_powerclamp 20480 0
iwlwifi 393216 1 iwldvm
coretemp 20480 0
snd_hda_codec_hdmi 73728 1
kvm_intel 327680 0
snd_hda_codec_realtek 135168 1
snd_hda_codec_generic 98304 1 snd_hda_codec_realtek
kvm 835584 1 kvm_intel
snd_hda_intel 53248 0
snd_intel_dspcfg 28672 1 snd_hda_intel
snd_hda_codec 167936 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
intel_rst 16384 0
irqbypass 16384 1 kvm
iTCO_wdt 16384 0
snd_hda_core 106496 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
mei_wdt 16384 0
crct10dif_pclmul 16384 1
thinkpad_acpi 114688 0
iTCO_vendor_support 16384 1 iTCO_wdt
ghash_clmulni_intel 16384 0
cfg80211 897024 4 wl,iwldvm,iwlwifi,mac80211
mei_hdcp 24576 0
nvram 16384 1 thinkpad_acpi
snd_hwdep 16384 1 snd_hda_codec
snd_pcm 147456 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
ledtrig_audio 16384 3 snd_hda_codec_generic,snd_hda_codec_realtek,thinkpad_acpi
rapl 16384 0
snd_timer 45056 1 snd_pcm
intel_cstate 16384 0
intel_uncore 159744 0
psmouse 184320 0
snd 114688 9 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,thinkpad_acpi,snd_pcm
input_leds 16384 0
rfkill 28672 4 thinkpad_acpi,cfg80211
ac 16384 0
evdev 28672 5
mei_me 49152 2
mac_hid 16384 0
soundcore 16384 1 snd
i2c_i801 36864 0
mei 126976 5 mei_wdt,mei_hdcp,mei_me
lpc_ich 28672 0
pcspkr 16384 0
wmi_bmof 16384 0
pkcs8_key_parser 16384 0
ip_tables 36864 0
x_tables 53248 1 ip_tables
overlay 139264 1
squashfs 69632 1
loop 40960 2
nls_iso8859_1 16384 1
nls_cp437 20480 1
vfat 24576 1
fat 86016 1 vfat
uas 32768 0
usb_storage 77824 2 uas
i915 2617344 2
i2c_algo_bit 16384 1 i915
drm_kms_helper 253952 1 i915
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
crc32_pclmul 16384 0
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
crc32c_intel 24576 2
cec 69632 2 drm_kms_helper,i915
rc_core 61440 1 cec
serio_raw 20480 0
aesni_intel 368640 0
atkbd 36864 0
glue_helper 16384 1 aesni_intel
crypto_simd 16384 1 aesni_intel
libps2 20480 2 atkbd,psmouse
drm 581632 3 drm_kms_helper,i915
cryptd 24576 2 crypto_simd,ghash_clmulni_intel
sdhci_pci 61440 0
cqhci 32768 1 sdhci_pci
xhci_pci 20480 0
sdhci 77824 1 sdhci_pci
ehci_pci 20480 0
mmc_core 188416 3 sdhci,cqhci,sdhci_pci
ehci_hcd 98304 1 ehci_pci
xhci_hcd 286720 1 xhci_pci
intel_gtt 24576 1 i915
e1000e 299008 0
agpgart 53248 2 intel_gtt,drm
wmi 36864 1 wmi_bmof
battery 20480 1 thinkpad_acpi
i8042 32768 0
serio 28672 7 serio_raw,atkbd,psmouse,i8042And here is the output for the broken system:
Module Size Used by
ccm 20480 6
joydev 28672 0
mousedev 24576 0
intel_rapl_msr 20480 0
intel_rapl_common 32768 1 intel_rapl_msr
x86_pkg_temp_thermal 20480 0
intel_powerclamp 20480 0
coretemp 20480 0
8021q 40960 0
kvm_intel 393216 0
garp 16384 1 8021q
mrp 20480 1 8021q
stp 16384 1 garp
llc 16384 2 stp,garp
snd_hda_codec_hdmi 86016 1
kvm 1146880 1 kvm_intel
snd_ctl_led 24576 0
snd_hda_codec_realtek 172032 1
irqbypass 16384 1 kvm
snd_hda_codec_generic 98304 1 snd_hda_codec_realtek
crct10dif_pclmul 16384 1
snd_hda_intel 61440 0
crc32_pclmul 16384 0
snd_intel_dspcfg 36864 1 snd_hda_intel
iwldvm 286720 0
polyval_clmulni 16384 0
polyval_generic 16384 1 polyval_clmulni
gf128mul 16384 1 polyval_generic
snd_intel_sdw_acpi 20480 1 snd_intel_dspcfg
mac80211 1314816 1 iwldvm
ghash_clmulni_intel 16384 0
sha512_ssse3 53248 0
libarc4 16384 1 mac80211
snd_hda_codec 188416 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
aesni_intel 393216 4
vfat 24576 1
fat 98304 1 vfat
snd_hda_core 118784 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
iTCO_wdt 16384 0
iwlwifi 491520 1 iwldvm
snd_hwdep 16384 1 snd_hda_codec
at24 28672 0
crypto_simd 16384 1 aesni_intel
intel_pmc_bxt 16384 1 iTCO_wdt
cryptd 24576 2 crypto_simd,ghash_clmulni_intel
mei_wdt 16384 0
mei_pxp 20480 0
mei_hdcp 24576 0
rapl 16384 0
iTCO_vendor_support 16384 1 iTCO_wdt
intel_cstate 20480 0
snd_pcm 172032 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
think_lmi 40960 0
i2c_i801 45056 0
psmouse 212992 0
intel_uncore 217088 0
pcspkr 16384 0
cfg80211 1126400 3 iwldvm,iwlwifi,mac80211
mei_me 57344 3
firmware_attributes_class 16384 1 think_lmi
snd_timer 49152 1 snd_pcm
wmi_bmof 16384 0
e1000e 331776 0
lpc_ich 28672 0
i2c_smbus 20480 1 i2c_i801
mei 176128 7 mei_wdt,mei_hdcp,mei_pxp,mei_me
mac_hid 16384 0
fuse 176128 1
bpf_preload 24576 0
ip_tables 36864 0
x_tables 57344 1 ip_tables
ext4 1019904 1
crc32c_generic 16384 0
crc16 16384 1 ext4
mbcache 16384 1 ext4
jbd2 188416 1 ext4
i915 3473408 2
serio_raw 20480 0
sdhci_pci 86016 0
drm_buddy 20480 1 i915
atkbd 36864 0
cqhci 45056 1 sdhci_pci
intel_gtt 28672 1 i915
libps2 20480 2 atkbd,psmouse
vivaldi_fmap 16384 1 atkbd
sdhci 90112 1 sdhci_pci
thinkpad_acpi 184320 0
ledtrig_audio 16384 3 snd_ctl_led,snd_hda_codec_generic,thinkpad_acpi
drm_display_helper 212992 1 i915
platform_profile 16384 1 thinkpad_acpi
crc32c_intel 24576 2
snd 131072 10 snd_ctl_led,snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,thinkpad_acpi,snd_pcm
cec 81920 2 drm_display_helper,i915
mmc_core 233472 3 sdhci,cqhci,sdhci_pci
soundcore 16384 2 snd_ctl_led,snd
xhci_pci 20480 0
ttm 94208 1 i915
xhci_pci_renesas 24576 1 xhci_pci
rfkill 32768 4 thinkpad_acpi,cfg80211
video 65536 2 thinkpad_acpi,i915
i8042 49152 0
wmi 45056 3 video,wmi_bmof,think_lmi
serio 28672 7 serio_raw,atkbd,psmouse,i8042I've tried working through the diff using the `modinfo` command but that's been slow going. Most of the kernel modules names are cryptic and some don't have descriptions of what they do.
At this stage I tried to get an overview of how the keyboard and mouse work on linux and learned about the `evtest` utility. Interestingly pressing keys shows up there!
$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Lid Switch
/dev/input/event1: Sleep Button
/dev/input/event10: HDA Intel PCH Dock Headphone
/dev/input/event11: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event12: HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event14: SynPS/2 Synaptics TouchPad
/dev/input/event15: TPPS/2 IBM TrackPoint
/dev/input/event2: Power Button
/dev/input/event3: ThinkPad Extra Buttons
/dev/input/event4: AT Translated Set 2 keyboard
/dev/input/event5: Video Bus
/dev/input/event6: PC Speaker
/dev/input/event7: HDA Intel PCH Mic
/dev/input/event8: HDA Intel PCH Dock Mic
/dev/input/event9: HDA Intel PCH Headphone
Select the device event number [0-15]: 4
Input driver version is 1.0.1
Input device ID: bus 0x11 vendor 0x1 product 0x1 version 0xab54
Input device name: "AT Translated Set 2 keyboard"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 1 (KEY_ESC)
Event code 2 (KEY_1)
Event code 3 (KEY_2)
Event code 4 (KEY_3)
Event code 5 (KEY_4)
Event code 6 (KEY_5)
Event code 7 (KEY_6)
Event code 8 (KEY_7)
Event code 9 (KEY_8)
Event code 10 (KEY_9)
Event code 11 (KEY_0)
Event code 12 (KEY_MINUS)
Event code 13 (KEY_EQUAL)
Event code 14 (KEY_BACKSPACE)
Event code 15 (KEY_TAB)
Event code 16 (KEY_Q)
Event code 17 (KEY_W)
Event code 18 (KEY_E)
Event code 19 (KEY_R)
Event code 20 (KEY_T)
Event code 21 (KEY_Y)
Event code 22 (KEY_U)
Event code 23 (KEY_I)
Event code 24 (KEY_O)
Event code 25 (KEY_P)
Event code 26 (KEY_LEFTBRACE)
Event code 27 (KEY_RIGHTBRACE)
Event code 28 (KEY_ENTER)
Event code 29 (KEY_LEFTCTRL)
Event code 30 (KEY_A)
Event code 31 (KEY_S)
Event code 32 (KEY_D)
Event code 33 (KEY_F)
Event code 34 (KEY_G)
Event code 35 (KEY_H)
Event code 36 (KEY_J)
Event code 37 (KEY_K)
Event code 38 (KEY_L)
Event code 39 (KEY_SEMICOLON)
Event code 40 (KEY_APOSTROPHE)
Event code 41 (KEY_GRAVE)
Event code 42 (KEY_LEFTSHIFT)
Event code 43 (KEY_BACKSLASH)
Event code 44 (KEY_Z)
Event code 45 (KEY_X)
Event code 46 (KEY_C)
Event code 47 (KEY_V)
Event code 48 (KEY_B)
Event code 49 (KEY_N)
Event code 50 (KEY_M)
Event code 51 (KEY_COMMA)
Event code 52 (KEY_DOT)
Event code 53 (KEY_SLASH)
Event code 54 (KEY_RIGHTSHIFT)
Event code 55 (KEY_KPASTERISK)
Event code 56 (KEY_LEFTALT)
Event code 57 (KEY_SPACE)
Event code 58 (KEY_CAPSLOCK)
Event code 59 (KEY_F1)
Event code 60 (KEY_F2)
Event code 61 (KEY_F3)
Event code 62 (KEY_F4)
Event code 63 (KEY_F5)
Event code 64 (KEY_F6)
Event code 65 (KEY_F7)
Event code 66 (KEY_F8)
Event code 67 (KEY_F9)
Event code 68 (KEY_F10)
Event code 69 (KEY_NUMLOCK)
Event code 70 (KEY_SCROLLLOCK)
Event code 71 (KEY_KP7)
Event code 72 (KEY_KP8)
Event code 73 (KEY_KP9)
Event code 74 (KEY_KPMINUS)
Event code 75 (KEY_KP4)
Event code 76 (KEY_KP5)
Event code 77 (KEY_KP6)
Event code 78 (KEY_KPPLUS)
Event code 79 (KEY_KP1)
Event code 80 (KEY_KP2)
Event code 81 (KEY_KP3)
Event code 82 (KEY_KP0)
Event code 83 (KEY_KPDOT)
Event code 85 (KEY_ZENKAKUHANKAKU)
Event code 86 (KEY_102ND)
Event code 87 (KEY_F11)
Event code 88 (KEY_F12)
Event code 89 (KEY_RO)
Event code 90 (KEY_KATAKANA)
Event code 91 (KEY_HIRAGANA)
Event code 92 (KEY_HENKAN)
Event code 93 (KEY_KATAKANAHIRAGANA)
Event code 94 (KEY_MUHENKAN)
Event code 95 (KEY_KPJPCOMMA)
Event code 96 (KEY_KPENTER)
Event code 97 (KEY_RIGHTCTRL)
Event code 98 (KEY_KPSLASH)
Event code 99 (KEY_SYSRQ)
Event code 100 (KEY_RIGHTALT)
Event code 102 (KEY_HOME)
Event code 103 (KEY_UP)
Event code 104 (KEY_PAGEUP)
Event code 105 (KEY_LEFT)
Event code 106 (KEY_RIGHT)
Event code 107 (KEY_END)
Event code 108 (KEY_DOWN)
Event code 109 (KEY_PAGEDOWN)
Event code 110 (KEY_INSERT)
Event code 111 (KEY_DELETE)
Event code 112 (KEY_MACRO)
Event code 113 (KEY_MUTE)
Event code 114 (KEY_VOLUMEDOWN)
Event code 115 (KEY_VOLUMEUP)
Event code 116 (KEY_POWER)
Event code 117 (KEY_KPEQUAL)
Event code 118 (KEY_KPPLUSMINUS)
Event code 119 (KEY_PAUSE)
Event code 121 (KEY_KPCOMMA)
Event code 122 (KEY_HANGUEL)
Event code 123 (KEY_HANJA)
Event code 124 (KEY_YEN)
Event code 125 (KEY_LEFTMETA)
Event code 126 (KEY_RIGHTMETA)
Event code 127 (KEY_COMPOSE)
Event code 128 (KEY_STOP)
Event code 140 (KEY_CALC)
Event code 142 (KEY_SLEEP)
Event code 143 (KEY_WAKEUP)
Event code 155 (KEY_MAIL)
Event code 156 (KEY_BOOKMARKS)
Event code 157 (KEY_COMPUTER)
Event code 158 (KEY_BACK)
Event code 159 (KEY_FORWARD)
Event code 163 (KEY_NEXTSONG)
Event code 164 (KEY_PLAYPAUSE)
Event code 165 (KEY_PREVIOUSSONG)
Event code 166 (KEY_STOPCD)
Event code 172 (KEY_HOMEPAGE)
Event code 173 (KEY_REFRESH)
Event code 183 (KEY_F13)
Event code 184 (KEY_F14)
Event code 185 (KEY_F15)
Event code 217 (KEY_SEARCH)
Event code 226 (KEY_MEDIA)
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Event type 17 (EV_LED)
Event code 0 (LED_NUML) state 0
Event code 1 (LED_CAPSL) state 0
Event code 2 (LED_SCROLLL) state 0
Key repeat handling:
Repeat type 20 (EV_REP)
Repeat code 0 (REP_DELAY)
Value 250
Repeat code 1 (REP_PERIOD)
Value 33
Properties:
Testing ... (interrupt to exit)
Event: time 1673119656.801761, type 4 (EV_MSC), code 4 (MSC_SCAN), value 20
Event: time 1673119656.801761, type 1 (EV_KEY), code 32 (KEY_D), value 1
Event: time 1673119656.801761, -------------- SYN_REPORT ------------
Event: time 1673119656.912961, type 4 (EV_MSC), code 4 (MSC_SCAN), value 21
Event: time 1673119656.912961, type 1 (EV_KEY), code 33 (KEY_F), value 1
Event: time 1673119656.912961, -------------- SYN_REPORT ------------
Event: time 1673119656.983296, type 4 (EV_MSC), code 4 (MSC_SCAN), value 20
Event: time 1673119656.983296, type 1 (EV_KEY), code 32 (KEY_D), value 0
Event: time 1673119656.983296, -------------- SYN_REPORT ------------
Event: time 1673119657.022657, type 4 (EV_MSC), code 4 (MSC_SCAN), value 22
Event: time 1673119657.022657, type 1 (EV_KEY), code 34 (KEY_G), value 1
Event: time 1673119657.022657, -------------- SYN_REPORT ------------
Event: time 1673119657.077538, type 4 (EV_MSC), code 4 (MSC_SCAN), value 21
Event: time 1673119657.077538, type 1 (EV_KEY), code 33 (KEY_F), value 0
Event: time 1673119657.077538, -------------- SYN_REPORT ------------
Event: time 1673119657.164302, type 4 (EV_MSC), code 4 (MSC_SCAN), value 22
Event: time 1673119657.164302, type 1 (EV_KEY), code 34 (KEY_G), value 0
Event: time 1673119657.164302, -------------- SYN_REPORT ------------
Event: time 1673119657.712761, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1f
Event: time 1673119657.712761, type 1 (EV_KEY), code 31 (KEY_S), value 1
Event: time 1673119657.712761, -------------- SYN_REPORT ------------
Event: time 1673119657.847397, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1f
Event: time 1673119657.847397, type 1 (EV_KEY), code 31 (KEY_S), value 0
Event: time 1673119657.847397, -------------- SYN_REPORT ------------
Event: time 1673119658.254233, type 4 (EV_MSC), code 4 (MSC_SCAN), value 22
Event: time 1673119658.254233, type 1 (EV_KEY), code 34 (KEY_G), value 1
Event: time 1673119658.254233, -------------- SYN_REPORT ------------
Event: time 1673119658.364954, type 4 (EV_MSC), code 4 (MSC_SCAN), value 22
Event: time 1673119658.364954, type 1 (EV_KEY), code 34 (KEY_G), value 0
Event: time 1673119658.364954, -------------- SYN_REPORT ------------
Event: time 1673119658.793806, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1f
Event: time 1673119658.793806, type 1 (EV_KEY), code 31 (KEY_S), value 1
Event: time 1673119658.793806, -------------- SYN_REPORT ------------
Event: time 1673119658.928564, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1f
Event: time 1673119658.928564, type 1 (EV_KEY), code 31 (KEY_S), value 0
Event: time 1673119658.928564, -------------- SYN_REPORT ------------
Event: time 1673119659.175238, type 4 (EV_MSC), code 4 (MSC_SCAN), value 12
Event: time 1673119659.175238, type 1 (EV_KEY), code 18 (KEY_E), value 1
Event: time 1673119659.175238, -------------- SYN_REPORT ------------
Event: time 1673119659.309919, type 4 (EV_MSC), code 4 (MSC_SCAN), value 12
Event: time 1673119659.309919, type 1 (EV_KEY), code 18 (KEY_E), value 0
Event: time 1673119659.309919, -------------- SYN_REPORT ------------I'm stuck trying to learn more about what layer of the keyboard functionality is missing on my system between the driver and the console and why that would have suddenly broken over a system upgrade.
Last edited by ineptsofar (2023-01-07 23:23:40)
Offline
This could be a kernel regression. Does downgrading the kernel fix the problem?
Jin, Jîyan, Azadî
Offline
I tried downgrading the linux package to a previous 6.0.X version and something in the 5.19.X range and neither made a difference.
There is also this output. Googling around made it seem like warnings of this sort were typically false alarms, but I seem to have several of them. I don't see an issue with the [keyboard] hook, but admittedly I'm out of my depth here
$ sudo mkinitcpio -p linux
[sudo] password for loganf:
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 6.1.3-arch1-1
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [kms]
-> Running build hook: [keyboard]
==> WARNING: Possibly missing firmware for module: xhci_pci
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
-> Running build hook: [block]
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 6.1.3-arch1-1
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [kms]
==> WARNING: Possibly missing firmware for module: ast
-> Running build hook: [keyboard]
==> WARNING: Possibly missing firmware for module: xhci_pci
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: qed
==> WARNING: Possibly missing firmware for module: qla2xxx
==> WARNING: Possibly missing firmware for module: bfa
==> WARNING: Possibly missing firmware for module: qla1280
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successfulOffline
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configurationThat suggests your mkinitcpio hooks may be setup incorrectly.
Are you using encryption ?
please post your etc/mkinitcpio.conf .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
https://bbs.archlinux.org/viewtopic.php … 9#p2077379
https://bbs.archlinux.org/viewtopic.php … 4#p2076034 (though that would be the kernel)
Offline
No encryption AFAIK. Here is my etc/mkinitcpio.conf
$ cat /etc/mkinitcpio.conf
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(usbhid xhci_hcd)
MODULES=()
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=()
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No RAID, lvm2, or encrypted root is needed.
# HOOKS=(base)
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS=(base udev autodetect modconf block filesystems fsck)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS=(base udev modconf block filesystems fsck)
#
## This setup assembles a mdadm array with an encrypted root file system.
## Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices.
# HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck)
#
## This setup loads an lvm2 volume group.
# HOOKS=(base udev modconf block lvm2 filesystems fsck)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr and fsck hooks.
HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block filesystems fsck)
# COMPRESSION
# Use this to compress the initramfs image. By default, zstd compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="zstd"
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
# MODULES_DECOMPRESS
# Decompress kernel modules during initramfs creation.
# Enable to speedup boot process, disable to save RAM
# during early userspace. Switch (yes/no).
#MODULES_DECOMPRESS="yes"Following along from one of the links seth sent, which is a great match for my situation:
$cat /etc/vconsole.conf
KEYMAP=Caps2Escape.map$ls /usr/share/kbd/keymaps
amiga atari Caps2Escape.map i386 include mac pine ppc sun$ loadkeys us
Couldn't get a file descriptor referring to the console.I was running the above code via ssh, which I guess can cause issues?
That reminds me that I've also been getting this message at the ssh login:
Last login: Sat Jan 7 15:54:35 2023 from 192.168.1.135
Couldn't get a file descriptor referring to the console.
Couldn't get a file descriptor referring to the console.I did find that the following does solve the issue, but I'm not connecting all the dots to understand why this has broken and what will fix it.
$ sudo loadkeys -C /dev/console usHere's the contents of my custom mapping which worked fine previously.
$ cat /usr/share/kbd/keymaps/Caps2Escape.map
keymaps 0-2,4-5,8,12
keycode 58 = EscapeAs a side note, is there a way to read the man pages linearly or get an index of them?
I would never figure out that `man 5 keymaps` was an option on my own
Offline
I was running the above code via ssh, which I guess can cause issues?
Yes. The other user was operating on https://bbs.archlinux.org/viewtopic.php … 7#p2052387
Can you "loadkeys Caps2Escape.map" later on and does the problem go away if you remove the keymap hook and rebuild the initramfs?
As a side note, is there a way to read the man pages linearly or get an index of them?
You mean list all manpages?
https://superuser.com/questions/207450/ … -man-pages
Offline
huh. it was as easy as `man -k .` very helpful
Okay, here is the full solution as I understand it for the benefit of the next person.
I guess I misinterpreted the following quote from the arch keyboard configuration wiki
As a side note, it is worth noting that such a personal keymap is useful also to redefine the behaviour of keys already treated by the default keymap: when loaded with loadkeys, the directives in the default keymap will be replaced when they conflict with the new directives and conserved otherwise. This way, only changes to the keymap must be specified in the personal keymap.
Based on that guidance, my Caps2Escape.map personal keymap only included the override.
$ cat /usr/share/kbd/keymaps/Caps2Escape.map
keymaps 0-2,4-5,8,12
keycode 58 = EscapeThis worked without incident for months, but for whatever reason isn't working now after a recent update.
The fix was to explicitly include the us keymap.
$ cat /usr/share/kbd/keymaps/Caps2Escape.map
include "/usr/share/kbd/keymaps/i386/qwerty/us.map.gz"
keymaps 0-2,4-5,8,12
keycode 58 = EscapeAnd for good measure I added an absolute path to my keymap environment variable based on `man 5 keymaps`
$ cat /etc/vconsole.conf
KEYMAP=/usr/share/kbd/keymaps/Caps2Escape.mapThen I regenerated the initial ramdisk environment
$ sudo mkinitcpio -p linuxAny idea what could cause this issue before I mark as closed? I don't want to be apprehensive about installing updates in the future.
Offline
I'd assume the keymap hook moves the Caps2Escape.map into the initramfs, but not the us map, and so you're loading a very incomplete map.
A comparative lsinitcpio could tell.
Offline
Thanks for the help. This was a frustrating issue but I learned a lot by digging into it.
Offline