| General |
| -------- |
| |
| virtio-console as the name implies is a console over virtio transport. Here is |
| a simple head to head comparison of the virtio-console vs regular 8250 console: |
| |
| 8250 serial console: |
| |
| - Requires CONFIG_SERIAL_8250=y and CONFIG_SERIAL_8250_CONSOLE=y kernel configs, |
| which are enabled almost everywhere. |
| - Doesn't require guest-side changes. |
| - Compatible with older guests. |
| |
| virtio-console: |
| |
| - Requires CONFIG_VIRTIO_CONSOLE=y (along with all other virtio dependencies), |
| which got enabled only in recent kernels (but not all of them). |
| - Much faster. |
| - Consumes less processing resources. |
| - Requires guest-side changes. |
| |
| Enabling virtio-console |
| ------------------------ |
| |
| First, make sure guest kernel is built with CONFIG_VIRTIO_CONSOLE=y. Once this |
| is done, the following has to be done inside guest image: |
| |
| - Add the following line to /etc/inittab: |
| 'hvc0:2345:respawn:/sbin/agetty -L 9600 hvc0' |
| - Add 'hvc0' to /etc/securetty (so you could actually log on) |
| - Start the guest with '--console virtio' |
| |
| Common errors |
| -------------- |
| |
| Q: I don't see anything on the screen! |
| A: Make sure CONFIG_VIRTIO_CONSOLE=y is enabled in the *guest* kernel, also |
| make sure you've updated /etc/inittab |
| |
| Q: It won't accept my username/password, but I enter them correctly! |
| A: You didn't add 'hvc0' to /etc/securetty |