I recently upgraded a Linode VPS from Xen to KVM to take advantage of touted performance boosts as well as the ability to boot directly from a disk partition of my choosing, with my preferred kernel and bootloader. I've standardized on using Syslinux on my home Arch Linux machines, so I was happy to use the same configuration on my VPS.
As part of my standard system installation, I use an encrypted root partition. This requires that I have console access to the bootloader during the boot process. To make that work with my Linode VPS, I had to modify the syslinux configuration file to support the correct serial console as below.
--- boot/syslinux/syslinux.cfg.bak
+++ boot/syslinux/syslinux.cfg
@@ -18,7 +18,6 @@
# Please review the wiki: https://wiki.archlinux.org/index.php/Syslinux
# The wiki provides further configuration examples
+SERIAL 0 19200
DEFAULT arch
PROMPT 0 # Set to 1 if you always want to display the boot: prompt
TIMEOUT 100
@@ -52,8 +51,7 @@
LABEL arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
- APPEND cryptdevice=/dev/sdb:filesystem root=/dev/mapper/filesystem-root rw
+ APPEND cryptdevice=/dev/sdb:filesystem root=/dev/mapper/filesystem-root console=ttyS0,19200n8 rw
INITRD ../initramfs-linux.img
LABEL archfallback