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

相关推荐
A星空1231 小时前
一、Linux嵌入式的I2C驱动开发
linux·c++·驱动开发·i2c
释怀不想释怀1 小时前
Linux环境变量
linux·运维·服务器
zzzsde1 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
凡人叶枫1 小时前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
yuanmenghao2 小时前
Linux 性能实战 | 第 7 篇 CPU 核心负载与调度器概念
linux·网络·性能优化·unix
qq_297574672 小时前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器
70asunflower2 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
神梦流3 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
凡人叶枫3 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习