Package: initramfs-tools
Version: 0.142
Severity: normal
X-Debbugs-Cc: vkou...@gmail.com

Hello,

Thank you for your work on initramfs-tools.

I have just installed Debian bookworm on a new machine.
I am using a USB keyboard, which works fine when the system boots normally, but
was unusable when booting with init=/bin/bash.

I had to add usbhid, hid-generic to /etc/initramfs-tools/modules and rebuild
initramfs to fix this.  This doesn't align with
https://wiki.debian.org/Keyboard, which seems to imply that everything would
just work since in my case I was running with MODULES=most, and I shouldn't
have to add anything to /etc/initramfs-tools/modules.

Also noting that the suggested modules in /etc/initramfs-tools/modules should
include hid-generic anyway.

It's not obvious to me why I had to update /etc/initramfs-tools/modules. I
understand that listing modules in /etc/initramfs-tools/modules asks initramfs
to load them explicitly.

While looking into the problem, I verified that MODULES=most and lsinitramfs
showed both modules present in the initramfs. But it seems somehow they weren't
loaded into the kernel, so the device was unusable.

One more thing that may be relevant:
When booting, it takes some time for the keyboard to be detected:
The bash prompt appears, then after 3-4 seconds the kernel logs show new USB
devices being detected, including the keyboard. Then, the keyboard is usable,
but only if I've taken care to list both usbhid, hid-generic in
/etc/initramfs-tools/modules, despite setting MODULES=most.

Could this be a funny interaction with udev? Maybe initramfs-tools runs udev
explicitly, at certain parts of the process, before the USB keyboard actually
appears, so by the time it appears there is no-one there to actually load the
necessary modules? I would have run "udevadm settle" myself to verify, but
hey, no keyboard :)

I looked at the code and saw initramfs-tools does attempt to load HID-related
modules early on when breaking early, since udev does not yet run. Why not do
it anyway, since a keyboard is critical to debugging?

Looking forward to any insight you may have.

Thank you,
Vangelis.


-- Package-specific info:
-- initramfs sizes
-rw-r--r-- 1 root root 40M Apr  1 18:44 /boot/initrd.img-6.1.0-18-amd64
-- /proc/cmdline
BOOT_IMAGE=/vmlinuz-6.1.0-18-amd64 root=/dev/mapper/maxwellvg-root ro quiet

-- resume
RESUME=/dev/mapper/maxwellvg-swap_1
-- /proc/filesystems
        ext3
        ext2
        ext4
        fuseblk
        vfat

