* [PATCH v2] util/grub.d/linux: Improve initramfs detection
@ 2022-03-28 3:41 Oskari Pirhonen
2022-04-07 15:44 ` Daniel Kiper
0 siblings, 1 reply; 4+ messages in thread
From: Oskari Pirhonen @ 2022-03-28 3:41 UTC (permalink / raw)
To: grub-devel
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 <xxc3ncoredxx@gmail.com>
---
v1 -> v2:
- don't reorder the checks
- include 20_linux_xen.in
util/grub.d/10_linux.in | 17 +++++++++--------
util/grub.d/20_linux_xen.in | 29 +++++++++++++++--------------
2 files changed, 24 insertions(+), 22 deletions(-)
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index ca068038e..cb049e943 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -215,14 +215,15 @@ 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
+ for i in "initrd.img-${version}" "initrd-${version}.img" \
+ "initrd-${alt_version}.img.old" "initrd-${version}.gz" \
+ "initrd-${alt_version}.gz.old" "initrd-${version}" \
+ "initramfs-${version}.img" "initramfs-${alt_version}.img.old" \
+ "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
diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
index f45559ff8..5a1b7b7d4 100644
--- a/util/grub.d/20_linux_xen.in
+++ b/util/grub.d/20_linux_xen.in
@@ -283,20 +283,21 @@ while [ "x${xen_list}" != "x" ] ; do
alt_version=`echo $version | sed -e "s,\.old$,,g"`
linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
- 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
+ initrd_real=
+ for i in "initrd.img-${version}" "initrd-${version}.img" \
+ "initrd-${alt_version}.img.old" "initrd-${version}.gz" \
+ "initrd-${alt_version}.gz.old" "initrd-${version}" \
+ "initramfs-${version}.img" "initramfs-${alt_version}.img.old" \
+ "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
initrd=
if test -n "${initrd_early}" || test -n "${initrd_real}"; then
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] util/grub.d/linux: Improve initramfs detection
2022-03-28 3:41 [PATCH v2] util/grub.d/linux: Improve initramfs detection Oskari Pirhonen
@ 2022-04-07 15:44 ` Daniel Kiper
2022-04-08 2:35 ` Oskari Pirhonen
0 siblings, 1 reply; 4+ messages in thread
From: Daniel Kiper @ 2022-04-07 15:44 UTC (permalink / raw)
To: grub-devel
On Sun, Mar 27, 2022 at 10:41:31PM -0500, Oskari Pirhonen wrote:
> 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.
You are mentioning initramfs* files but the patch adds also initrd*
files. Could you explain that in the commit message?
> Signed-off-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
You are breaking indention in the patch.
> ---
> v1 -> v2:
> - don't reorder the checks
> - include 20_linux_xen.in
>
> util/grub.d/10_linux.in | 17 +++++++++--------
> util/grub.d/20_linux_xen.in | 29 +++++++++++++++--------------
> 2 files changed, 24 insertions(+), 22 deletions(-)
>
> diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
> index ca068038e..cb049e943 100644
> --- a/util/grub.d/10_linux.in
> +++ b/util/grub.d/10_linux.in
> @@ -215,14 +215,15 @@ 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
> + for i in "initrd.img-${version}" "initrd-${version}.img" \
> + "initrd-${alt_version}.img.old" "initrd-${version}.gz" \
> + "initrd-${alt_version}.gz.old" "initrd-${version}" \
> + "initramfs-${version}.img" "initramfs-${alt_version}.img.old" \
> + "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}" \
Here...
> + "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
Ditto...
> if test -e "${dirname}/${i}" ; then
> initrd_real="${i}"
> break
> diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
> index f45559ff8..5a1b7b7d4 100644
> --- a/util/grub.d/20_linux_xen.in
> +++ b/util/grub.d/20_linux_xen.in
> @@ -283,20 +283,21 @@ while [ "x${xen_list}" != "x" ] ; do
> alt_version=`echo $version | sed -e "s,\.old$,,g"`
> linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
>
> - 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
> + initrd_real=
And here...
> + for i in "initrd.img-${version}" "initrd-${version}.img" \
> + "initrd-${alt_version}.img.old" "initrd-${version}.gz" \
> + "initrd-${alt_version}.gz.old" "initrd-${version}" \
> + "initramfs-${version}.img" "initramfs-${alt_version}.img.old" \
> + "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
> + "initrd-${alt_version}" "initramfs-${alt_version}.img" \
> + "initramfs-genkernel-${version}" "initramfs-genkernel-${alt_version}" \
I would leave these two file names in separate lines. Same above...
> + "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
> + "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
> + if test -e "${dirname}/${i}" ; then
> + initrd_real="${i}"
> + break
> + fi
> + done
Again, broken indention... It is almost in every line of this patch.
Daniel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] util/grub.d/linux: Improve initramfs detection
2022-04-07 15:44 ` Daniel Kiper
@ 2022-04-08 2:35 ` Oskari Pirhonen
2022-04-27 14:45 ` Daniel Kiper
0 siblings, 1 reply; 4+ messages in thread
From: Oskari Pirhonen @ 2022-04-08 2:35 UTC (permalink / raw)
To: grub-devel
[-- Attachment #1: Type: text/plain, Size: 5320 bytes --]
On Thu, Apr 07, 2022 at 05:44:18PM +0200, Daniel Kiper wrote:
> On Sun, Mar 27, 2022 at 10:41:31PM -0500, Oskari Pirhonen wrote:
> > 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.
>
> You are mentioning initramfs* files but the patch adds also initrd*
> files. Could you explain that in the commit message?
Yeah, I can do that.
>
> > Signed-off-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
>
> You are breaking indention in the patch.
>
> > ---
> > v1 -> v2:
> > - don't reorder the checks
> > - include 20_linux_xen.in
> >
> > util/grub.d/10_linux.in | 17 +++++++++--------
> > util/grub.d/20_linux_xen.in | 29 +++++++++++++++--------------
> > 2 files changed, 24 insertions(+), 22 deletions(-)
> >
> > diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
> > index ca068038e..cb049e943 100644
> > --- a/util/grub.d/10_linux.in
> > +++ b/util/grub.d/10_linux.in
> > @@ -215,14 +215,15 @@ 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
> > + for i in "initrd.img-${version}" "initrd-${version}.img" \
> > + "initrd-${alt_version}.img.old" "initrd-${version}.gz" \
> > + "initrd-${alt_version}.gz.old" "initrd-${version}" \
> > + "initramfs-${version}.img" "initramfs-${alt_version}.img.old" \
> > + "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}" \
>
> Here...
>
> > + "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
>
> Ditto...
>
> > if test -e "${dirname}/${i}" ; then
> > initrd_real="${i}"
> > break
> > diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
> > index f45559ff8..5a1b7b7d4 100644
> > --- a/util/grub.d/20_linux_xen.in
> > +++ b/util/grub.d/20_linux_xen.in
> > @@ -283,20 +283,21 @@ while [ "x${xen_list}" != "x" ] ; do
> > alt_version=`echo $version | sed -e "s,\.old$,,g"`
> > linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
> >
> > - 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
> > + initrd_real=
>
> And here...
>
> > + for i in "initrd.img-${version}" "initrd-${version}.img" \
> > + "initrd-${alt_version}.img.old" "initrd-${version}.gz" \
> > + "initrd-${alt_version}.gz.old" "initrd-${version}" \
> > + "initramfs-${version}.img" "initramfs-${alt_version}.img.old" \
> > + "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
> > + "initrd-${alt_version}" "initramfs-${alt_version}.img" \
> > + "initramfs-genkernel-${version}" "initramfs-genkernel-${alt_version}" \
>
> I would leave these two file names in separate lines. Same above...
OK.
>
> > + "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
> > + "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
> > + if test -e "${dirname}/${i}" ; then
> > + initrd_real="${i}"
> > + break
> > + fi
> > + done
>
> Again, broken indention... It is almost in every line of this patch.
That is actually something I wanted to address in a separate thread. The
indentation/style feels kind of all over the place in the few files in
grub.d/ that I glanced at. Some lines are indented with spaces, others
with tabs. Sometimes variables are substituted with $var, other times
with ${var}. Sometimes if [ ... ] is used, other times if test ... is.
If there isn't already an existing style guide that I can reference, I
would like to establish one and then re-style these scripts to be
consistent with that. But it'd have to be a separate endeavor in that
case.
In the meantime, how would you like me to indent the lines in this
patch?
- Oskari
>
> Daniel
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] util/grub.d/linux: Improve initramfs detection
2022-04-08 2:35 ` Oskari Pirhonen
@ 2022-04-27 14:45 ` Daniel Kiper
0 siblings, 0 replies; 4+ messages in thread
From: Daniel Kiper @ 2022-04-27 14:45 UTC (permalink / raw)
To: xxc3ncoredxx; +Cc: grub-devel
Sorry, somehow I missed your reply...
On Thu, Apr 07, 2022 at 09:35:19PM -0500, Oskari Pirhonen wrote:
> On Thu, Apr 07, 2022 at 05:44:18PM +0200, Daniel Kiper wrote:
> > On Sun, Mar 27, 2022 at 10:41:31PM -0500, Oskari Pirhonen wrote:
> > > 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.
> >
> > You are mentioning initramfs* files but the patch adds also initrd*
> > files. Could you explain that in the commit message?
>
> Yeah, I can do that.
Cool! Thanks!
> > > Signed-off-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
> >
> > You are breaking indention in the patch.
> >
> > > ---
> > > v1 -> v2:
> > > - don't reorder the checks
> > > - include 20_linux_xen.in
> > >
> > > util/grub.d/10_linux.in | 17 +++++++++--------
> > > util/grub.d/20_linux_xen.in | 29 +++++++++++++++--------------
> > > 2 files changed, 24 insertions(+), 22 deletions(-)
> > >
> > > diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
> > > index ca068038e..cb049e943 100644
> > > --- a/util/grub.d/10_linux.in
> > > +++ b/util/grub.d/10_linux.in
> > > @@ -215,14 +215,15 @@ 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
> > > + for i in "initrd.img-${version}" "initrd-${version}.img" \
> > > + "initrd-${alt_version}.img.old" "initrd-${version}.gz" \
> > > + "initrd-${alt_version}.gz.old" "initrd-${version}" \
> > > + "initramfs-${version}.img" "initramfs-${alt_version}.img.old" \
> > > + "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}" \
> >
> > Here...
> >
> > > + "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
> >
> > Ditto...
> >
> > > if test -e "${dirname}/${i}" ; then
> > > initrd_real="${i}"
> > > break
> > > diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
> > > index f45559ff8..5a1b7b7d4 100644
> > > --- a/util/grub.d/20_linux_xen.in
> > > +++ b/util/grub.d/20_linux_xen.in
> > > @@ -283,20 +283,21 @@ while [ "x${xen_list}" != "x" ] ; do
> > > alt_version=`echo $version | sed -e "s,\.old$,,g"`
> > > linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
> > >
> > > - 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
> > > + initrd_real=
> >
> > And here...
> >
> > > + for i in "initrd.img-${version}" "initrd-${version}.img" \
> > > + "initrd-${alt_version}.img.old" "initrd-${version}.gz" \
> > > + "initrd-${alt_version}.gz.old" "initrd-${version}" \
> > > + "initramfs-${version}.img" "initramfs-${alt_version}.img.old" \
> > > + "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
> > > + "initrd-${alt_version}" "initramfs-${alt_version}.img" \
> > > + "initramfs-genkernel-${version}" "initramfs-genkernel-${alt_version}" \
> >
> > I would leave these two file names in separate lines. Same above...
>
> OK.
>
> >
> > > + "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
> > > + "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
> > > + if test -e "${dirname}/${i}" ; then
> > > + initrd_real="${i}"
> > > + break
> > > + fi
> > > + done
> >
> > Again, broken indention... It is almost in every line of this patch.
>
> That is actually something I wanted to address in a separate thread. The
> indentation/style feels kind of all over the place in the few files in
> grub.d/ that I glanced at. Some lines are indented with spaces, others
> with tabs. Sometimes variables are substituted with $var, other times
> with ${var}. Sometimes if [ ... ] is used, other times if test ... is.
Try to keep with a style in a given file in util/grub.d.
> If there isn't already an existing style guide that I can reference, I
> would like to establish one and then re-style these scripts to be
> consistent with that. But it'd have to be a separate endeavor in that
> case.
Yeah, I think it would be nice to fix that mess at some point.
> In the meantime, how would you like me to indent the lines in this
> patch?
If you need more than 7 spaces then use tabs first and spaces after that
as needed.
Daniel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-04-27 15:25 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-28 3:41 [PATCH v2] util/grub.d/linux: Improve initramfs detection Oskari Pirhonen
2022-04-07 15:44 ` Daniel Kiper
2022-04-08 2:35 ` Oskari Pirhonen
2022-04-27 14:45 ` Daniel Kiper
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.