Page MenuHomeVyOS Platform

USB Console options is missing for a new image after "add system image" upgrade
Open, HighPublicBUG

Description

Hello.
I found that after upgrading a VyOS rolling installation with "add system image" there is no "USB Console" option for this new version.
But if I do install this ISO with "install image" "USB Console" is present in GRUB options.

Screenshots explained:

  1. Fresh system
  2. After "add system image"
  3. After "install image" for an image which showed no "USB Console" after "add system image".


Also I've tested it for a few another VyOS rolling latest version and result is the same.

Details

Difficulty level
Normal (likely a few hours)
Version
vyos-1.4-rolling-202308060317-amd64
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

There were no screenshots included with this task?

Looking at my current setup (runned within VirtualBox) I see these options for the latest 1.4-rolling (VyOS 1.4-rolling-202308060317):

menuentry "VyOS 1.4-rolling-202308060317 (KVM console)" {
...
}

menuentry "VyOS 1.4-rolling-202308060317 (Serial console)" {
...
}

menuentry "Lost password change 1.4-rolling-202308060317 (KVM console)" {
...
}

menuentry "Lost password change 1.4-rolling-202308060317 (Serial console)" {
...
}

The KVM console uses:

console=ttyS0,115200 console=tty0

while the Serial console uses:

console=tty0 console=ttyS0,115200

I am not sure about correct syntax here, to me it should be possible to have console on multiple physical interfaces at once (aka no need for different boot options).

According to https://www.kernel.org/doc/html/v6.1/admin-guide/serial-console.html

You can specify multiple console= options on the kernel command line. Output will appear on all of them. The last device will be used when you open /dev/console. So, for example:

console=ttyS1,9600 console=tty0

defines that opening /dev/console will get you the current foreground virtual console, and kernel messages will appear on both the VGA console and the 2nd serial port (ttyS1 or COM2) at 9600 baud.

Note that you can only define one console per device type (serial, video).

If no console device is specified, the first device found capable of acting as a system console will be used. At this time, the system first looks for a VGA card and then for a serial port. So if you donโ€™t have a VGA card in your system the first serial port will automatically become the console.

Which gives that shouldnt it be sufficient to remove both "VyOS 1.4-rolling-202308060317 (KVM console)" and "VyOS 1.4-rolling-202308060317 (Serial console)" and just replace them with ""VyOS 1.4-rolling-202308060317" which use this regarding console?

console=ttyUSB0 console=ttyS0,115200 console=tty0

/etc/inittab regarding getty probably needs to be fixed aswell to have a tty available for login at all consoles (if possible).

@Apachez thank you for your response ๐Ÿ™
Sorry, I really have attached screenshots but didn't grant access to them. Fixed.

Also just want to clarify. I published this issue as a bug report not because I can not reconfigure GRUB. But because it looks illogical

Yeah, no worries.

Fixing stuff manually should only be seen as a last resort (according to me) - aka stuff should be correct from beginning when using just the VyOS config.

If possible:

If you add another option (copy the kvm one for example) but replace the console stuff at the end of it so it becomes:

console=ttyUSB0 console=ttyS0,115200 console=tty0

how does then VGA, serial and usbserial work for you both regarding kernel messages during boot but also ability to be able to login through each "interface"?

And also does your box have both vga, com1 (serial) and usbserial physically available?