-- lsmod
Module                  Size  Used by
tls                   135168  0
joydev                 28672  0
uvcvideo              131072  0
videobuf2_vmalloc      20480  1 uvcvideo
videobuf2_memops       20480  1 videobuf2_vmalloc
videobuf2_v4l2         36864  1 uvcvideo
snd_usb_audio         376832  0
videobuf2_common       73728  4 
videobuf2_vmalloc,videobuf2_v4l2,uvcvideo,videobuf2_memops
snd_usbmidi_lib        45056  1 snd_usb_audio
videodev              294912  3 videobuf2_v4l2,uvcvideo,videobuf2_common
snd_rawmidi            53248  1 snd_usbmidi_lib
snd_seq_device         16384  1 snd_rawmidi
mc                     77824  5 
videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common
binfmt_misc            24576  1
snd_hda_codec_hdmi     81920  1
nls_ascii              16384  1
nls_cp437              20480  1
vfat                   24576  1
fat                    90112  1 vfat
intel_rapl_msr         20480  0
intel_rapl_common      32768  1 intel_rapl_msr
snd_sof_pci_intel_tgl    16384  0
x86_pkg_temp_thermal    20480  0
intel_powerclamp       20480  0
snd_sof_intel_hda_common   188416  1 snd_sof_pci_intel_tgl
coretemp               20480  0
soundwire_intel        49152  1 snd_sof_intel_hda_common
soundwire_generic_allocation    16384  1 soundwire_intel
soundwire_cadence      40960  1 soundwire_intel
snd_sof_intel_hda      20480  1 snd_sof_intel_hda_common
kvm_intel             380928  0
snd_sof_pci            24576  2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
snd_sof_xtensa_dsp     16384  1 snd_sof_intel_hda_common
kvm                  1142784  1 kvm_intel
i915                 3055616  2
irqbypass              16384  1 kvm
snd_sof               274432  2 snd_sof_pci,snd_sof_intel_hda_common
snd_sof_utils          20480  1 snd_sof
snd_soc_hdac_hda       24576  1 snd_sof_intel_hda_common
snd_hda_ext_core       40960  2 snd_sof_intel_hda_common,snd_soc_hdac_hda
snd_soc_acpi_intel_match    81920  2 
snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
snd_soc_acpi           16384  2 
snd_soc_acpi_intel_match,snd_sof_intel_hda_common
ghash_clmulni_intel    16384  0
sha512_ssse3           49152  0
snd_soc_core          352256  4 
soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda
sha512_generic         16384  1 sha512_ssse3
sha256_ssse3           32768  0
snd_compress           28672  1 snd_soc_core
sha1_ssse3             32768  0
soundwire_bus         102400  3 
soundwire_intel,soundwire_generic_allocation,soundwire_cadence
snd_hda_intel          57344  0
snd_intel_dspcfg       36864  3 snd_hda_intel,snd_sof,snd_sof_intel_hda_common
snd_intel_sdw_acpi     20480  2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_hda_codec         184320  4 
snd_hda_codec_hdmi,snd_hda_intel,snd_soc_hdac_hda,snd_sof_intel_hda
drm_buddy              20480  1 i915
drm_display_helper    184320  1 i915
snd_hda_core          122880  7 
snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
aesni_intel           393216  0
snd_hwdep              16384  2 snd_usb_audio,snd_hda_codec
cec                    61440  2 drm_display_helper,i915
crypto_simd            16384  1 aesni_intel
cryptd                 28672  2 crypto_simd,ghash_clmulni_intel
snd_pcm               159744  11 
snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_sof_utils,snd_hda_core
rapl                   20480  0
rc_core                69632  1 cec
mei_hdcp               24576  0
intel_cstate           20480  0
evdev                  28672  8
snd_timer              49152  1 snd_pcm
ttm                    94208  1 i915
intel_uncore          217088  0
pcspkr                 16384  0
wmi_bmof               16384  0
drm_kms_helper        204800  2 drm_display_helper,i915
iTCO_wdt               16384  0
mei_me                 53248  1
intel_pmc_bxt          16384  1 iTCO_wdt
iTCO_vendor_support    16384  1 iTCO_wdt
watchdog               45056  1 iTCO_wdt
snd                   126976  13 
snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_sof,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
soundcore              16384  1 snd
mei                   159744  3 mei_hdcp,mei_me
i2c_algo_bit           16384  1 i915
intel_pmc_core         53248  0
acpi_tad               20480  0
acpi_pad              184320  0
button                 24576  0
sg                     40960  0
fuse                  176128  1
drm                   614400  6 
drm_kms_helper,drm_display_helper,drm_buddy,i915,ttm
loop                   32768  0
efi_pstore             16384  0
configfs               57344  1
efivarfs               24576  1
ip_tables              36864  0
x_tables               61440  1 ip_tables
autofs4                53248  2
ext4                  983040  2
crc16                  16384  1 ext4
mbcache                16384  1 ext4
jbd2                  167936  1 ext4
crc32c_generic         16384  0
hid_generic            16384  0
usbhid                 65536  0
hid                   159744  2 usbhid,hid_generic
dm_mod                184320  7
sd_mod                 65536  4
t10_pi                 16384  1 sd_mod
crc64_rocksoft         20480  1 t10_pi
crc64                  20480  1 crc64_rocksoft
crc_t10dif             20480  1 t10_pi
crct10dif_generic      16384  0
crct10dif_pclmul       16384  1
crct10dif_common       16384  3 crct10dif_generic,crc_t10dif,crct10dif_pclmul
ahci                   49152  3
libahci                49152  1 ahci
crc32_pclmul           16384  0
crc32c_intel           24576  3
libata                401408  2 libahci,ahci
i2c_i801               36864  0
xhci_pci               24576  0
xhci_hcd              315392  1 xhci_pci
i2c_smbus              20480  1 i2c_i801
scsi_mod              286720  3 sd_mod,libata,sg
usbcore               348160  6 
xhci_hcd,snd_usb_audio,usbhid,snd_usbmidi_lib,uvcvideo,xhci_pci
igc                   163840  0
intel_lpss_pci         28672  0
intel_lpss             16384  1 intel_lpss_pci
idma64                 20480  0
scsi_common            16384  3 scsi_mod,libata,sg
usb_common             16384  3 xhci_hcd,usbcore,uvcvideo
fan                    20480  0
video                  65536  1 i915
wmi                    36864  2 video,wmi_bmof

-- /etc/initramfs-tools/modules
usbhid
hid-generic

-- /etc/kernel-img.conf
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
do_bootloader = no
do_initrd = yes
link_in_boot = no

-- /etc/initramfs-tools/initramfs.conf
MODULES=most
BUSYBOX=auto
KEYMAP=n
COMPRESS=zstd
DEVICE=
NFSROOT=auto
RUNSIZE=10%
FSTYPE=auto

-- /etc/initramfs-tools/update-initramfs.conf
update_initramfs=yes
backup_initramfs=no

-- mkinitramfs hooks
/etc/initramfs-tools/hooks/:

/usr/share/initramfs-tools/hooks:
dmsetup
fsck
intel_microcode
keymap
klibc-utils
kmod
lvm2
resume
thermal
udev
zz-busybox


-- System Information:
Debian Release: 12.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-18-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages initramfs-tools depends on:
ii  initramfs-tools-core  0.142
ii  linux-base            4.9

initramfs-tools recommends no packages.

Versions of packages initramfs-tools suggests:
ii  bash-completion  1:2.11-6

-- no debconf information

Reply via email to