Xen

Resources: Xen Project Beginners Guide Create Alpine Linux PV without xen-tools

After installing Debian, setup repo files.

sudo vi /etc/apt/sources.list
deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian trixie main contrib non-free non-free-firmware

deb http://deb.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian-security trixie main contrib non-free non-free-firmware

deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware

Install xen and reboot.

sudo apt install firmware-linux-nonfree
sudo apt install xen-system-amd64
sudo systemctl reboot --now

Test.

sudo xl dmesg

Other basic xen commands…

sudo xl list
Name                                        ID   Mem VCPUs	State	Time(s)
Domain-0                                     0 243212    24     r-----     367.8
sudo xl info
host                   : xenmaybe
release                : 6.12.57+deb13-amd64
version                : #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05)
machine                : x86_64
nr_cpus                : 24
max_cpu_id             : 23
nr_nodes               : 2
cores_per_socket       : 6
threads_per_core       : 2
cpu_mhz                : 2793.000
hw_caps                : bfebfbff:029ee3ff:2c100800:00000001:00000000:00000000:00000000:00000100
virt_caps              : pv hvm hap shadow gnttab-v1 gnttab-v2
total_memory           : 245747
free_memory            : 128
sharing_freed_memory   : 0
sharing_used_memory    : 0
outstanding_claims     : 0
free_cpus              : 0
xen_major              : 4
xen_minor              : 20
xen_extra              : .3-pre
xen_version            : 4.20.3-pre
xen_caps               : xen-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 
xen_scheduler          : credit2
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : 
xen_commandline        : placeholder
cc_compiler            : x86_64-linux-gnu-gcc (Debian 14.2.0-19) 14.2.0
cc_compile_by          : pkg-xen-devel
cc_compile_domain      : lists.alioth.debian.org
cc_compile_date        : Sun Nov 30 15:57:07 UTC 2025
build_id               : 2c6a385285f3e629abe97be953d350d56054d583
xend_config_format     : 4
sudo xl top
apt install lvm2
sudo apt install lvm2
ls /dev
df
lsblk
pvcreate /dev/sdb
sudo pvcreate /dev/sdb
lsblk
df
du
vgcreate vg0 /dev/sdb
sudo vgcreate vg0 /dev/sdb
lvcreate -n database-data -L 100G vg0
sudo lvcreate -n database-data -L 100G vg0
sudo lvremove /dev/vg0/database-data
sudo lvcreate -s /dev/vg0/database-data -ndatabase-backup -L5G
sudo vi /etc/default/grub
sudo xl info
sudo xl list
sudo xl top
sudo apt install bridge-utils
sudo vi /etc/network/interfaces
sudo cp /etc/network/interfaces ~
ls
sudo vi /etc/network/interfaces
sudo service networking restart
sudo brctl show
sudo xl info
sudo xl list
sudo xl top
sudo apt install xen-tools
sudo apt update
sudo search xen-tools
sudo apt search xen-tools
sudo apt search xen-utils
sudo search xen-server
sudo apt search xen-server
sudo apt install xen-utils-common

Install xen-tools

wget http://xen-tools.org/software/xen-tools/xen-tools_4.3.1-1_all.deb
sudo chmod +x ./xen-tools_4.3.1-1_all.deb
sudo apt install ./xen-tools_4.3.1-1_all.deb
sudo xen-create-image --hostname=tutorial-pv-guest --memory=512mb --vcpus=2 --lvm=vg0 --dhcp --pygrub --dist=wheezy

xen-create-image 
  --dhcp --mac 5a:36:0e:48:00:0e 
  --memory 512M 
  --swap 1000M
  --dist squeeze
  --mirror http://10.80.16.196/debian
  --hostname debian.guest.osstest
  --lvm field-cricket 
  --force            
  --kernel /boot/vmlinuz-2.6.32.57            
  --initrd /boot/initrd.img-2.6.32.57            
  --arch i386

Setup bridge interface

Update the interfaces configuration file /etc/network/interfaces

Original…

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

New…

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 manual

auto xenbr0
iface xenbr0 inet dhcp
    bridge_ports eno1

Test

sudo brctl show
bridge name	bridge id		STP enabled	interfaces
xenbr0		8000.da8d4716186e	no	

Edit xl.conf

added correct interface