This guide will show you how to perform a Xen Dom0 install on a HDD, so you can have your Dom0. The first step is to perform a normal HDD install of Alpine Linux, which can be accomplished following the guide Install to disk. Once the install is finished, and you have rebooted into your new system, it's time to install the Xen packages:
# apk add xen
This will install Xen Hypervisor and Tools (both xl and xend) and all the required packages. The next step is to modify your extlinux.cfg and add an entry to boot Xen:
LABEL xen KERNEL /boot/mboot.c32 APPEND /boot/xen.gz --- /boot/grsec root=UUID=<YOUR-DISK-UUID> modules=ext4 --- /boot/grsec.gz
Serial console boot:
LABEL xen KERNEL /boot/mboot.c32 APPEND /boot/xen.gz com1=115200,8n1 console=com1 --- /boot/grsec root=UUID=<YOUR-DISK-UUID> modules=ext4 --- /boot/grsec.gz
It's also a good idea to check Xen Boot options and set dom0_mem, dom0_vcpus_pin and dom0_max_vcpus at least.
The next step is to load the necessary kernel modules for Xen, we will add them to /etc/modules, so they will be loaded automatically on boot:
# echo "xen_netback" >> /etc/modules # echo "xen_blkback" >> /etc/modules # echo "tun" >> /etc/modules
The last step is to configure startup services, we will need udev and xencommons at least to be started on boot:
# rc-update add udev sysinit # rc-update add udev-postmount # rc-update add xencommons
If you need the xm toolstack, also add xend to startup services:
# rc-update add xend
Ok, now you have a fully functional Xen install, it's time to boot into it.
Also remember to configure at least one network bridge following the Bridge guide.