#3137 Issue closed: Failed to create rescue image on Ubuntu 22.04 with ERROR: Module pata not found

schlomo opened issue at 2024-01-26 09:33:

Found in current master:

Copying only currently loaded kernel modules (MODULES contains 'loaded_modules') and those in MODULES_LOAD
ERROR: pata loaded or to be loaded but no module file?
Some latest log messages since the last called script 400_copy_modules.sh:
  scsi_transport_spi
  vmxnet3
  i2c_piix4
  pata_acpi'
  modinfo: ERROR: Module pata not found.
  modinfo: ERROR: Module pata not found.
  readlink: missing operand
  Try 'readlink --help' for more information.

The root cause is the way how we read the modules to be loaded in initramfs:
https://github.com/rear/rear/blob/58d6ec23941557af097def87ea25b13d340f834a/usr/share/rear/rescue/GNU/Linux/220_load_modules_from_initrd.sh#L36-L40

The sed there means to take only the module name and ignore comment lines and module args. However, it lacks _ (underscore) and mangles all module names with underscore:

root@linux-03:~# cat /etc/initramfs-tools/modules
#
# Examples:
# List of modules that you want to include in your initramfs.
# Syntax:  module_name [args ...]
# They will be loaded at boot time in the order below.
# You must run update-initramfs(8) to effect this change.
# raid1
# sd_mod
ahci
libahci
mptbase
mptscsih
mptspi
pata_acpi
scsi_transport_spi
root@linux-03:~# sed -n -e 's/^\([a-z0-9]\+\).*/\1/p' < /etc/initramfs-tools/modules
ahci
libahci
mptbase
mptscsih
mptspi
pata
scsi

The part that really confuses me is why this worked before???

Anyway, fixing it is simple: Add _ to the sed expression 😄


[Export of Github issue for rear/rear.]