手把手教你搭建用buildroot构建qemu环境

之前我有篇讲过用QEMU模拟ARM64开发环境之busybox构建文件系统的开发环境具体可以看下这篇。
https://mp.weixin.qq.com/s?__biz=MzUyNDUyMDQyNQ==&mid=2247483891&idx=1&sn=e5e858476ec6b821f7fec458e78ba4f0&chksm=fa2d5f75cd5ad663b9d370e227f2c70d6a044fa69e073d0587609fd302ee77695779f00cd8fb&token=2141339249&lang=zh_CN#rd

本篇讲下从0开始使用QEMU模拟ARM64开发环境之buildroot搭建开发环境。为啥还要介绍buildroot构建根文件系统镜像?因为相对于busybox制作工具 buildroot 避免繁杂的移植工作,通过menuconfig配置我们需要的功能,不需要的功能去掉,再执行make指令编译,buildroot就会自动从指定的服务器上下载u-boot,kernel,rootfs打包格式的,应用包程序管理的源码包,自动编译,自动搭建成我们所需要的嵌入式根文件系统。

环境准备

PC系统:Windows10

虚拟机:VMware-17

虚拟机系统:Ubuntu-18.04

模拟的64位cpu:cortex-a53

搭建环境时使用的源码版本

qemu-8.2.0

linux-5.10.209 (Linux Kernel)

buildroot-2023.11.1

AARCH64的工具链安装准备:

sudo apt-get install gcc-aarch64-linux-gnu -y

下载编译安装QEMU

下载QEMU源码

去qemu官网上下载最新的8.2.0源码包,并解压出来

wget https://download.qemu.org/qemu-8.2.0.tar.bz2
tar -xjf qemu-8.2.0.tar.bz2

配置QEMU

配置qemu源码前要要求本地环境python版本要大于3.8和glib2.0环境依赖。

检查下自己主机的python版本,如果低于python3.8需要去python官网下载源码自行安装https://www.python.org/downloads/source/

cd Python-3.8.17/
./configure --prefix=/usr/local
make -j8 
make install
rm /usr/bin/python
sudo ln -s /usr/local/bin/python3.8 /usr/bin/

然后安装各种环境

sudo apt-get install python3-venv
sudo apt-get install python3-pip
sudo apt-get update  
pip3 install --upgrade pip
pip3 install sphinx
pip3 install sphinx_rtd_theme
pip3 install Ninja
sudo apt-get install libglib2.0-0 libglib2.0-dev ninja-build libpixman-1-dev

安装完配置前的环境依赖后,进入到qemu目录下,配置下qemu源码。本篇模拟ARM64架构的开发环境,接下来创建编译目录,然后进行配置

~/qemu-8.2.0$ mkdir build/
~/qemu-8.2.0$ cd build/
~/qemu-8.2.0/build/$ ../configure --target-list=aarch64-softmmu --audio-drv-list=

编译安装qemu

~/qemu-8.2.0/build/$ make -j8 && make install

构建buildroot系统镜像

去buildroot官网下载最新源码

解压buildroot源码

tar -zxvf buildroot-2023.11.1.tar.gz 

进入buildroot目录下,进行配置kernel

cd buildroot-2023.11.1 && make qemu_aarch64_virt_defconfig

buildroot配置

编译buildroot前要先配置下

make menuconfig

执行后弹出下面的菜单

具体相关配置一般是关注以下选项

Target option --->

        Target Architecture Variant (cortex-A53)

Toolchain --->

        Kernel Headers (Linux 5.10.x kernel headers)  --->

System configuration  --->
     (root) Root password

kernel --->
    
        (5.10.209)kernel version


Filesystem images —>

   [*] ext2/3/4 root filesystem
        ext2/3/4 variant (ext4) --->

buildroot编译

编译整个uboot,kernel,buildroot镜像

make -j8

编完之后进入到output/images目录下就能得到Image,roots.ext4,start-qemu.sh这三个文件

我们要修改下start-qemu.sh,修改内容如下行显示

28 exec qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -smp 1 -kernel Image -append "rootwait root=/dev/vda console=ttysole=ttyAMA0" -drive file=rootfs.ext4

启动qemu

./start-qemu.sh

login输入root, password输入root即可登录console

退出当前运行的 qemu,使用组合键,CTRL + a,松开后然后再按 x 键

在这里插入图片描述


作者潘小帅, 是一名Linux底层爱好者,平时写写技术原创文章,徒步,旅游,看电影的爱好,喜欢我的文章可以点赞收藏+关注,感谢你的支持,微信公众号【Linux随笔录】

  • 21
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值