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

相关推荐
超级大咸鱼2 小时前
verilog利用线性插值实现正弦波生成器(dds)
matlab·fpga·dds·线性插值
cg501713 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影14 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain14 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon14 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu14 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
GalaxyPokemon16 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
自由鬼16 小时前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve
瞌睡不来16 小时前
(学习总结32)Linux 基础 IO
linux·学习·io