In the 2020.2 release version of PetaLinux, when a user upgrades a 2020.1 project to 2020.2 or when a user creates a new project with the upgraded tool (from 2020.1 to 2020.2), EmbeddedSW components such as the FSBL, pmu-firmware, psm-firmware, PLM and fs-boot fail to build.
For MicroBlaze PetaLinux, KC705, AC701 and KCU105 BSP device-trees also fail to build.
This is a known issue in the 2020.x release of PetaLinux for all platforms.
To fix this issue, you will need to apply the attached patch.
Root Cause:
The Parallel makefiles mechanism for the EmbeddedSW components does not work when building the 2020.2 EmbeddedSW components using 2020.1 XSCT tools.
PetaLinux MicroBlaze Project:
Note: the below table describes the patches for both the MicroBlaze template and BSP projects.
Patch Component/ Project | MicroBlaze template Project | MicroBlaze AC701/KC705/KCU105 BSP Project |
FS-Boot | Yes | Yes |
DTG | No | Yes |
FS-Boot:
The patch should be applied to <plnx-proj-root>/project-spec/meta-user/recipes-bsp/fsboot/fs-boot_%.bbappend recpies.
Note: For information on how to apply a patch to recipes in PetaLinux, please refer to (UG1144) or https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips
1) Copy the attached patch from the Attachments section to the fsboot directory as shown below.
If these directory and recipes do not exist then manually create <plnx-proj-root>/project-spec/meta-user/recipes-bsp/fsboot/files/
$ cp 0001-esw-Update-makefiles-to-make-them-work-with-older-vi.patch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/fsboot/files
2) Modify the fs-boot_%.bbappend file with the below content using a text editor:
$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/fsboot/fs-boot_%.bbappend # fs-boot_%.bbappend content
SRC_URI_append = " \
file://0001-esw-Update-makefiles-to-make-them-work-with-older-vi.patch \
"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
3) Clean the fs-boot sstate cache and rebuild the fs-boot recipes:
$ petalinux-build -c fs-boot -x cleansstate
$ petalinux-build -c fs-boot
DTG for AC701 PetaLinux BSP:
The patch should be applied to <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/device-tree_%.bbappend recipes
Note: For information on how to apply a patch to recipes in PetaLinux, please refer to (UG1144) or https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips
1) Copy the attached patch from the Attachments section to the device-tree directory as shown below.
If these directory and recipes do not exist then manually create <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files/
$ mkdir -p <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files
$ cp 0001-Revert-ac701-full.dtsi-update-node-instances-for-ac7.patch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files
2) Modify the device-tree.bbappend file with the below content using a text editor:
$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/device-tree.bbappend
# device-tree.bbappend content
# Note: system-user.dtsi is autogenerated from petalinux tool.
SRC_URI += " \
file://system-user.dtsi \
file://0001-Revert-ac701-full.dtsi-update-node-instances-for-ac7.patch \
"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:
3) Clean the device-tree sstate cache and rebuild the device-tree recipes:
$ petalinux-build -c device-tree -x cleansstate $ petalinux-build -c device-tree
DTG for KC705 PetaLinux BSP:
The patch should be applied to <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/device-tree_%.bbappend recipes
Note: For information on how to apply a patch to recipes in PetaLinux, please refer to (UG1144) or https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips
1) Copy the attached patch from the Attachments section to the device-tree directory as shown below.
If these directory and recipes do not exist then manually create <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files/
$ mkdir -p <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files
$ cp 0001-Revert-kc705-full.dtsi-update-node-instances-for-kc7.patch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files
2) Modify the device-tree.bbappend file with the below content using a text editor:
$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/device-tree.bbappend
# device-tree.bbappend content
# Note: system-user.dtsi is autogenerated from petalinux tool.
SRC_URI += " \
file://system-user.dtsi \
file://0001-Revert-kc705-full.dtsi-update-node-instances-for-kc7.patch \
"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:
3) Clean the device-tree sstate cache and rebuild the device-tree recipes:
$ petalinux-build -c device-tree -x cleansstate $ petalinux-build -c device-tree
DTG for KCU105 PetaLinux BSP:
The patch should be applied to <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/device-tree_%.bbappend recipes
Note: For information on how to apply a patch to recipes in PetaLinux, please refer to (UG1144) or https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips
1) Copy the attached patch from the Attachments section to the device-tree directory as shown below.
If these directory and recipes do not exist then manually create <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files/
$ mkdir -p <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files
$ cp 0001-Revert-kcu105.dtsi-update-node-instances-for-kcu105-.patch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files
2) Modify the device-tree.bbappend file with the below content using a text editor:
$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/device-tree.bbappend
# device-tree.bbappend content
# Note: system-user.dtsi is autogenerated from petalinux tool.
SRC_URI += " \
file://system-user.dtsi \
file://0001-Revert-kcu105.dtsi-update-node-instances-for-kcu105-.patch \
"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:
3) Clean the device-tree sstate cache and rebuild the device-tree recipes:
$ petalinux-build -c device-tree -x cleansstate $ petalinux-build -c device-tree
PetaLinux Zynq-7000 Project:
The patch should be applied to <plnx-proj-root>/project-spec/meta-user/recipes-bsp/fsbl/fsbl_%.bbappend recipes
Note: For information on how to apply a patch to recipes in PetaLinux, please refer to (UG1144) or https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips
1) Copy the attached patch from the Attachments section to the fsbl directory as shown below.
If these directory and recipes do not exist then manually create <plnx-proj-root>/project-spec/meta-user/recipes-bsp/fsbl/files/
$ mkdir -p <plnx-proj-root>/project-spec/meta-user/recipes-bsp/fsbl/files
$ cp 0001-esw-Update-makefiles-to-make-them-work-with-older-vi.patch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/fsbl/files
2) Modify the fsbl_%.bbappend file with the below content using a text editor:
$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/fsbl/fsbl_%.bbappend
# fsbl_%.bbappend content SRC_URI_append = " \ file://0001-esw-Update-makefiles-to-make-them-work-with-older-vi.patch \ " FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
3) Clean the fsbl sstate cache and rebuild the fsbl recipes:
$ petalinux-build -c fsbl -x cleansstate
$ petalinux-build -c fsbl
PetaLinux Zynq UltraScale+ MPSoC:
The patch should be applied to <plnx-proj-root>/project-spec/meta-user/recipes-bsp/pmu-firmware/pmu-firmware_%.bbappend recipes
Note: For information on how to apply a patch to recipes in PetaLinux, please refer to (UG1144) or https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips
1) Copy the attached patch from the Attachments section to the pmu-firmware directory as shown below.
If these directory and recipes do not exist then manually create <plnx-proj-root>/project-spec/meta-user/recipes-bsp/pmu-firmware/files/
$ mkdir -p <plnx-proj-root>/project-spec/meta-user/recipes-bsp/pmu-firmware/files
$ cp 0001-esw-Update-makefiles-to-make-them-work-with-older-vi.patch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/pmu-firmware/files
2) Modify the pmu-firmware_%.bbappend file with the below content using a text editor:
$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/pmu-firmware/pmu-firmware_%.bbappend
# pmu-firmware_%.bbappend content SRC_URI_append = " \ file://0001-esw-Update-makefiles-to-make-them-work-with-older-vi.patch \ " FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
3) Clean the pmu-firmware sstate cache and rebuild the pmu-firmware recipes:
$ petalinux-build -c pmu-firmware -x cleansstate
$ petalinux-build -c pmu-firmware
PetaLinux Versal ACAP:
Note: For Veral projects, you need to apply the patches for both PSM-Firmware and PLM.
PSM-Firmware:
The patch should be applied to <plnx-proj-root>/project-spec/meta-user/recipes-bsp/psm-firmware/psm-firmware_%.bbappend recipes
Note: For information on how to apply a patch to recipes in PetaLinux, please refer to (UG1144) or https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips
1) Copy the attached patch from the Attachments section to the psm-firmware directory as shown below.
If these directory and recipes do not exist then manually create <plnx-proj-root>/project-spec/meta-user/recipes-bsp/psm-firmware/files/
$ mkdir -p <plnx-proj-root>/project-spec/meta-user/recipes-bsp/psm-firmware/files
$ cp 0001-esw-Update-makefiles-to-make-them-work-with-older-vi.patch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/psm-firmware/files
2) Modify the psm-firmware_%.bbappend file with the below content using a text editor:
$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/psm-firmware/psm-firmware_%.bbappend
# psm-firmware_%.bbappend content SRC_URI_append = " \ file://0001-esw-Update-makefiles-to-make-them-work-with-older-vi.patch \ " FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
3) Clean the psm-firmware sstate cache and rebuild the psm-firmware recipes:
$ petalinux-build -c psm-firmware -x cleansstate
$ petalinux-build -c psm-firmware
PLM:
The patch should be applied to ;<plnx-proj-root>/project-spec/meta-user/recipes-bsp/plm/plm_%.bbappend recipes
Note: For information on how to apply a patch to recipes in PetaLinux, please refer to (UG1144) or https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips
1) Copy the attached patch from the Attachments section to the plm directory as shown below.
If these directory and recipes do not exist then manually create <plnx-proj-root>/project-spec/meta-user/recipes-bsp/plm/files/
$ mkdir -p <plnx-proj-root>/project-spec/meta-user/recipes-bsp/plm/files
$ cp 0001-esw-Update-makefiles-to-make-them-work-with-older-vi.patch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/plm/files
2) Modify the plm_%.bbappend file with the below content using a text editor:
$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/plm/plm_%.bbappend
# plm_%.bbappend content SRC_URI_append = " \ file://0001-esw-Update-makefiles-to-make-them-work-with-older-vi.patch \ " FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
3) Clean the plm sstate cache and rebuild the plm recipes:
$ petalinux-build -c plm -x cleansstate
$ petalinux-build -c plm
文件名 | 文件大小 | File Type |
---|---|---|
AR-75870-patches.zip | 19 KB | ZIP |
AR# 75870 | |
---|---|
日期 | 11/25/2020 |
状态 | Active |
Type | 已知问题 |
Tools |