# Install Xen: sudo apt-get update sudo apt-get upgrade sudo apt-get install xen-system # Edit interfaces sudo nano /etc/network/interfaces # and add the xen bridge: # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eno1 # iface eno1 inet dhcp # # XEN setup maybe # iface eno1 inet manual auto xenbr0 iface xenbr0 inet dhcp bridge_ports eno1 # Restart networking /etc/init.d/networking restart sudo ifconfig # test that you have internet ping google.com # edit grub sudo nano /etc/default/grub # add: # Xen boot parameters for all Xen boots GRUB_CMDLINE_XEN="dom0_mem=2048M,max:2048M" # update grub sudo update-grub # Edit the xen config: sudo nano /etc/xen/xend-config.sxp # add: (dom0-min-mem 2048) (enable-dom0-ballooning no) # then: sudo nano /etc/xen/xl.conf # and under: #autoballoon="auto" # add this to disable memory balooning autoballoon="0" # Next, alocate 1 core to dom0 sudo nano /etc/default/grub # add: # alocate 1 cpu core to dom0 dom0_max_vcpus=1 dom0_vcpus_pin # and sudo nano /etc/xen/xend-config.sxp # add: (dom0-cpus 1) # update grub sudo update-grub # Next install xen tools: sudo apt-get install xen-tools # Processing triggers for initramfs-tools (0.133) ... # update-initramfs: Generating /boot/initrd.img-4.19.0-5-amd64 # W: Possible missing firmware /lib/firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw for module bnx2 # W: Possible missing firmware /lib/firmware/bnx2/bnx2-rv2p-06-6.0.15.fw for module bnx2 # W: Possible missing firmware /lib/firmware/bnx2/bnx2-mips-06-6.2.3.fw for module bnx2 # To use a different path where domU images are saved: sudo nano /etc/xen-tools/xen-tools.conf # add: dir = /home/xen/ passwd = 1 # Enable the Xen network bridge by editing sudo nano /etc/xen/xend-config.sxp # add this line: (network-script network-bridge) # By executing the below command we are moving the hypervisor to a higher # priority than default Linux so that it gets the first position in the boot menu. # per: https://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide sudo dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen sudo update-grub # if you don't do the above, you should get this error when trying to start an image, ex: # sudo xl create /etc/xen/registrypublic.cfg # ERROR: Can't find hypervisor information in sysfs! # Restart the server sudo shutdown -r now # create your first image sudo xen-create-image sudo xen-create-image --hostname registrypublic --ip 10.1.10.101 -vcpus 2 --memory 4096mb --pygrub --dist buster # Wait a while to create the image, and when you get prompted, enter a root password for the new image. # start the image: sudo xl create /etc/xen/registrypublic.cfg # Then after the reboot try starting the image again: sudo xl create /etc/xen/registrypublic.cfg # List your running images: sudo xen-list-images # Check the status sudo xen list # see everything sudo xen top # Get into the image: sudo xen console registrypublic # stop the image sudo xen shutdown registrypublic # see that it's gone sudo xen list # remove it sudo xen-delete-image registrypublic