Coraid ethernet console

The idea is that server don't have easy console access for RS232 or VGA/PS2 access. We do have ethernet and to make this as reliable as possible, bypass the IP stack using cec.

git clone --mirror git://github.com/alejandroliu/lec.git /mirror/git/github.com/alejandroliu/lec.git
rm -rv /union/git/github.com/alejandroliu/lec.git
git clone /mirror/git/github.com/alejandroliu/lec.git /union/git/github.com/alejandroliu/lec.git
cd /union/git/github.com/alejandroliu/lec.git
 --- /union/git/github.com/alejandroliu/lec.git/cec.h
 +++ /union/git/github.com/alejandroliu/lec.git/cec.h
 @@ -40 +40 @@ enum {
 -       CEC_ETYPE = 0xBCBC,
 +       CEC_ETYPE = 0x893C,
make

Console of pet server configured to remove root password and make the font bigger, roughly as follows

cp /usr/system/getty.service /etc/systemd/system/getty@tty1.service
sed 's/agetty --noclear/agetty --autologin root --noclear/' /etc/systemd/system/getty@tty1.service
systemctl daemon-reload
sed s/FONTFACE="Fixed"/FONTFACE="Terminus"/ /etc/default/console-setup
sed s/FONTSIZE="16"/FONTFACE="16x32"/ /etc/default/console-setup

Let's make a systemd file to start up and supervise lecd in /etc/systemd/system/lecd.service

Recommend putting on a well protected vlan if using those, such as the highest privileged vlan in network.

[Unit]
Requires=network.target
After=network.target

[Service]
#ExecStartPre=/usr/lib/systemd/systemd-networkd-wait-online --interface=VLAN
ExecStart=/union/git/github.com/alejandroliu/lec.git/lecd VLAN
Type=idle
Restart=always

start, stop and check this service with systemctl, also user can "accidently" kill lecd on the server to confirm that systemd will restart it.

Use /union/git/github.com/alejandroliu/lec.git/cec to interact with it from the client.