Building my own Xen images

In light of a few issues I’ve discovered with this post, I wouldn’t suggest that you use it as a guide. However, I’m leaving it up anyway, in case it is of use to someone. Instead, I recommend running pre-built cloud images from the OS vendor. I also recommend running using KVM for Enterprise Linux instead of Xen.

In my last post on Xen, I discussed using pre-built cloud images from Debian and AlmaLinux to create Xen virtual machines. These are convenient to use, but might not be ideal for certain use cases. For example, you might want certain packages to be included or excluded from your image, minimizing or even eliminating the role of cloud-init. Or for security reasons, you might not want to run an image from the internet on your local network. In this post, I will discuss how I built Xen images for AlmaLinux and Debian.

Continue reading

Configuring Ubuntu and Debian as a router

Recently, for my home network, I transitioned from using a standard home router running DD-WRT to a setup with a separate managed switch, wireless access point, and a combination router/server running Ubuntu 24.04. The “router” is a basic x86-64 mini-PC with two network interfaces, purchased for about $100. The internal interface hosts three VLANs (internal, lab, and guest) and provides DHCP, DNS, and LDAP services. I prefer this setup to something like OPNsense, because I can manage everything with the command line and Ansible. If the cheap PC dies an early death or I want to switch to something newer, I can simply install Ubuntu on the replacement system, configure the NICs, and run the Ansible project to configure everything else. It also gives me a low-power-usage PC that I can run other services on in containers or even virtual machines. In this blog post I run through the steps for configuring a router like this, with both Ubuntu and Debian.

Continue reading