当前位置:首页>Linux>基于QEMU的ARM64架构Linux内核开发环境搭建

基于QEMU的ARM64架构Linux内核开发环境搭建

  • 2026-10-11 07:39:17
基于QEMU的ARM64架构Linux内核开发环境搭建

本文将介绍如何自己编译Linux内核、使用buildroot构建rootfs,自制Linux系统,并使用qemu运行我们自制的Linux系统。

宿主机

采用Ubuntu 26.04

QEMU及编译工具链安装

sudo apt updatesudo apt install -y qemu-system-arm gcc-aarch64-linux-gnu build-essential bc bison flex libssl-dev libelf-dev debootstrap busybox-staticsudo apt install -y libncurses-dev

验证编译工具链

aarch64-linux-gnu-gcc --version

设置环境变量

export ARCH=arm64export CROSS_COMPILE=aarch64-linux-gnu-

下载Linux 6.0内核

# 从 Kernel.org 下载 6.0 版本wget https://mirrors.tuna.tsinghua.edu.cn/kernel/v6.x/linux-6.0.tar.xz# 解压tar -xvf linux-6.0.tar.xzcd linux-6.0

配置内核

make defconfig

配置串口驱动

make menuconfig
  • 在 make menuconfig 中,确保以下项被选中(通常 defconfig 已包含,但值得确认): 
    • Virtio drivers —> <*> PCI driver for virtio devices
    • Virtio drivers —> <*> Virtio balloon driver
    • Network device support —> <*> Virtio network driver
    • Block devices —> <*> Virtio block driver
    • Kernel Features —> [] Randomize the address of the kernel image (KASLR) (如果是老版本QEMU可能不支持,建议关闭)
    • Device Drivers —> 

编译内核

make -j(nproc)
  • 构建完成后,根文件系统镜像位于:output/images/rootfs.ext4 (或者 rootfs.cpio.gz,具体取决于配置,qemu_aarch64_virt_defconfig 通常生成 ext4 或 cpio)。

QEMU启动脚本

保存下面脚本到~/run_qemu.sh:

#!/bin/bashKERNEL_PATH=~/linux-6.0/arch/arm64/boot/ImageROOTFS_PATH=~/buildroot-2026.02.2/output/images/rootfs.ext4qemu-system-aarch64 \    -M virt \    -cpu cortex-a57 \    -m 1G \    -kernel ROOTFS_PATH,if=virtio,format=raw" \    -append "root=/dev/vda console=ttyAMA0" \    -nographic \    -netdev user,id=net0,hostfwd=tcp::2222-:22 \    -device virtio-net-device,netdev=net0

用户名:root 默认没有密码。

最新文章

随机文章