2025年QEMU使用步骤

QEMU使用步骤1 安装虚拟机环境 ubuntu 16 04 7 desktop amd64 iso 下载地址 Index of ubuntu releases 16 04 7 清华大学开源软件镜像站 Tsinghua Open Source Mirror 2 安装 gcc linaro 7 3 1 2018 05 x86 64 arm linux gnueabihf

大家好,我是讯享网,很高兴认识大家。

1、安装虚拟机环境:ubuntu-16.04.7-desktop-amd64.iso,下载地址:Index of /ubuntu-releases/16.04.7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

2、安装gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz到/opt目录,下载地址:Linaro Releases

添加环境变量:

sudo gedit /etc/profile

在 profile 最后加入

export PATH=/opt/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin:$PATH

然后

source /etc/profile

(注意安装版本gcc-linaro-6.5.0-2018.12编译qemu时可能报错)

3、安装qemu-5.0.0.tar.xz,下载地址:

Index of / (qemu.org)

安装步骤:

a、tar xf qemu-5.0.0.tar.xz
b、cd qemu-5.0.0
c、./configure --prefix=/usr/local/qemu --target-list=arm-softmmu --audio-drv-list=
d、sudo make && sudo make install

安装成功后在/usr/local/qemu/bin目录下会生成如下文件:


讯享网

安装时根据错误提示可能需要安装以下软件:

sudo apt-get install build-essential pkg-config zlib1g-dev libglib2.0-0 libglib2.0-dev  libsdl1.2-dev libpixman-1-dev libfdt-dev autoconf automake libtool librbd-dev libaio-dev flex bison -y

(注意:通过命令sudo apt-get install qemu安装的版本为2.11.1,后面价值内核镜像时可能报以下错误)

4、输入:qemu-system-arm -M help查看支持芯片仿真类型,这里选择:vexpress-a9

5、下载uboot,下载地址:可用于QEMU仿真的uboot源码资源-CSDN文库

uboot编译步骤:

export ARCH=arm

export CROSS_COMPILE=arm-linux-gnueabihf-

make clean && make vexpress_ca9x4_defconfig # 不需要改配置

make -j4

加载运行uboot:

qemu-system-arm -M vexpress-a9 -m 256 -kernel ./u-boot -nographic

输入:ctrl + A 后按 X 退出 QEMU

(注意:https://gitlab.denx.de/u-boot/u-boot上下载的uboot源码用make vexpress_ca9x4_defconfig 配置编译报错)

6、下载内核linux-5.4.95,下载地址https://www.kernel.org

/arch/arm/configs 目录里的是各个厂商的内核配置文件

内核编译步骤:

export ARCH=arm

export CROSS_COMPILE=arm-linux-gnueabihf-

make vexpress_defconfig 

make -j4

(注意:vexpress_defconfig 中设置了 CONFIG_CMDLINE="console=ttyAMA0",仿真运行内核时需要配置改启动参数)

加载运行内核:

qemu-system-arm -M vexpress-a9 -m 512M -kernel arch/arm/boot/zImage -dtb arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic -append "console=ttyAMA0"

7、busybox 下载链接 BusyBox 解压并进入其根目录

编译文件系统:

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
make defconfig 
make menuconfig
#   勾选  Settings-> [*] Build static binary (no shared libs) 

Busybox Settings --->     Build Options  --->        [*] Build BusyBox as a static binary (no shared libs) 

讯享网

通过 make install 命令把生成的根文件创建在顶层目录(busybox-1.32.1根目录) _install 下,如果是通过 make defconfig O=…/output 导出配置的,则在相应的output目录下进入 _install 目录

在busybox-1.32.1根目录创建文件 make_rootfs.sh:

讯享网# File Name: make_rootfs.sh #!/bin/sh base=`pwd` tmpfs=/_tmpfs # 如果存在删除 sudo rm -rf rootfs sudo rm -rf ${tmpfs} sudo rm -f a9rootfs.ext3 sudo mkdir rootfs # 拷贝 _install 中文件 到 rootfs sudo cp _install/* rootfs/ -raf #sudo mkdir -p rootfs/{lib,proc,sys,tmp,root,var,mnt} cd rootfs && sudo mkdir -p lib proc sys tmp root var mnt && cd ${base} # 根据自己的实际情况, 找到并 拷贝 arm-gcc 中的 libc中的所有.so 库 sudo cp -arf /opt/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/lib/* rootfs/lib #优化交叉编译工具链库文件 sudo arm-linux-gnueabihf-strip rootfs/lib/* sudo cp examples/bootfloppy/etc rootfs/ -arf sudo sed -r "/askfirst/ s/.*/::respawn:-\/bin\/sh/" rootfs/etc/inittab -i sudo mkdir -p rootfs/dev/ sudo mknod rootfs/dev/tty1 c 4 1 sudo mknod rootfs/dev/tty2 c 4 2pro sudo mknod rootfs/dev/tty3 c 4 3 sudo mknod rootfs/dev/tty4 c 4 4 sudo mknod rootfs/dev/console c 5 1 sudo mknod rootfs/dev/null c 1 3 sudo dd if=/dev/zero of=a9rootfs.ext3 bs=1M count=100 # 如果提示 "No space left on device" 证明 dd 命令中 count 的大小不够,可以先进行瘦身 sudo mkfs.ext3 a9rootfs.ext3 sudo mkdir -p ${tmpfs} sudo chmod 777 ${tmpfs} sudo mount -t ext3 a9rootfs.ext3 ${tmpfs}/ -o loop sudo cp -r rootfs/* ${tmpfs}/ sudo umount ${tmpfs} 

运行make_rootfs.sh脚本生成a9rootfs.ext3文件系统文件。

加载运行文件系统:

qemu-system-arm -M vexpress-a9 -m 512M -kernel arch/arm/boot/zImage -dtb arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic -append "root=/dev/mmcblk0 rw console=ttyAMA0" -sd ../busybox-1.32.1/a9rootfs.ext3

参考博客:

https://blog.csdn.net/leacock1991/article/details/

搭建linux调试环境 (一)-- qemu环境搭建vexpress开发平台 - Edver - 博客园 (cnblogs.com)

小讯
上一篇 2025-03-27 08:42
下一篇 2025-01-17 17:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/71675.html