sysvinit-devel
[Top][All Lists]
Advanced

[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:

http://git.savannah.nongnu.org/cgit/sysvinit.git/commit/?id=6e3e87bf32664aaf996d5b7b1eef3b9441ba19ac


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).


Sincerely,

Grzegorz Borowiak




reply via email to

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