HomeFreeBSD

MFC r315733, r315737, r315740, r330054:

Description

MFC r315733, r315737, r315740, r330054:

r315733 (imp):

Impelemnt ttys onifexists in init.

Implement a new init(8) option in /etc/ttys. If this option is present
on the entry in /etc/ttys, the entry will be active if and only if it
exists.  If the name starts with a '/', it will be considered an
absolute path. If not, it will be a path relative to /dev.

This allows one to turn off video console getty that aren't present
(while running a getty on them even when they aren't the system
console). Likewise with serial ports.

It differs from onifconsole in only requiring the device exist rather
than it be listed as one of the system consoles.

r315737 (ngie):

Unbreak world by adding sys/stat.h for stat(2)

r315740 (imp):

Simplify the code a little.

r330054 (trasz):

Improve missing tty handling in init(8).  This removes a check that did
nothing - it was checking for ENXIO, which, with devfs, is no longer
returned - and was badly placed anyway, and replaces it with similar
one that works, and is done just before starting getty, instead of being
done when rereading ttys(5).

From the practical point of view, this makes init(8) handle disappearing
terminals (eg /dev/ttyU*) gracefully, without unneccessary getty restarts
and resulting error messages.

Reported by: Bart Ender, Andre Albsmeier
PR: 228315
Blocks: 11.2-BETA2
Approved by: re (marius)
Sponsored by: The FreeBSD Foundation

Details

Provenance
gjbAuthored on
Parents
rS333795: Revert r333774, which renames stable/11 from BETA1 to BETA2 in
Branches
Unknown
Tags
Unknown