Building an Embedded Linux Environment on RISC-V Architecture: A Complete Guide from Scratch

Building an Embedded Linux Environment on RISC-V Architecture: A Complete Guide from Scratch

Building an Embedded Linux Environment on RISC-V Architecture: A Complete Guide from Scratch As an open instruction set architecture, RISC-V is gaining increasing attention in the embedded field. This article takes the SiFive HiFive Unleashed development board as an example to detail the process of setting up an embedded Linux development environment under the RISC-V … Read more

Setting Up a QEMU Linux Kernel (5.10.209) Development Environment

Setting Up a QEMU Linux Kernel (5.10.209) Development Environment

Version Information Host Machine: <span>ubuntu 20.04.6 LTS (Focal Fossa)</span> Virtual Machine: <span>ubuntu 20.04.6 LTS (Focal Fossa)</span> The steps for installing the host machine are omitted, as they are no different from installing a virtual machine in <span>vmware</span>. It is important to ensure that <span>Intel VT-x</span> is enabled. If the virtual machine reports <span>This platform does … Read more

Introduction to Virtualization: KVM + QEMU + libvirt Stack

Introduction to Virtualization: KVM + QEMU + libvirt Stack

1. KVM + QEMU + libvirt Stack KVM (Kernel-based Virtual Machine) is a Linux kernel module that allows user-space programs to access hardware virtualization features of various processors. It enables the kernel to function as a hypervisor. KVM itself does not simulate hardware but delegates these tasks to higher-level client applications like QEMU. QEMU (Quick … Read more

Exploring and Reflecting on the Attack Surface of QEMU Virtualization Security

Exploring and Reflecting on the Attack Surface of QEMU Virtualization Security

QEMU and KVM, as typical representatives of virtualization technology, are widely used in cloud computing systems across various vendors. As software with over a decade of history, QEMU has been plagued by security issues. With the continuous development of cloud computing based on QEMU/KVM virtualization software, its security problems have garnered significant attention in recent … Read more

KVM vs QEMU: The Golden Duo of Linux Virtualization – Understanding the Differences

KVM vs QEMU: The Golden Duo of Linux Virtualization - Understanding the Differences

In the field of Linux virtualization, KVM and QEMU are the two most common tools. Many people have heard of them, but often confuse their differences, with some even mistakenly believing they are the same thing. Today, we will unveil their mysteries and explore the characteristics, roles, and how KVM and QEMU work together! 1. … Read more

What Can QEMU Do in Embedded Programming?

What Can QEMU Do in Embedded Programming?

What Can QEMU Do in Embedded Programming? 1. Introduction 2. Bare-metal or RTOS Programming in Embedded Systems 3. Research on Network Programming Using QEMU 4. Embedded Graphics Development 5. Development of Embedded Linux 6. Conclusion 1. Introduction In the process of embedded development, a lot of time is spent interacting with hardware devices, controlling their … Read more

Cloud Computing Virtualization: This Article is All You Need!

Cloud Computing Virtualization: This Article is All You Need!

Click the blue text to follow us First, let me clarify that this section and the following ones are the author’s insights from learning about Redhat’s network virtualization. Readers who are impatient can directly click: https://www.redhat.com/en/blog/introduction-virtio-networking-and-vhost-net https://www.redhat.com/en/blog/deep-dive-virtio-networking-and-vhost-net https://www.redhat.com/en/blog/hands-vhost-net-do-or-do-not-there-no-try The three elements of virtualization: For network cards, in a virtualized environment, one or more VMs run … Read more

System Practice Learning ARMv8 Assembly – Course 1

System Practice Learning ARMv8 Assembly - Course 1

Course 1: Stage 1 – Basic Preparation (Week 1) Topic: Bare-metal program development, PL011 UART communication, ARMv8 boot process 1.1 Basics of Bare-metal Programming Core Concepts: Bare-metal Program: Runs directly on hardware without operating system support. Boot Process: The CPU starts executing instructions from the reset address (usually <span>0x0</span> or <span>0x8000</span>). Hardware (such as memory … Read more

Debugging RISC-V Linux on QEMU with Eclipse and GDB

Debugging RISC-V Linux on QEMU with Eclipse and GDB

Previously, we discussed how to run the RISC-V kernel on QEMU. Now, let’s talk about how to use Eclipse + GDB to debug the kernel on the QEMU platform. ${SIFIVE_DIR} is the local root directory of the freedom-u-sdk open-source project. 1. Configure BBL Configure the bootloader and generate debugging information. Enter the ${SIFIVE_DIR}/work/riscv-pk directory, which … Read more