public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
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]
> > -=-=-=-=-=-=-=-=-=-=-=-
> > 
> 
> 


  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