From: nerdopolis <bluescreen_avenger@verizon.net>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: pmladek@suse.com, rostedt@goodmis.org, john.ogness@linutronix.de,
senozhatsky@chromium.org, tglx@linutronix.de, tony@atomide.com,
linux-kernel@vger.kernel.org
Subject: Re: VT-less kernels, and /dev/console on x86
Date: Sun, 18 Aug 2024 10:30:22 -0400 [thread overview]
Message-ID: <1947584.IobQ9Gjlxr@nerdopolis2> (raw)
In-Reply-To: <3669532.hdfAi7Kttb@nerdopolis2>
On Sunday, August 18, 2024 8:33:25 AM EDT nerdopolis wrote:
> On Sunday, August 18, 2024 1:12:14 AM EDT Greg KH wrote:
> > On Sat, Aug 17, 2024 at 08:09:20PM -0400, nerdopolis wrote:
> > > Hi
> > >
> > > I originally brought this up on linux-serial, but I think it makes more sense
> > > that it's part of how printk console device selection works. Without VTs, while
> > > most software is able to handle the situation, some userspace programs expect
> > > /dev/console to still be responsive. Namely systemd. It calls isatty() against
> > > /dev/console, and since /dev/console on VT-less systems currently defaults to
> > > /dev/ttyS0, and when /dev/ttyS0 is disconnected, the ioctl's fail, and it
> > > refuses to write log messages to it.
> > >
> > > There doesn't seem to be a mailing list for printk, so I had to use
> > > get_maintainer.pl. Hopefully this is correct
> > >
> > >
> > > After some grepping and guessing and testing, and playing around Something like
> > > diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig
> > > index a45d423ad10f..f94a4632aab0 100644
> > > --- a/drivers/tty/Kconfig
> > > +++ b/drivers/tty/Kconfig
> > > @@ -384,9 +384,12 @@ config NULL_TTY
> > >
> > > In order to use this driver, you should redirect the console to this
> > > TTY, or boot the kernel with console=ttynull.
> > > -
> > > If unsure, say N.
> > >
> > > +config NULL_TTY_CONSOLE
> > > + bool "Supports /dev/ttynull as a console automatically"
> > > + depends on NULL_TTY && !VT_CONSOLE
> > > +
> > > config VCC
> > > tristate "Sun Virtual Console Concentrator"
> > > depends on SUN_LDOMS
> > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
> > > index dddb15f48d59..c1554a789de8 100644
> > > --- a/kernel/printk/printk.c
> > > +++ b/kernel/printk/printk.c
> > > @@ -3712,6 +3712,11 @@ void __init console_init(void)
> > > initcall_t call;
> > > initcall_entry_t *ce;
> > >
> > > +#ifdef CONFIG_NULL_TTY_CONSOLE
> > > + if (!strstr(boot_command_line, "console="))
> > > + add_preferred_console("ttynull", 0, NULL);
> > > +#endif
> > > +
> > > /* Setup the default TTY line discipline. */
> > > n_tty_init();
> > >
> > >
> > >
> > >
> > > seems to work, it conflicts with CONFIG_VT_CONSOLE since it is effectively
> > > redundant, it is optional, so that it doesn't cause any changes to
> > > configurations, that historically had CONFIG_VT_CONSOLE turned off in the past,
> > > and for bootloader configs, it won't change any behavior if the kernel command
> > > line has a console device specified
> >
> > What is wrong with just setting the kernel command line for this
> > instead?
> >
> When they eventually start shipping kernels without VTs, they will then have to
> include a script in their upgrade process that runs
>
> sed -i "s/GRUB_CMDLINE_LINUX_DEFAULT=\"/GRUB_CMDLINE_LINUX_DEFAULT=\"nomodeset /g" /etc/default/grub
Ugh, I meant
sed -i "s/GRUB_CMDLINE_LINUX_DEFAULT=\"/GRUB_CMDLINE_LINUX_DEFAULT=\"console=ttynull /g" /etc/default/grub
sorry
>
> (Assuming they are using Grub)
> > thanks,
> >
> > greg k-h
> >
>
>
>
>
>
next prev parent reply other threads:[~2024-08-18 14:50 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <2669238.7s5MMGUR32.ref@nerdopolis2>
2024-08-18 0:09 ` VT-less kernels, and /dev/console on x86 nerdopolis
2024-08-18 1:07 ` Bagas Sanjaya
2024-08-18 2:31 ` nerdopolis
2024-08-18 5:12 ` Greg KH
2024-08-18 14:33 ` nerdopolis
2024-08-18 5:12 ` Greg KH
2024-08-18 12:33 ` nerdopolis
2024-08-18 14:30 ` nerdopolis [this message]
2024-08-19 15:09 ` Steven Rostedt
2024-08-19 15:50 ` nerdopolis
2024-08-20 13:29 ` Petr Mladek
2024-08-21 17:12 ` nerdopolis
2024-08-22 10:05 ` Petr Mladek
2024-08-22 12:49 ` nerdopolis
2024-08-27 12:53 ` nerdopolis
2024-08-27 13:46 ` Willy Tarreau
2024-09-12 16:48 ` nerdopolis
2024-09-12 17:25 ` Willy Tarreau
2024-09-12 18:46 ` nerdopolis
2024-09-13 2:22 ` nerdopolis
2024-09-17 12:54 ` nerdopolis
2024-10-15 13:26 ` nerdopolis
2024-09-12 12:29 ` nerdopolis
2024-09-12 13:27 ` Petr Mladek
2024-10-09 9:24 ` Bernd Petrovitsch
2024-10-09 17:49 ` 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=1947584.IobQ9Gjlxr@nerdopolis2 \
--to=bluescreen_avenger@verizon.net \
--cc=gregkh@linuxfoundation.org \
--cc=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=senozhatsky@chromium.org \
--cc=tglx@linutronix.de \
--cc=tony@atomide.com \
/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.