On Netgate RCC-VE devices, the console device is on the second UART, ttyS1. This means that the Serial console Grub menuentry needs to look something like this:
menuentry "VyOS 999.201609230235-current (Serial console)" { linux /boot/999.201609230235-current/vmlinuz boot=live quiet systemd.show_status=1 vyos-union=/boot/999.201609230235-current console=tty0 console=ttyS1,115200n8 initrd /boot/999.201609230235-current/initrd.img }
Every time I do 'add system image' to install a new version, I need to remember to go and hand-edit the added console=ttyS0 parameters to console=ttyS1,115200n8. Otherwise, I don't se anything on the serial console after Grub starts up.
Ideally, the installer would figure out the correct incantations to add to the Grub menuentry by looking at the current running system. The new Jessie-based system's systemd seems able to figure out which device has the serial console, and it starts a getty on it correctly. So, at least the device name is available. For instance, the following two files:
/sys/dev/char/5:1/active and
/sys/devices/virtual/tty/console/active
contain the value tty0 ttyS1 on my system. That does match the two console parameters passed in via Grub. Unfortunately, it doesn't contain the (also necessary) serial port speed. I guess it's a start.
While I'm here, why does each added menuentry contain two console parameters? The KVM versions list console=ttyS0,9600 console=tty0 (or whatever the correct serial console it), while the Serial console versions list console=tty0 console=ttyS1,115200n8. So, it seems like the second one overrides the first. But why include two? (I notice that /opt/vyatta/bin/vyatta-boot-image.pl assumes this two-console-parameter configuration.) So, why not include a single console parameter in each menuentry?