打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Yocto初体验

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

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

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

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

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

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

原文在这里:
https://docs.yoctoproject.org/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.yoctoproject.org/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
    点右上角的红叉就能关掉了。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Yocto 环境搭建
4 种用于构建嵌入式 Linux 系统的工具 | Linux 中国
IoT固/软件更新及开源选项
I See Linux ? 挂载raw和qcow2格式的KVM硬盘镜像
qemu 安装
QEMU入门指南
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服