[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