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