[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sysvinit-devel] New auto-console feature

From: Grzegorz Borowiak
Subject: [sysvinit-devel] New auto-console feature
Date: Tue, 18 Sep 2018 07:44:54 +0000

Dear sysvinit Development Team,

I am an embedded systems programmer, also a sysvinit user and I wish to share with you my concerns about this recently introduced feature:

There are some problems with it.

p1. It breaks compatibility. For example, if kernel params include "console=ttyS0" and file /etc/inittab already cotains an entry like this:

s0:12345:respawn:/sbin/agetty ttyS0 115200 linux

the sysvinit will not notice that there already is an agetty running on ttyS0 and will launch another one. Two agettys will share ttyS0 and produce bizzare effects - prompts of both shells will randomly alternate on the console, and the characters from input will go randomly to one shell or another.

I encountered an effect like this - an upgrade of sysvinit (without changing configuration) broke my boxes. 

p2. It ignores the baudrate from kernel params. If kernel params include "console=ttyS0,9600", the baudrate 9600 will be ignored (not passed to agetty).

p3. It hardcodes too much. Essentially, it runs:

/sbin/agetty -L -s 115200,38400,9600 ${console_id} vt102

with ${console_id} as the only softcoded thing. Someone might want to:

- use other program than /sbin/agetty

- use other terminal than vt102

- use other options than -L -s (for example, -l or -n)

For example, I use /sbin/agetty, but with non-standard options.

p4. In many cases, when the /sbin/init starts, /proc is not mounted yet, therefore /proc/cmdline is not available and the feature does not work anyway.

I understand that solving p3 (i.e. softcoding everything) would be complex, and /sbin/init is expected to be simple and stable.

However, I strongly believe that at least p1 should be adressed. I believe that this feature should not be enabled by default. It should depend on some kind of switch (in /etc/inittab or in some other file, maybe in kernel params).


Grzegorz Borowiak

reply via email to

[Prev in Thread] Current Thread [Next in Thread]