public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] [PATCH v2] kernel-install.eclass: fix test phase on systemd systems
Date: Mon, 11 Dec 2023 12:55:11 +0100	[thread overview]
Message-ID: <53b2d3e6b25681999ac68d9302818d17bdf8e4ea.camel@gentoo.org> (raw)
In-Reply-To: <295e7517-98c4-4397-96a3-96388e81d078@gentoo.org>

[-- Attachment #1: Type: text/plain, Size: 2894 bytes --]

On Mon, 2023-12-11 at 12:22 +0100, Andrew Ammerlaan wrote:
> > > +	# Initrd images with systemd require some os-release file
> > > +	cat <<-EOT >> "${imageroot}/etc/os-release" || die
> > > +	NAME=Gentoo
> > > +	ID=gentoo
> > > +	PRETTY_NAME="Gentoo Linux"
> > > +	ANSI_COLOR="1;32"
> > > +	HOME_URL="https://www.gentoo.org/"
> > > +	SUPPORT_URL="https://www.gentoo.org/support/"
> > > +	BUG_REPORT_URL="https://bugs.gentoo.org/"
> > > +	VERSION_ID="dist-kernel testing"
> > > +	EOT
> > > 
> > 
> > Can't we just copy it from host?
> > 
> I guess we can, we would be assuming that the host has a valid one but 
> this shouldn't be a problem since at least for systemd systems you can 
> apparently not boot at all if it is not valid. v2:
> 
>  From 0a22dcc93c8ba16cdb450f2443ad256e56111d6e Mon Sep 17 00:00:00 2001
> From: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
> Date: Mon, 11 Dec 2023 08:36:58 +0100
> Subject: [PATCH] kernel-install.eclass: fix test phase on systemd systems
> 
> On systemd systems the dracut systemd modules are included automatically.
> Systemd insists our dummy root has some valid /etc/os-release file, 
> otherwise
> it refuses the switch root operation. However, with this fix it still 
> does not
> boot up correctly on systemd systems, it gets stuck in an infinite boot 
> loop.
> Presumably the reason has something to do with our dummy root not having 
> a real
> systemd init to switch root to. We add the systemd dracut modules to the 
> omit
> list to prevent the problem and ensure the test phase behaves the same on
> systemd and non-systemd systems.
> 
> Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
> ---
>   eclass/kernel-install.eclass | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
> index b4d84f3986c0d..e244f6d51a9cd 100644
> --- a/eclass/kernel-install.eclass
> +++ b/eclass/kernel-install.eclass
> @@ -231,6 +231,8 @@ kernel-install_create_qemu_image() {
>   	# some layout needed to pass dracut's usable_root() validation
>   	mkdir -p "${imageroot}"/{bin,dev,etc,lib,proc,root,sbin,sys} || die
>   	touch "${imageroot}/lib/ld-fake.so" || die
> +	# Initrd images with systemd require some os-release file
> +	cp /etc/os-release "${imageroot}/etc/os-release" || die

This should probably be BROOT.

> 
>   	kernel-install_create_init "${imageroot}/sbin/init"
> 
> @@ -263,6 +265,7 @@ kernel-install_test() {
>   		plymouth # hangs, or sometimes steals output
>   		rngd # hangs or segfaults sometimes
>   		i18n # copies all the fonts from /usr/share/consolefonts
> +		dracut-systemd systemd systemd-initrd # gets stuck in boot loop
>   	)
> 
>   	# NB: if you pass a path that does not exist or is not a regular
> 
> 

-- 
Best regards,
Michał Górny


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 512 bytes --]

      reply	other threads:[~2023-12-11 11:55 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-11  7:43 [gentoo-dev] [PATCH] kernel-install.eclass: fix test phase on systemd systems Andrew Ammerlaan
2023-12-11 11:11 ` Michał Górny
2023-12-11 11:22   ` [gentoo-dev] [PATCH v2] " Andrew Ammerlaan
2023-12-11 11:55     ` Michał Górny [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53b2d3e6b25681999ac68d9302818d17bdf8e4ea.camel@gentoo.org \
    --to=mgorny@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox