#3155 PR merged: Update finalize/SUSE_LINUX/i386/550_rebuild_initramfs.sh

Labels: enhancement, bug, cleanup, fixed / solved / done

jsmeix opened issue at 2024-02-16 11:56:

  • Type: Bug Fix / Enhancement / Cleanup

  • Impact: High

  • Reference to related issue (URL):
    https://github.com/rear/rear/issues/3152

  • How was this pull request tested?
    Works well for me with SLES15-SP5

  • Description of the changes in this pull request:

Overhauled finalize/SUSE_LINUX/i386/550_rebuild_initramfs.sh

Now it uses dracut by default and mkinitrd as fallback
which fixes https://github.com/rear/rear/issues/3152
at least for me with SLES15-SP5.

Additionally improved the user messages
(in particular the warning messages)
to make it more clear that the point is
to decide if the recreated system will boot
with the initrd 'as is' from the backup restore.

Furthermore removed the whole INITRD_MODULES code
because INITRD_MODULES is not used and
/etc/sysconfig/kernel does no longer exist since SLES12 so the INITRD_MODULES code is dead code.

jsmeix commented at 2024-02-21 11:07:

@abbbi
could you please test if the overhauled
finalize/SUSE_LINUX/i386/550_rebuild_initramfs.sh
in this https://github.com/rear/rear/pull/3155
also works for you?

At least please respond when you cannot test it
or if you could not test it right now but later
so that I could better decide how to proceed here.

jsmeix commented at 2024-02-21 11:09:

@rear/contributors
when no comments or feedback appears here,
in particular when there are no objections,
I would like to merge it tomorrow afternoon.

lzaoral commented at 2024-02-21 11:47:

Hmm, thinking about it. The current initrd code for Suse has the same problem which was fixed for Fedora in https://github.com/rear/rear/pull/2873. At least on s390, the initrd will not be regenerated.

Also, if the code for SuSe and Fedora is very similar, it could make sense to just merge it?

jsmeix commented at 2024-02-21 13:22:

@lzaoral
merging finalize/Fedora/550_rebuild_initramfs.sh
and finalize/SUSE_LINUX/i386/550_rebuild_initramfs.sh
into one same code is something that could be done later
via a separated pull request if feasible in practice.

Currently finalize/Fedora/550_rebuild_initramfs.sh
is rather different because it deals with INITRD_MODULES
which I completely removed for SUSE here because that code
in finalize/SUSE_LINUX/i386/550_rebuild_initramfs.sh
was "very dead" code.

With this pull request I like to switch from
mkinitrd to dracut only for SUSE_LINUX/i386
as a first step.

In https://github.com/rear/rear/issues/3152
the discussion
https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/WKZFPUPW3BQ4GYLI4HIWLJDWANUOBLIT/
is mentioned which indicates that calling plain 'dracut'
is not always the same as calling plain 'mkinitrd'
regardless what some say about it's "just simple easy".

So I prefer to change such things in small steps
and wait some reasonable time for user feedback
because when my simplified and overhauled code
"just works" for me on my QEMU/KVM test system
it does not mean it also works for others, in particular
perhaps not on whatever rather special server hardware.

lzaoral commented at 2024-02-22 15:03:

@jsmeix Sure, the merging with Fedora is a topic for a separate PR. However, the issue described in https://github.com/rear/rear/pull/2873 is still valid for initrd regeneration on SuSe.


[Export of Github issue for rear/rear.]