On Thu, Mar 24, 2022 at 06:11:25PM +0100, Daniel Kiper wrote: > On Wed, Mar 16, 2022 at 11:21:51PM -0500, Oskari Pirhonen wrote: > > Prefer using a *.old initramfs for *.old kernels if it exists. Otherwise > > look for an initramfs without the suffix. > > > > Also add detection for initramfs of the form *.img.old. For example, > > Gentoo's sys-kernel/genkernel installs it as initramfs-*.img and moves > > any existing one to initramfs-*.img.old. > > > > Signed-off-by: Oskari Pirhonen <xxc3ncore...@gmail.com> > > --- > > util/grub.d/10_linux.in | 41 ++++++++++++++++++++++++++++------------- > > You should update the util/grub.d/20_linux_xen.in too.
Good point. > > > 1 file changed, 28 insertions(+), 13 deletions(-) > > > > diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in > > index ca068038e..4a666c317 100644 > > --- a/util/grub.d/10_linux.in > > +++ b/util/grub.d/10_linux.in > > @@ -215,19 +215,34 @@ while [ "x$list" != "x" ] ; do > > done > > > > initrd_real= > > - for i in "initrd.img-${version}" "initrd-${version}.img" > > "initrd-${version}.gz" \ > > - "initrd-${version}" "initramfs-${version}.img" \ > > - "initrd.img-${alt_version}" "initrd-${alt_version}.img" \ > > - "initrd-${alt_version}" "initramfs-${alt_version}.img" \ > > - "initramfs-genkernel-${version}" \ > > - "initramfs-genkernel-${alt_version}" \ > > - "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \ > > - "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do > > - if test -e "${dirname}/${i}" ; then > > - initrd_real="${i}" > > - break > > - fi > > - done > > + # Prefer to match *.old kernel with *.old initramfs if it exists > > + if [ "${alt_version}" != "${version}" ]; then > > + for i in "initrd.img-${version}" "initrd-${version}.img" \ > > + "initrd-${alt_version}.img.old" "initrd-${version}.gz" \ > > + "initrd-${alt_version}.gz.old" "initrd-${version}" \ > > Why do you change order of images in comparison to the original above? > I think it should be more or less *${version} *${alt_version}.img.old > *${alt_version}.gz.old *${alt_version} and so on... I reordered it slightly, but tried to keep it the same in spirit. I can rework this though and submit a v2 including 20_linux_xen in it too. > > > + "initramfs-${version}.img" "initramfs-${alt_version}.img.old" \ > > + "initramfs-genkernel-${version}" \ > > + "initramfs-genkernel-${GENKERNEL_ARCH}-${version}"; do > > + if test -e "${dirname}/${i}" ; then > > + initrd_real="${i}" > > + break > > + fi > > + done > > + fi > > + > > + # alt_version == version or *.old initramfs not found > > + # use alt_version to handle both cases at once > > + if [ -z "${initrd_real}" ]; then > > + for i in "initrd.img-${alt_version}" "initrd-${alt_version}.img" \ > > + "initrd-${alt_version}.gz" "initrd-${alt_version}" \ > > + "initramfs-${alt_version}.img" > > "initramfs-genkernel-${alt_version}" \ > > + "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do > > + if test -e "${dirname}/${i}" ; then > > + initrd_real="${i}" > > + break > > + fi > > + done > > + fi > > Daniel - Oskari
signature.asc
Description: PGP signature
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel