Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Multiexcerpt
MultiExcerptNamerest_doc

Yocto 参考文档

在yocto中主要是使用bitbake,请参考以下文档

https://elinux.org/Bitbake_Cheat_Sheet

https://www.yoctoproject.org/docs/1.6/bitbake-user-manual/bitbake-user-manual.html

https://community.nxp.com/docs/DOC-94953

离线BSP包存在的问题

BSP包中有些.git文件夹中的内容是损坏的,因此不能使用git来管理,这样造成了一些麻烦。

可以先记下git的版本号,然后重新从 git.phytec.de 上clone,然后再checkout到对应的版本。

具体的git版本号可以从 https://git.phytec.de/phy2octo/ 来查找对应的BSP版本来查看。

phyLinux编译方法

使用phylinux这个脚本来安装BSP,这个方法需要从很多国外的服务器下载源代码。

但由于repo工具被限制的原因,需要对phylinux这个脚本做一些修改,请按照下面的教程来修改。

phylinux 使用指南 / phylinux guide

其中某些开发板可能会用到repo工具

repo工具使用方案 / repo guide

复位BSP编译环境

1,使用bitbake命令清理

bitbake world -c cleanall -k

清理所有recipe中的编译产物,恢复到初次编译时的状态。

2,直接删除文件夹

在编译环境的build目录中,有以下几个目录

目录名用途复位时删除
buildhistory
cache
confBSP的本地配置文件保留
deploy编译生成的结果,镜像/sdk等
downloads部分编译需要的源码包/git clone推荐保留
sstate-cache编译的缓存,同样的内容只编译一次,可大幅度的加快编译推荐保留
tmp编译的中间结果,如源代码,obj,等等

如果编译出现奇怪的错误,请把上面备注可删除的文件夹删除,然后再重新编译,由于已经编译了一遍,第二次会快很多。

去掉联网限制

如果你需要对BSP做修改,或者增加额外的软件包,你就需要让BSP联网。修改 conf/site.conf 去掉 BB_NO_NETWORK.。该选项的存在会导致在BSP需要联网下载软件包时失败。

Code Block
languagebash
themeMidnight
OURCE_MIRROR_URL = "file://${TOPDIR}/../src_mirror"
INHERIT += "own-mirrors"
BB_GENERATE_MIRROR_TARBALLS = "1"
SCONF_VERSION = "1"
BB_NO_NETWORK = "1"				<-- 去掉这一行

但有可能由于网络的限制,导致从外网下载失败,此时请使用VPN等工具来解决。

...