<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Bit to Byte Academy</title><description>Tutorials and deep dives on embedded Linux, edge AI, ESP32 and the parts of hardware engineering nobody documents properly.</description><link>https://bittobyteacademy.com/</link><item><title>How QEMU Emulates Hardware: Device Models, MMIO, and TCG</title><link>https://bittobyteacademy.com/blog/how-qemu-emulates-hardware-device-models-mmio-tcg/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/how-qemu-emulates-hardware-device-models-mmio-tcg/</guid><description>Every device your guest sees is C code responding to memory addresses. Once you see the trick, QEMU stops being mysterious and its performance behaviour becomes predictable.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>QEMU</category><category>KVM</category><category>Linux</category><category>Virtualization</category></item><item><title>How to Check KVM Is Enabled on Raspberry Pi 5 (/dev/kvm, lsmod, dmesg)</title><link>https://bittobyteacademy.com/blog/how-to-check-kvm-is-enabled-on-raspberry-pi-5/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/how-to-check-kvm-is-enabled-on-raspberry-pi-5/</guid><description>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.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>KVM</category><category>Linux</category><category>Raspberry Pi</category><category>Virtualization</category></item><item><title>Installing the KVM Stack on Raspberry Pi OS: What Each Package Does</title><link>https://bittobyteacademy.com/blog/installing-the-kvm-stack-on-raspberry-pi-os/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/installing-the-kvm-stack-on-raspberry-pi-os/</guid><description>Nine packages, three layers. Then virt-host-validate reports four warnings and three failures on a healthy system — here&apos;s how to triage every line.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>KVM</category><category>libvirt</category><category>Linux</category><category>Raspberry Pi</category></item><item><title>Fixing virt-install on arm64: Security Violation, dnsmasq Port 53, and the qemu:///session Trap</title><link>https://bittobyteacademy.com/blog/fixing-virt-install-on-arm64/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/fixing-virt-install-on-arm64/</guid><description>Four failures stand between a correct virt-install command and a booting arm64 guest. None of them are documented well, and the error messages point away from the causes.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>KVM</category><category>libvirt</category><category>QEMU</category><category>Raspberry Pi</category></item><item><title>KVM vs QEMU vs libvirt: Who Does What</title><link>https://bittobyteacademy.com/blog/kvm-vs-qemu-vs-libvirt-who-does-what/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/kvm-vs-qemu-vs-libvirt-who-does-what/</guid><description>Three pieces, one running VM. Each exists because of a specific gap the layer below it leaves open — which is a better way to learn them than three definitions.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>KVM</category><category>QEMU</category><category>Linux</category><category>Virtualization</category></item><item><title>What a Hypervisor Is, and Where KVM Fits (Type-1 vs Type-2)</title><link>https://bittobyteacademy.com/blog/what-a-hypervisor-is-and-where-kvm-fits/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/what-a-hypervisor-is-and-where-kvm-fits/</guid><description>The Type-1 vs Type-2 split is the first thing every virtualization tutorial teaches, and KVM breaks it. Here&apos;s why that&apos;s interesting rather than annoying.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>KVM</category><category>Linux</category><category>Virtualization</category><category>ARM64</category></item><item><title>What ioctl(KVM_RUN) Does: The VM Exit Loop Explained</title><link>https://bittobyteacademy.com/blog/what-ioctl-kvm-run-does-the-vm-exit-loop-explained/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/what-ioctl-kvm-run-does-the-vm-exit-loop-explained/</guid><description>One system call, looped forever, is what running a virtual machine physically is. Here&apos;s what happens inside it — and why some VM exits cost far more than others.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>KVM</category><category>QEMU</category><category>Linux</category><category>Virtualization</category></item><item><title>virt-install Explained: Every Flag for an arm64 Guest</title><link>https://bittobyteacademy.com/blog/virt-install-explained-every-flag-for-an-arm64-guest/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/virt-install-explained-every-flag-for-an-arm64-guest/</guid><description>Twelve flags look like a lot to memorize. They&apos;re answers to seven questions — and once you know the questions, you can write the command for any guest from scratch.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>libvirt</category><category>KVM</category><category>QEMU</category><category>Raspberry Pi</category></item><item><title>Why KVM Needs the CPU: ARM64 EL2, VHE, and the Virtualization Extension</title><link>https://bittobyteacademy.com/blog/why-kvm-needs-the-cpu-el2-vhe-virtualization-extension/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/why-kvm-needs-the-cpu-el2-vhe-virtualization-extension/</guid><description>KVM is a kernel module, but virtualization is a hardware feature. Understanding how those two relate is where most people&apos;s mental model of KVM breaks.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>KVM</category><category>Linux</category><category>Virtualization</category><category>ARM64</category></item><item><title>Why VirtIO Is Faster Than Emulated Devices: Virtqueues and vhost-net Explained</title><link>https://bittobyteacademy.com/blog/why-virtio-is-faster-virtqueues-and-vhost-net-explained/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/why-virtio-is-faster-virtqueues-and-vhost-net-explained/</guid><description>Emulated devices are slow because they faithfully imitate hardware that was never designed for software. VirtIO throws that away and lets the guest cooperate instead.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>VirtIO</category><category>KVM</category><category>QEMU</category><category>Virtualization</category></item><item><title>Creating Robust systemd Services for Embedded Applications</title><link>https://bittobyteacademy.com/blog/systemd-service-management/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/systemd-service-management/</guid><description>A practical beginner&apos;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.</description><pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate><category>systemd</category><category>Linux</category><category>Service Management</category><category>Embedded Systems</category><category>DevOps</category><category>Raspberry Pi</category></item><item><title>Deploying Production Systems on Raspberry Pi: Lessons from the Field</title><link>https://bittobyteacademy.com/blog/production-deployment-raspberry-pi/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/production-deployment-raspberry-pi/</guid><description>SD card corruption, thermal throttling, power supply quality, clock sync failures, and watchdog timers — the specific failures I ran into deploying Pis in production and exactly what fixed them.</description><pubDate>Tue, 14 Oct 2025 00:00:00 GMT</pubDate><category>Raspberry Pi</category><category>Production</category><category>Reliability</category><category>Embedded Linux</category><category>Hardware</category></item><item><title>MQTT vs HTTP for IoT: Choosing the Right Protocol</title><link>https://bittobyteacademy.com/blog/mqtt-vs-http-iot/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/mqtt-vs-http-iot/</guid><description>A practical comparison of MQTT and HTTP for IoT — bandwidth overhead, connection persistence, power consumption, infrastructure complexity, and pub/sub fan-out, drawn from production deployments across edge sensors and robot platforms.</description><pubDate>Sun, 14 Sep 2025 00:00:00 GMT</pubDate><category>MQTT</category><category>HTTP</category><category>IoT</category><category>Protocols</category><category>Network</category></item><item><title>Implementing Exponential Backoff: Preventing Thundering Herd Problems</title><link>https://bittobyteacademy.com/blog/exponential-backoff-network-resilience/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/exponential-backoff-network-resilience/</guid><description>Why naive reconnection strategies fail at scale and how exponential backoff with proportional jitter prevents overwhelming your infrastructure — with production-ready Python and systemd patterns.</description><pubDate>Wed, 20 Aug 2025 00:00:00 GMT</pubDate><category>Network Programming</category><category>Distributed Systems</category><category>Reliability</category><category>MQTT</category><category>Python</category></item><item><title>Python vs C++ for Embedded Systems: When to Use Each</title><link>https://bittobyteacademy.com/blog/python-vs-cpp-embedded/</link><guid isPermaLink="true">https://bittobyteacademy.com/blog/python-vs-cpp-embedded/</guid><description>A practical comparison of Python&apos;s rapid prototyping capabilities against C++&apos;s bare-metal performance for embedded applications — covering real-time systems, MicroPython, hybrid architectures, and a decision framework to help you choose the right tool for every layer of your project.</description><pubDate>Sat, 12 Apr 2025 00:00:00 GMT</pubDate><category>Python</category><category>C++</category><category>Performance</category><category>Embedded Systems</category><category>Languages</category><category>MicroPython</category><category>RTOS</category><category>Raspberry Pi</category></item></channel></rss>