Installing unsupported distributions
Some hints and tips that may be of use for those wishing to install a distribution or operating system that is currently unsupported by BitFolk.
Many different Linux distributions are already supported by BitFolk and can be installed from the self-serve installer.
All modern Linux distributions should work under Xen however, so if you really want to run something else then it should be possible to do so.
Your most useful tool for installing anything you like will be the rescue VPS. Since this is a full Linux distribution running from RAM, with access to your block devices and the Internet, you can in theory use it to install anything that is capable of booting under Xen.
32 or 64-bit?
At the time of writing, all BitFolk VPSes are 32-bit. Almost all VPSes have a small amount of memory, thus do not run up against the address space limits inherent in 32-bit platforms. Also, a 64-bit platform has larger pointers and integers so would actually use more memory for the same tasks.
For these reasons there are no immediate plans to start offering 64-bit distributions and it is recommended that you stick with a 32-bit version of your chosen distribution.
All BitFolk hosts are, however, 64-bit and could run 64-bit virtual machines, so you could try this on the understanding that you would be travelling well off the beaten path.
As of around kernel version 2.6.26, the upstream Linux kernel gained Xen guest support. This is the so-called "pvops" feature. Prior to this, special Xen-enabled kernels ere required and these were supplied by distribution vendors. It is recommended to use a distribution new enough to have a pvops kernel.
If your distribution supplies a "-virtual" brand of kernel then this is still a good idea, as it will have options suited to running small virtual machines.
Your kernel must be 32-bit PAE-enabled. Many distributions call this variant "-bigmem". Even though you won't be addressing a large amount of memory, all Xen guests require a PAE kernel.
BitFolk uses pygrub to boot your VPS. pygrub looks inside your block device for a GRUB v1-style menu.lst file, and for this reason the first filesystem on your first block device must be either ext3 or ext2. Normally you would put a single partition xvda1 on the first disk and use it for / with /boot inside it, so you should use ext3 for this.
If you would like to use different filesystems like ext4, xfs or btrfs that is fine—you can use whatever your kernel supports—but the first partition on the first disk must be ext3 and must contain your /boot. Therefore you'd want to put /boot as xvda1 and / elsewhere.
It is recommended to keep things simple and go with the usual / on xvda1 with /boot inside it. You can always add another disk and use it for LVM.
You must have a GRUB v1-style /boot/grub/menu.lst in place. The easiest way to do that is to actually install GRUB—but not GRUB v2.x!—only v1 is currently supported. The advantage of this is that your distribution probably has scripts in place to update your menu.lst when you install new kernels.
If your distribution doesn't do this, or if you can't install GRUB at all, that's OK. You don't actually need GRUB installed, you just need the file /boot/grub/menu.lst in place.