PHIPS BLOG

  •  Home
  •  Get To Know Me

QEMU

Programming & DevOps

Live-Migration of QEMU/KVM VMs with libvirt: Insights, Cheat Sheet, Tips

Update: The original post is from November 2024. I updated the post in the meantime a couple of times to reflect my latest knowledge. During my work as virtualization engineer at Cyberus Technology, I work from time to time with libvirt. Specifically, I am working with live-migration of QEMU/KVM VMs Read more…

By Philipp Schuster, 2 months2025-03-27 ago
Terminal Screenshot: Running a Linux VM with the debugcon driver in QEMU.
Programming & DevOps

Writing a Linux Driver for QEMU’s Debugcon Device

Update: Since Cloud Hypervisor release v38, you can also run a Linux with this driver in Cloud Hypervisor and see the output. In earlier blog posts, I discussed QEMU’s debugcon device and presented a minimal driver for it written in x86 assembly. In this blog post, we go a little Read more…

By Philipp Schuster, 2 years2023-03-08 ago
Code Snippet: Part of the QEMU Debugcon Driver written in Assembly
Programming & DevOps

The Probably Simplest x86 Driver Written in Assembly – Printing to QEMU’s debugcon-Device

This is an educational resource I wish I had when I started digging into low-level and operating systems during my early time of my studies at the university. However, dear past me, I got your back! Do you want to see a minimal way to communicate with (virtual) hardware and Read more…

By Philipp Schuster, 3 years2022-09-26 ago
Programming & DevOps

How to Find Out if a Binary Runs Inside QEMU

In the previous blog post we talked about how to use QEMUs debugcon feature. To do this responsibly, we should only do this if the binary runs in fact inside QEMU. To find this out, one can use the cpuid instruction. It gives us a lot of information about our Read more…

By Philipp Schuster, 4 years2021-07-07 ago
Programming & DevOps

How to Use QEMUs “debugcon”-device (and Write Debug Information to the Terminal or a File)

Update 2024-01-30: The same underlying mechanism was just merged in Cloud Hypervisor as well! It is exposed as –debug-console <target>. This article mostly applies to Cloud Hypervisor as well. Problem: Getting Early Debug Output as Kernel Developer QEMU is a VMM often used for low-level OS/kernel development and testing. When Read more…

By Philipp Schuster, 4 years2021-07-07 ago

Because this blog is a few years old and used to be a more or less personal german blog, old posts are in german. Newer posts are in english.

  • Impressum
  • Datenschutzerklärung
Hestia | Developed by ThemeIsle