All of lore.kernel.org
 help / color / mirror / Atom feed
From: nerdopolis <bluescreen_avenger@verizon.net>
To: linux-serial@vger.kernel.org, gregkh@linuxfoundation.org,
	jirislaby@kernel.org
Subject: /dev/ttynull and VT-less kernels on Desktop
Date: Sun, 04 Aug 2024 17:45:07 -0400	[thread overview]
Message-ID: <2708910.X9hSmTKtgW@nerdopolis2> (raw)
In-Reply-To: 2708910.X9hSmTKtgW.ref@nerdopolis2

Hi

I have been doing some testing on VT-less desktops. I brought up an issue with
how systemd was not logging to /dev/console because isatty() was failing (in a
thread last month which I kind of bungled by accidentally sending the first
message with rich text enabled by accident) I solved that issue though. As
disabling the VT console causes the default console to /dev/ttyS0 and the 
isatty() calls on it were returning false.

I have found out that this issue actually already has an existing solution in
the ttynull driver. After enabling it, and then adding console=ttynull to the
kernel command line, this allows isatty() to succeed on VT-less systems, and
now systemd is able to correctly log its status messages to the kernel console
on VT-less systems, without needing anything connected to /dev/ttyS0

However I have two questions:

1. Is there a build option to make it prioritize /dev/ttynull over /dev/ttyS0 ?

   It would probably be neeed so that distributions don't have to worry about
   the logistics of adding that to everyone's GRUB_CMDLINE_LINUX_DEFAULT come
   the eventual day the decide to go VT-less during its upgrade process.

2. Is there a good way for the userspace to know that /dev/ttynull is primary?

   "ttynull" doesn't seem to appear in /sys/devices/virtual/tty/console/active
   when it is active. Which seems like it could make sense, (as in a check if
   it is empty) however if I boot with "console=ttyS0 console=ttynull", "ttyS0"
   appears in the file, but if I boot with say "console=tty0 console=ttyS0",
   they both appear in the file. It would be nice if in the first case it would
   report "ttyS0 ttynull".

   With Plymouth, when the primary console is /dev/ttyS0 instead of /dev/tty0
   it defaults to serial logging instead of showing a graphical splash, so now
   if you want a graphical splash on a VT-less system, you have to also specify
   "plymouth.graphical" on the kernel command line. If it could see "ttynull"
   in the end of the file, distributions that go VT-less can also just enable
   "ttynull" as the default console, and Plymouth could use that to
   differentiate between VT-less desktop systems, or systems that actually want
   serial logging, so they don't have to change GRUB_CMDLINE_LINUX_DEFAULT.

Thanks




       reply	other threads:[~2024-08-04 22:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <2708910.X9hSmTKtgW.ref@nerdopolis2>
2024-08-04 21:45 ` nerdopolis [this message]
2024-08-06  1:16   ` /dev/ttynull and VT-less kernels on Desktop nerdopolis
2024-08-10 15:10     ` nerdopolis

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=2708910.X9hSmTKtgW@nerdopolis2 \
    --to=bluescreen_avenger@verizon.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=linux-serial@vger.kernel.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.