PetaLinux工程的常用命令——petalinux-build

petalinux-build:编译项目或指定组件。

注:有些命令我没用过,瞎翻译有可能会翻译错了。

用法:

petalinux-build [options]


可选参数:

-h, --help

显示函数用法。

-p, --project <PROJECT>

PetaLinuxSDK项目的路径。默认值是当前Shell工作路径下的项目

-c, --component <COMPONENT>

指定需要编译的组件,程序会编译该组件及其依赖。

如: -c rootfs

-c myapp

-x, --execute <tasks of bitbake>

指定组件的bitbake任务。

要了解组件的列表任务,请执行以下操作:

-x do_listtasks

-f, --force

忽略戳记强制运行特定任务。强制运行必须针对组件或其任务。如:

-c myapp -f

-c myapp -x compile -f

-v, --verbose

显示详细的编译过程。

-s, --sdk

编译SDK ==> do_populate_sdk

-e, --esdk

编译最小eSDK ==> do_populate_sdk_ext

-a|--archiver

在images/linux 文件夹中创建包含源文件和许可证的archiver.tar.gz文件。


例子:

编译项目:

$ petalinux-build

可引导映像位于 <PROJECT>/images/linux/.

编译具有archiver的项目:

$ petalinux-build -a | --archiver

编译SDK :

$ petalinux-build --sdk | -s

等效的bitbake任务是do_populate_sdk,编译到的sdk部署在 <PROJECT>/images/linux/sdk.sh

编译最小eSDK :

$ petalinux-build --esdk | -e

等效的bitbake任务是do_populate_sdk_ext,编译到的esdk部署在 <PROJECT>/images/linux/esdk.sh

这可以通过用户源代码更改导入到petalinux工具中。

编译具有archiver的SDK:

$ petalinux-build --sdk --archiver

仅编译内核:

$ petalinux-build -c kernel

强制编译内核:

$ petalinux-build -c kernel -x compile -f

强制部署内核:

$ petalinux-build -c kernel -x deploy -f

构建内核并更新可引导映像:

$ petalinux-build -c kernel

$ petalinux-build -x package

仅编译根目录:

$ petalinux-build -c rootfs

仅编译根目录的myapp:

$ petalinux-build -c myapp

列出所有根目录的子组件:

$ petalinux-build -c rootfs -h

清理u-boot并再次编译:

$ petalinux-build -c u-boot -x distclean

上面的命令将删除u-boot的tmp文件和sstate缓存。

$ petalinux-build -c u-boot

清理项目构建并重新构建:

$ petalinux-build -x distclean

上面的命令将删除tmp文件和sstate缓存文件。

$ petalinux-build

清理项目构建和生成的可引导映像:

$ petalinux-build -x mrproper

上面的命令将删除tmp文件、 <PROJECT>/images/、<PROJECT>/build/ 以及<PROJECT>/components/plnx_workspace目录

相关推荐
知北游天25 分钟前
Linux:多线程---同步&&生产者消费者模型
java·linux·网络
kfepiza36 分钟前
`nmcli con add type vlan`中的: `ifname` , `dev` ,`vlan.parent`, `id`,`vlan.id`
linux·网络协议·tcp/ip
kfepiza40 分钟前
Linux的NetworkManager的`nmcli connection add` 笔记250712
linux·网络协议·tcp/ip
kfepiza43 分钟前
Linux的NetworkManager的`nmcli con add type vlan`中, `iframe` 和 `dev` 的区别 笔记250712
linux·tcp/ip
发仔1231 小时前
Linux常用命令
linux
敲上瘾1 小时前
传输层协议UDP原理
linux·c语言·网络·网络协议·udp
jiang_bluetooth2 小时前
AIC8800M40低功耗wifi在ARM-LINUX开发板上做OTA的调试经验
linux·arm开发·ota·sdio·aic8800·sdio wifi
添乱2 小时前
「Linux命令基础」文本模式系统关闭与重启
linux
添乱2 小时前
「Linux命令基础」Shell命令基础
linux
egoist20232 小时前
【Linux仓库】命令行参数与环境变量【进程·伍】
linux·运维·服务器·环境变量·命令行参数·内建命令