From: Jon Mason <jdmason@kudzu.us>
To: Mikko Rapeli <mikko.rapeli@linaro.org>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH v2] default-distrovars: Have KERNEL_CONSOLE reference SERIAL_CONSOLES
Date: Fri, 30 Aug 2024 09:39:19 -0400 [thread overview]
Message-ID: <ZtHLhyp28XsDjZ4q@kudzu.us> (raw)
In-Reply-To: <ZtGd3Wb7E4ocBXb_@nuoska>
On Fri, Aug 30, 2024 at 01:24:29PM +0300, Mikko Rapeli wrote:
> Hi,
>
> On Thu, Aug 29, 2024 at 05:41:44PM -0400, Jon Mason via lists.openembedded.org wrote:
> > Currently, KERNEL_CONSOLE has a default value of "ttyS0". However, Arm
> > machines and those using virtio serial prefer to use "ttyAMA0" or "hvc0"
> > (or something else). These are usually defined by the machine config
> > file as SERIAL_CONSOLES, which has one or more entries. Take the first
> > one of those instead of ttyS0, but default back to ttyS0 if nothing is
> > set.
> >
> > Also, use this variable in the efi wic file instead of "ttyS0".
>
> What kind of issues prompted this patch?
>
> I ran into possibly similar issues recently where a machine config
> and image is meant for multiple arm64 machines and serial console
> login stopped working on some of them. The kernel console messages
> were on the correct serial port on all machines but systemd-serialgetty recipe
> setup was not. I switched from the yocto specific systemd-serialgetty
> to upstream systemd which fixed all issues and serial getty is
> now on all needed serial ports (based on our test setup):
>
> systemd_%.bbappend:
>
> PACKAGECONFIG:append = " serial-getty-generator"
>
> In our setup we also can't set the default console via kernel command line
> since that changes between machines.
The origin of this is getting poky-altcfg working on fvp-base.
systemd wasn't printing to term because console wasn't specified in
the meta-arm efi-disk.wks.in file, which is based on
scripts/lib/wic/canned-wks/mkefidisk.wks
For portability, this needed to be a variable, and KERNEL_CONSOLE
seems like the right choice. There are a lot of arm based machines
out there with ttyAMA0 and a few that are ttyS0. So it cannot be a
arch based choice, and the machine conf file probably already has
SERIAL_CONSOLES set. So, we can be dynamic here and get the proper
value for most things.
Now, we could be super smart and add all of the consoles in
SERIAL_CONSOLES, but I think that might be a bit too much.
Anyway, probably a few more wks changes coming to allow me to remove
them from meta-arm.
Thanks,
Jon
>
> Cheers,
>
> -Mikko
>
> > Signed-off-by: Jon Mason <jdmason@kudzu.us>
> > ---
> > meta/conf/distro/include/default-distrovars.inc | 3 ++-
> > scripts/lib/wic/canned-wks/mkefidisk.wks | 2 +-
> > 2 files changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/conf/distro/include/default-distrovars.inc b/meta/conf/distro/include/default-distrovars.inc
> > index 7554081e8b1a..976ff4adc526 100644
> > --- a/meta/conf/distro/include/default-distrovars.inc
> > +++ b/meta/conf/distro/include/default-distrovars.inc
> > @@ -1,7 +1,8 @@
> > QA_LOGFILE = "${TMPDIR}/qa.log"
> >
> > OEINCLUDELOGS ?= "yes"
> > -KERNEL_CONSOLE ?= "ttyS0"
> > +# if SERIAL_CONSOLES is set, take the first device entry. Otherwise use ttyS0 as the default
> > +KERNEL_CONSOLE ?= "${@d.getVar('SERIAL_CONSOLES').split(' ')[0].split(';')[1]},${@d.getVar('SERIAL_CONSOLES').split(' ')[0].split(';')[0] or 'ttyS0'}"
> > KEEPUIMAGE ??= "yes"
> >
> > DEFAULT_IMAGE_LINGUAS = "en-us en-gb"
> > diff --git a/scripts/lib/wic/canned-wks/mkefidisk.wks b/scripts/lib/wic/canned-wks/mkefidisk.wks
> > index 9f534fe18471..5fa6682a9e10 100644
> > --- a/scripts/lib/wic/canned-wks/mkefidisk.wks
> > +++ b/scripts/lib/wic/canned-wks/mkefidisk.wks
> > @@ -8,4 +8,4 @@ part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024
> >
> > part swap --ondisk sda --size 44 --label swap1 --fstype=swap
> >
> > -bootloader --ptable gpt --timeout=5 --append="rootfstype=ext4 console=ttyS0,115200 console=tty0"
> > +bootloader --ptable gpt --timeout=5 --append="rootfstype=ext4 console=${KERNEL_CONSOLE} console=tty0"
> > --
> > 2.39.2
> >
>
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#203948): https://lists.openembedded.org/g/openembedded-core/message/203948
> > Mute This Topic: https://lists.openembedded.org/mt/108169885/7159507
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [mikko.rapeli@linaro.org]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
>
next prev parent reply other threads:[~2024-08-30 13:39 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-29 21:41 [PATCH v2] default-distrovars: Have KERNEL_CONSOLE reference SERIAL_CONSOLES Jon Mason
2024-08-30 10:24 ` [OE-core] " Mikko Rapeli
2024-08-30 13:39 ` Jon Mason [this message]
2024-08-30 14:07 ` Quentin Schulz
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=ZtHLhyp28XsDjZ4q@kudzu.us \
--to=jdmason@kudzu.us \
--cc=mikko.rapeli@linaro.org \
--cc=openembedded-core@lists.openembedded.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