tag
Linux
11 posts
Reading a libvirt Domain XML: The 20 Lines That Are Actually Your Decisions
virsh dumpxml prints 180 lines for one small VM. About twenty of them record choices you made; the rest are defaults. Here is how to tell which is which.
How a Computer Boots Before Any OS Exists: BIOS, UEFI, and GPT
At power-on a CPU knows nothing about disks or files. Firmware fills that gap, and its two generations explain most of what is confusing about booting.
What a libvirt VM Really Is: The XML File Behind Every Tool
Behind virt-install, virsh and virt-manager, a libvirt VM is one XML document that points to its disk and firmware files. Here is what that means.
Installing the KVM Stack on Raspberry Pi OS: What Each Package Does
Nine packages, three layers. Then virt-host-validate reports four warnings and three failures on a healthy system. Here is how to read every line.
How to Check KVM Is Enabled on Raspberry Pi 5 (/dev/kvm, lsmod, dmesg)
Three commands confirm your host can run accelerated VMs, and one of them returns nothing on a Raspberry Pi, for a reason that confuses a lot of people.
What ioctl(KVM_RUN) Does: The VM Exit Loop Explained
One system call, ioctl(KVM_RUN), repeated in a loop, is what running a virtual machine physically is. This post looks closely at it, and at the VM exit loop.
How QEMU Emulates Hardware: Device Models, MMIO, and TCG
Every device your guest sees is C code responding to memory addresses. Once you see the trick, QEMU stops being mysterious, and its performance predictable.
KVM vs QEMU vs libvirt: Who Does What
Three pieces, one running VM. Each exists because of a specific gap the layer below it leaves, which is a better way to learn them than three definitions.
Why KVM Needs the CPU: ARM64 EL2, VHE, and the Virtualization Extension
KVM is part of the Linux kernel, but virtualization is a hardware feature. How those two relate is where most people's understanding of KVM breaks down.
What a Hypervisor Is, and Where KVM Fits (Type-1 vs Type-2)
What a hypervisor is, why KVM does not fit the usual Type 1 versus Type 2 categories, and what it inherits from being part of the Linux kernel.
Creating Robust systemd Services for Embedded ApplicationsTutorial
A practical beginner's guide to writing systemd service files for embedded Linux — covering auto-start, restart policies, dependency ordering, environment variables, and production-grade logging for applications that need to run unattended in the field.