[RFC] procd: Use /dev/console for serial console if exists
Gaurav Pathak
gaurav.pathak at pantacor.com
Sat Apr 24 16:35:58 BST 2021
As Daniel mentioned, this change is for providing the capability to container
environment to be able to login using PTY.
Also, there can be a case when console option is not passed to kernel command line,
in that case we should try and check for the presence of /dev/console character
device (5,1) and use it if it is present before trying "/sys/class/tty/console/active".
On Sat, Apr 24, 2021 at 02:54:26PM +0100, Daniel Golle wrote:
> On Sat, Apr 24, 2021 at 03:39:51AM -1000, Paul Spooren wrote:
> >
> > On 4/24/21 1:01 AM, Gaurav Pathak wrote:
> > > Modified inittab.c to use "/dev/console" as preferred console if exists.
> > >
> > > Signed-off-by: Gaurav Pathak <gaurav.pathak at pantacor.com>
> > > ---
> >
> > Could you please elaborate why this is useful?
>
> Container environments typically provide /dev/console PTY, hence it's
> nice to be able to login on that console.
>
> >
> > > Edited inittab.c to check and use "/dev/console" as the first
> > > console device before parsing "/sys/class/tty/console/active".
> > > inittab.c | 8 +++++++-
> > > 1 file changed, 7 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/inittab.c b/inittab.c
> > > index 2c2270c..716bcee 100644
> > > --- a/inittab.c
> > > +++ b/inittab.c
> > > @@ -190,7 +190,13 @@ static void askconsole(struct init_action *a)
> > > */
> > > tty = get_cmdline_val("console", line, sizeof(line));
> > > if (tty == NULL) {
> > > - tty = get_active_console(line, sizeof(line));
> > > + if (dev_exist("/dev/console")) {
> > > + tty = "/dev/console";
> > > + }
> > > + else {
> > > + tty = get_active_console(line, sizeof(line));
> > > + }
> > > +
> > > }
> > > if (tty != NULL) {
> > > split = strchr(tty, ',');
> >
> > _______________________________________________
> > openwrt-devel mailing list
> > openwrt-devel at lists.openwrt.org
> > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list