All of lore.kernel.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 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.