bitbake 是 Yocto 项目中用于构建和打包 Linux 系统的核心命令行工具。它使用 BitBake 构建系统定义的配方(recipes)来生成最终的映像和软件包。bitbake 支持许多不同的命令和选项。以下是一些常用的 bitbake 命令及其功能:
bitbake -s
显示 Yocto 项目中所有可用配方(recipes)及其版本信息。这个命令是 bitbake 工具的一个选项,用于帮助你查看当前构建环境中所有配方的摘要信息。
主要功能
列出所有配方:显示当前 Yocto 构建环境中所有可用的配方及其版本。这些配方可以是已定义的、正在使用的或是可以用来构建不同的软件包。
显示版本信息:对于每个配方,bitbake -s 命令将显示配方的名称、版本号、和状态信息。例如,它会显示配方的当前版本、候选版本等信息。
使用场景
查看可用配方:当你想了解当前 Yocto 环境中有哪些配方可供选择时,可以使用这个命令来获取配方的列表和版本信息。
检查版本信息:在调试或升级过程中,可能需要确认某个软件包的版本信息,此命令提供了一个简便的方法来获取这些信息。
实例:
ecipe Name Latest Version Preferred Version
=========== ============== =================
a2jmidid :9-r0
abseil-cpp :20190808+gitAUTOINC+aa844899c9-r0
ace :6.5.10-r0
ace-cloud-editor :02.07.17+gitAUTOINC+812e2c56ae-r0
acl :2.2.53-r0
acl-native :2.2.53-r0
acpica :20200717-r0
go :1.15.2-r0
bitbake-layers show-recipes
该命令列出了所有可以构建的配方及其版本。
打印的信息如下:
=== Available recipes: ===
a2jmidid:
meta-oe 9
abseil-cpp:
meta-oe 20190808+gitAUTOINC+aa844899c9
accountsservice:
meta-gnome 0.6.55 (skipped)
alsa-lib:
meta 1.2.3.2
can-utils:
meta-oe 2020.02.04
cannelloni:
meta-networking 20160414+AUTOINC+82aa49b417
canrule-name:
meta-bsp 1.0
解释部分输出
- a2jmidid:
- 所属层:meta-oe
- 版本:9
- abseil-cpp:
- 所属层:meta-oe
- 版本:20190808+gitAUTOINC+aa844899c9
- accountsservice:
- 所属层:meta-gnome
- 版本:0.6.55 (被跳过)
- can-utils:
- 所属层:meta-oe
- 版本:2020.02.04
跳过的配方
(skipped):表示该配方被跳过了,这通常是因为它不满足当前的构建条件或者配置设置。
bitbake-layers show-layers
jwchen14@jwchen14-virtual-machine:~/imx6ull/xunjie/yocto/build_imx6ull$ bitbake-layers show-layers
NOTE: Starting bitbake server...
layer path priority
==========================================================================
meta /home/jwchen14/imx6ull/xunjie/yocto/sources/poky/meta 5
meta-poky /home/jwchen14/imx6ull/xunjie/yocto/sources/poky/meta-poky 5
meta-oe /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-openembedded/meta-oe 6
meta-multimedia /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-openembedded/meta-multimedia 6
meta-python /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-openembedded/meta-python 7
meta-freescale /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-freescale 5
meta-freescale-3rdparty /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-freescale-3rdparty 4
meta-freescale-distro /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-freescale-distro 4
meta-bsp /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-myir/meta-bsp 8
meta-sdk /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-myir/meta-sdk 8
meta-ml /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-myir/meta-ml 8
meta-nxp-demo-experience /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-nxp-demo-experience 7
meta-browser /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-browser 7
meta-rust /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-rust 7
meta-clang /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-clang 7
meta-gnome /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-openembedded/meta-gnome 7
meta-networking /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-openembedded/meta-networking 5
meta-filesystems /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-openembedded/meta-filesystems 6
meta-qt5 /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-qt5 7
meta-python2 /home/jwchen14/imx6ull/xunjie/yocto/sources/meta-python2 7
jwchen14@jwchen14-virtual-machine:~/imx6ull/xunjie/yocto/build_imx6ull$
这个命令将列出所有在当前构建环境中配置的层(layers),并显示它们的路径、优先级以及是否启用等信息。具体来说,它的输出通常包括:
- Layer Name: 层的名称。
- Layer Path: 层在文件系统中的路径。
- Priority: 层的优先级,优先级越高,该层的配方会被优先考虑。
- Enabled: 是否启用该层。
后续补充。。。。。。。目前有用的就这些