Linode KVM Direct Disk Boot with Syslinux and Encrypted Root Partition


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:
 # The wiki provides further configuration examples

+SERIAL 0 19200
 PROMPT 0        # Set to 1 if you always want to display the boot: prompt
@@ -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