#2579 PR merged: Make 400_copy_modules.sh fail-safe for newer modinfo output and always include MODULES_LOAD

Labels: enhancement, fixed / solved / done

jsmeix opened issue at 2021-03-04 11:16:

  • Type: Enhancement

  • Impact: Low
    Without this adaption "rear mkrescue" on SLES15-SP3 errors out with
    ERROR: unix exists but no module file?
    bexause unix is a builtin kernel "module"
    when not the default MODULES=( 'all_modules' ) is used
    i.e. when modules need to be copied individually.

  • How was this pull request tested?
    Tested by me and others at SUSE on the upcoming SLES15-SP3

  • Brief description of the changes in this pull request:

Make build/GNU/Linux/400_copy_modules.sh fail-safe against
newer modinfo (in particular modinfo in kmod-27 since SLES15-SP3)
that outputs on stdout for builtin kernel "modules" and exits with zero exit code like

# modinfo -F filename unix
name:           unix
(builtin)

in contrast to older modinfo (in particular modinfo before kmod-27 since SLES15-SP3)
that outputs nothing on stdout for builtin kernel "modules" and exits with exit code 1 like

# modinfo -F filename unix
modinfo: ERROR: Module unix not found.

because otherwise copying builtin kernel "modules" would let "rear mkrescue"
error out with e.g. "ERROR: unix exists but no module file?"

Furthermore ensure that kernel modules that should be loaded
during recovery system startup (i.e. those in MODULES_LOAD)
get always copied into the recovery system.

jsmeix commented at 2021-03-08 13:38:

@rear/contributors
could you have a look here (perhaps you notice an obvious mistake)?
If there are no objections I would like to merge it tomorrow afternoon.


[Export of Github issue for rear/rear.]