IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 码农的自我修养 - Yocto版本查询和在Ubuntu下安装依赖的包 -> 正文阅读

[系统运维]码农的自我修养 - Yocto版本查询和在Ubuntu下安装依赖的包

嵌入式Linux开发,要用到Yocto。

Yocto是一个开源项目集合,帮助开发者创建定制的基于Linux的系统,支持各种硬件架构。

在Yocto中,如何确定使用的Linux Kernel的版本?

可以使用bitbake命令,使用-e参数,查询构建kernel这个recipe(对应一个bb文件)时的环境变量中的信息,PV(Package Version)表示版本,PN(Package Name)表示名字。

$ bitbake -e virtual/kernel | grep "^PV"

PV="4.1.15"

$ bitbake -e virtual/kernel | grep "^PN"

PN="linux-name"

因为这里我们没有使用bb文件名来做为targe名,而是使用了virtual/kernel,这个相当于kernel bb文件的别名。这样快速定位到kernel的recipe,而不用寻找kernel的bb文件名。

同样的,还有virtual/bootloader也是一样。

PN变量的值就是Recipe bb 文件的名字中截取的,比如u-boot_2011.03.bb文件的话,PN=u-boot。

在下划线后面的版本信息会截断,并赋值给变量PV。

这个是由bitbake解析bb文件时自动给PN和PV变量赋值的。

所以我们查找的Linux kernel版本信息,就是在kernel的bb文件名里已经体现了。

举例来说:

?- linux_4.1.15.bb文件

PV="4.1.15"

PN="linux"

?- u-boot_2017.03.bb文件

PV="v2017.03"

PN="u-boot"

那Yocto的版本呢?

第一种方法:

$ cat $POKY-DIR/meta-poky/conf/distro/poky.conf

得到下面信息:

DISTRO = "poky"

DISTRO_NAME = "Poky (Yocto Project Reference Distro)"

DISTRO_VERSION = "3.2.1"

DISTRO_CODENAME = "gatesgarth"

......

这里$POKY-DIR要展开或替换为相应的路径。

第二种方法:

$ cat $POKY-DIR/documentation/poky.yaml

也可以得到版本信息:

DISTRO : "3.2.1"

......

所以,知道了我们正在使用的Yocto版本和kernel版本,保证项目和这些版本能更好的稳定的匹配。

在Ubuntu上安装Yocto前需要什么准备工作?

因为Yocto是很多工具的组合,所以有很多依赖的包需要安装。

Google搜索“intall yocto”,第一个链接是:

Yocto Project Quick Start

https://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html

里面找到Ubuntu下安装Yocto需要依赖的包:

Ubuntu and Debian

The essential and graphical support packages you need for a supported Ubuntu or Debian distribution are shown in the following command:

?????$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \

?????build-essential chrpath socat libsdl1.2-dev xterm

但这个是1.8版本的,将链接里1.8改成2.4,内容如下:

Ubuntu and Debian????

?? ??$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \

?????build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \

?????xz-utils debianutils iputils-ping libsdl1.2-dev xterm

看到2.4版本多了一些包,并注意到在shell命令行里也是可以使用“\”来进行换行的。

而2.5版本及以上,Yocto文档结构变了,集成在一个网页中,并由菜单选择版本。

Welcome to the Yocto Project Documentation — The Yocto Project ? dev documentation

3.2.4版本的依赖包:

* Essentials: Packages needed to build an image on a headless system:

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib 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

在我的环境里,还需要安装:git-email lzop graphviz cmake openjdk-8-jdk

当运行bitbake进行构建时,如果有提示缺少的包,也要安装,因为和你使用的Ubuntu版本和设置都有关系。

当前dev(3.5)为最新版本,在reference manual -> 1.2 Required Packages for the Build Host里,标明的依赖的包为:

1 System Requirements — The Yocto Project ? dev documentation

* Essentials: Packages needed to build an image on a headless system:

$ 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

我们看到3.5版本又多了一些依赖库。

所以在Git clone Yocto并进行构建前,要先安装这些package。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-11 22:36:33  更:2022-03-11 22:40:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:38:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码