分享

Yocto初体验

 看见就非常 2022-03-15

因为工作中会用到一些嵌入式linux相关的知识,所以开始学一学。

Yocto 是 Linux基金会旗下的用于构建针对嵌入式设备Linux的一整套工具。

也就是通过 Yocto 我们可以创建自已的linux系统给自己的嵌入式设备使用,可以定制裁剪所需要的模块,可以把自己写的应用打包进去。

假如我想开发一个智能硬件设备,我就可以事先根据设备的硬件信息构建一个linux系统。这样在开发的时候就不用太考虑对硬件的底层操作了,可以像开发普通的linux程序那样开发了。

今天这篇讲一下 Yocto 的 hello world ,从头构建一个可以在qemu虚拟机里跑的 linux 系统。

构建出来的系统叫 Poky 是 Yocto 项目的参考系统,可以以这个为模板修改创建出自己的系统。

原文在这里:
https://docs./brief-yoctoprojectqs/index.html

首先要准备一个linux环境,主流的发行版都可以,我的电脑装的是 Ubuntu 20.04。所以下面就只写ubuntu下的操作。

安装必要的包:

$ 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 pylint3 xterm python3-subunit mesa-common-dev zstd liblz4-tool

git 下载 Poky 源码

$ git clone git://git./poky

查看所有的分支:

$ cd poky
$ git branch -a 

会显示一大堆的分支,在这个例子里要切换到 honister 分支:

$ git checkout -t origin/honister -b my-honister
$ git pull

构建镜像

  1. 初始化构建环境:

    $ cd poky
    $ source oe-init-build-env
    
  2. 检查本地配置文件:
    运行上面的命令后,会进入 build/conf 文件夹,里面有一个 local.conf 文件,这个文件包含了很多构建镜像相关的配置,比如若没有指定构建的目标机器,默认的构建镜像是qemux86,其他的一些配置包括使用的包管理工具是什么之类的,因为我也是初学,就不介绍了。

  3. 开始构建:

    $ bitbake core-image-sato
    

    整个构建过程会花大概一两个小时,如果你的网络不好可能会花更多的时间,在构建过程中,它会下载很多软件包。构建完后会占用几十G硬盘空间,包括各种下载和生成的文件。

  4. 用 QEMU 运行构建出来的镜像

    $ runqemu qemux86-64
    

    运行时会弹出一个 QEMU 的窗口,就像电脑开机一样,先是划过一片字符,之后是启动画面,最后进入系统界面。
    在这里插入图片描述
    在这里插入图片描述

我简单地用了用,发现鼠标划进去时不会显示光标,还不清楚什么原因,不过鼠标点击是好用的,键盘也是好用的。

  1. 关闭 QEMU
    点右上角的红叉就能关掉了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多