yocto poky @ x86_64 qemu开发QuickStart

8 篇文章 0 订阅
1 篇文章 0 订阅

yocto的读作“幺科托",它的本意是一种非常小的度量单位(10的负24次方),在这里它代表一种LINUX的发行版及其构建系统。

它的使用非常简单,按照如下步骤操作,每个开发者都可以构建一套自己的LINUX发行版镜像。

开发环境:

安装依赖

$ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev python3-subunit mesa-common-dev zstd liblz4-tool file locales
$ sudo locale-gen en_US.UTF-8

下载代码:

两种方式下载代码

方式1:下载POKY仓库

git clone git://git.yoctoproject.org/poky

方式2:下载压缩包

https://www.yoctoproject.org/software-overview/downloads/archived-releases/

配置

$ tar xvf poky-aa63b25cbe25d89ab07ca11ee72c17cab68df8de.tar.bz2
$ cd poky/
$ source oe-init-build-env

编译

$ bitbake core-image-sato

下载的原始压缩包中不包括发行版package源码,构建框架在编译过程中会自动下载源码编译,下载的源码包存储在路径poky/build/downloads下:

编译过程:

编译结束

运行QEMU

执行如下命令启动虚拟机:

$ runqemu qemux86-64

编译其它架构

打开文件build/conf/local.conf,可以看到构建系统支持多个ARCH的QEMU仿真运行:

选择熟悉的MIPS再次执行构建运行

编译工具链

$ bitbake meta-toolchain

编译结果,工具链安装包poky-glibc-x86_64-meta-toolchain-mips32r2-qemumips-toolchain-4.2.3.sh

工具链被安装到/opt/poky/4.2.3/sysroots/x86_64-pokysdk-linux/usr/bin/mips-poky-linux目录下:

使用工具链前最好source一下/opt/poky/4.2.3/environment-setup-mips32r2-poky-linux

编译代码:

mips-poky-linux-gcc  -meb -mabi=32 -mhard-float -march=mips32r2 -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/opt/poky/4.2.3/sysroots/mips32r2-poky-linux main.c

编译的是大端程序:

编译PPC QEMU启动镜像

编译PPC工具链

查看目标依赖

yocto支持查看目标依赖,依赖数据以为.dot形式输出,之后在用graphviz工具将生成的task-depends.dot转成图像:

$ bitbake -g meta-toolchain
$ dot -v -Tsvg -o dep.svg task-depends.dot

会生成一张巨复杂的依赖关系图:

编译问题

经过验证,如果遇到如下编译错误,再次执行编译命令即可,无需额外处理。

参考文档

imx8mqevk yocto 编译wifi驱动使用toolchain_bitbakeimx8 toolchain_自学Linux记录的博客-CSDN博客

Yocto Project Quick Build — The Yocto Project ® 4.2.999 documentation

Yocto Project – It's not an embedded Linux distribution – it creates a custom one for you

LUG's repo file generator

Yocto Project Quick Build — The Yocto Project ® 4.2.999 documentation


结束

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

papaofdoudou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值