A port to 386BSD, NetBSD, FreeBSD has been done by Martin Husemann, email@example.com, and Gunther Shadow, firstname.lastname@example.org.
I think it works quite well, except that the
VTIME mechanism to
read() calls doesn’t work in older *BSD versions. If
mgetty hangs, with the last line in the log file being something
like “waiting for line to clear”, upgrade your kernel, or, if you can’t
do that, compile
-DBROKEN_VTIME (in that case,
select() will be used).
For older versions of BSD Unix that do not have termios.h, you’ll have to complete the unfinished support for sgtty.h in tio.c and tio.h.
Generally, BSD Unices do not have a /etc/inittab as system V has. Instead, they have /etc/ttys (or sometimes /etc/ttytab on really old BSD systems). Thus, you have to enter a line like
cua0 "/usr/local/sbin/mgetty -x 3 cua0" vt100
cua00 "/usr/local/sbin/mgetty -x 3" vt100 on insecure
there. See the corresponding manpage for an exect description of the files format on your system. Don’t forget to remove (or comment out) the original getty on the corresponding /dev/tty* line.