??? 一 安装qemeu:
对于 ubuntu20,安装指令为:
sudo apt-get install qemu-system
,而不是
sudo apt-get install qemu
,后者虽然能安装成功,但是没有arm cpu的仿真模拟器。
?安装OK后可以通过以下命令查看:
qemu-system-arm -M help
root@G3-3590:/usr/bin# qemu-system-arm --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.23)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
二,下载linux内核源码,以及安装交叉编译工具链:
root@G3-3590:/usr/bin# apt install gcc-arm-linux-gnueabi
root@G3-3590:/usr/bin# apt install g++-arm-linux-gnueabi
root@G3-3590:/usr/bin# arm-linux-gnueabi-gcc -v
三. 编译内核和dtb:
假设您已经下载好了内核源码,The Linux Kernel Archiveshttps://www.kernel.org/我下载的是5.15.52 长期支持版本。
1. 修改根目录下的Makefile文件。 ?? ?查找到384行(修改)385行(新增)
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-gnueabi-
2. #make vexpress_defconfig 3. #make menuconfig (编译选项微调,可选步骤) 4. #make zImage -j16 5. #make dtbs
此时会在boot目录下生成zImage以及对应的dtb文件。
最后运行我们的内核:
qemu-system-arm -M vexpress-a9 -m 512M -kernel ./linux-5.15.52/arch/arm/boot/zImage -dtb ./linux-5.15.52/arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic -append "console=ttyAMA0"
启动效果如下图所示:
?
|