qemu介绍
103_qemu
环境搭建
MAC M1上搭建QEMU+RT-Thread环境
下载仓库:
Bash |
---|
| git clone https://gitee.com/rtthread/rt-thread.git
git clone https://git.qemu.org/git/qemu.git
|
1.1. 编译QEMU
Bash |
---|
| git clone https://git.qemu.org/git/qemu.git
mkdir build
cd build
../configure --enable-virtfs --enable-slirp --target-list=aarch64-softmmu
|
备注说明
- ../qemu/configure :qemu 源码路径下的 configure
- --prefix=/home/zhangsz/tools/qemu8 指定安装 install 目录,不指定会安装到 系统目录下,配置完可以查看 prefix
- --enable-virtfs : 开启 virtfs 选项,
- --enable-slirp :使能 网卡 user 选项
- --target-list=aarch64-softmmu : 这里指定只编译 qemu-system-aarch64,没有这个选项,则全部编译各个平台
编译: make 或者 ninja,建议 多线程编译,速度快一些
1.2. 更新scons
编译rtthread.bin需要scons
方案1:brew install scons
方案2:官网下载最新的版本:SCons Downloads
Bash |
---|
| # 下载的scons源码目录下:
python3 setup.py install
# 创建软件链接
ln -s /usr/local/bin/scons /usr/bin/scons
|
1.3. 编译RT-Thread
由于手头的ubuntu是x86_64 host,编译rtthread.bin是arm架构的,所以需要交叉编译
一、下载ARM官网提供的交叉编译工具链
ARM工具链官网:Arm GNU Toolchain Downloads – Arm Developer
具体的下载界面:Fetching Title#n2za
二、在bps/qemu-virt64-aarch64目录下创建setup_env.sh
Bash |
---|
| export RTT_CC=gcc
export RTT_EXEC_PATH=/Users/zengyuan/Documents/software/arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
export RTT_CC_PREFIX=aarch64-none-elf-
export PATH=$PATH:$RTT_EXEC_PATH
echo "CC => ${RTT_CC}"
echo "PREFIX => ${RTT_CC_PREFIX}"
echo "EXEC_PATH => ${RTT_EXEC_PATH}"
|
三、生效工具链并编译rtthread
Bash |
---|
| # 生成环境变量
source setup_env.sh
# 构建qemu-system-aarch64的软连接,mac系统软链接到/usr/bin会提示权限不够
sudo ln -s /Users/zengyuan/Documents/coding/qemu/build/qemu-system-aarch64 /usr/local/bin/qemu-system-aarch64
# 编译rrthread.bin
scons
|
1.4. 运行qemu
在bsp/qemu-virt64-aarch64路径下运行qemu.sh
参考资料
最后更新:
2024-04-14