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目录

相关推荐
Learn-Share_HY26 分钟前
[Linux]如何設置靜態IP位址?
linux·运维·tcp/ip·ubuntu·static ip
Everbrilliant891 小时前
Ubuntu系统下交叉编译Android的X265库
linux·运维·ubuntu·x265交叉编译·android x265·ffmpeg x265
我不要放纵1 小时前
LVS集群搭建
linux·服务器·lvs
阿巴~阿巴~1 小时前
自主Shell命令行解释器
linux·运维·服务器
许白掰1 小时前
Linux入门篇学习——借助 U 盘或 TF 卡拷贝程序到开发板上
linux·学习·借助 u 盘拷贝程序到开发板上·借助 tf卡拷贝程序到开发板上
YuTaoShao3 小时前
【LeetCode 热题 100】994. 腐烂的橘子——BFS
java·linux·算法·leetcode·宽度优先
退役小学生呀3 小时前
十五、K8s可观测能力:日志收集
linux·云原生·容器·kubernetes·k8s
van叶~3 小时前
Linux探秘坊-------15.线程概念与控制
linux·运维·服务器
Andy杨5 小时前
20250718-1-Kubernetes 应用程序生命周期管理-应用部署、升级、弹性_笔记
linux·docker·容器
写写闲篇儿9 小时前
Python+MongoDB高效开发组合
linux·python·mongodb