前言:
Ubuntu18.04安装Petalinux 2021.1_sudaroot的博客-CSDN博客
ZynqMP Petalinux2021.1设置工程离线编译_sudaroot的博客-CSDN博客
一、获取kernel和uboot源码
有两种方式分别是:
1、从Xilinx · GitHub下载的源码;
2、在petalinux中拷贝生成的源码。
下面说第2种方法:
先创建Petalinux工程,然后petalinux-config默认配置。
由于PetaLinux在编译完成后会删除源代码,以节省硬盘空间。如果想在Petalinux编译完成后保留Kernel和Uboot源码,则需要在project-spec/meta-user/conf/petalinuxbsp.conf里,添加如下内容,可以保留Kernel和Uboot源代码。
RM_WORK_EXCLUDE += "u-boot-xlnx"
RM_WORK_EXCLUDE += "linux-xlnx"
最后petalinux-build等待编译完成。
编译完成后就可以拷贝kernel和uboot源码了。
kernel源码路径如下(相对于petalinux工程的路径):
<petalinux_project>/build/tmp/work-shared/zynqmp-generic/kernel-source
uboot源码路径如下:
<petalinux_project>/build/tmp/work/zynqmp_generic-xilinx-linux/u-boot-xlnx/v2021.01-xilinx-v2021.1+gitAUTOINC+41fc08b3fe-r0/git
把上面kernel和uboot源码拷贝到一个文件夹中,如我:
创建一个<petalinux_project>/components/ext_sources,把kernel和uboot源码分别存放在kernel-source和uboot-source两个文件夹中。
二、配置Petalinux
1、运行 petalinux-config,并进入“Linux Components Selection”子菜单。
• 对于内核,请选择 “linux-kernel () --->”,然后选择 “(X)ext-local-src”。
• 对于 U-Boot,请选择“u-boot () --->”,然后选择“(X)ext-local-src”
2、添加外部源路径。
• 对于内核,选择“External linux-kernel local source settings --->”。输入路径:
<petalinux_project>/components/ext_sources/kernel-source
• 对于 U-Boot,选择“External u-boot local source settings --->”。输入路径:
<petalinux_project>/components/ext_sources/uboot-source
保存退出。
运行petalinux-build编译。
参考:
《ug1144-petalinux-tools-reference-guide v2019.1中文版.pdf》
《ug1144-petalinux-tools-reference-guide v2021.1.pdf》