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

相关推荐
wuicer10 分钟前
ubuntu 20.04 安装anaconda以及安装spyder
linux·运维·ubuntu
cui__OaO2 小时前
Linux软件编程--线程
linux·开发语言·线程·互斥锁·死锁·信号量·嵌入式学习
小狗爱吃黄桃罐头2 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习
小晶晶京京2 小时前
day34-LNMP详解
linux·运维·服务器
画个太阳作晴天2 小时前
A12预装app
linux·服务器·前端
fengyehongWorld3 小时前
Linux crontab定时任务
linux·运维
shuangrenlong3 小时前
ubuntu更新chrome版本
linux·chrome·ubuntu
碎像4 小时前
Linux上配置环境变量
linux·运维·服务器
敲上瘾4 小时前
Linux系统cgroups资源精细化控制基础
linux·测试工具·docker·压力测试·cgroups
起个昵称吧5 小时前
线程相关编程、线程间通信、互斥锁
linux·算法