AR# 63191

PetaLinux 2014.4 - U-Boot Compilation Fails When Using The Latest Mainline U-Boot Source

描述

When fetching the latest mainline U-Boot source code, compilation fails when building the system with the petalinux-build tool.

解决方案

The latest mainline U-Boot uses the Makefile option rsync --cvs-exclude.  

This option causes the PetaLinux build infrastructure to fail.  

This issue does not affect the U-Boot source that ships with PetaLinux 2014.4.  

A patch is provided below for the master PetaLinux U-Boot Makefile to work around this issue.

components/u-boot/Makefile |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/components/u-boot/Makefile b/components/u-boot/Makefile
index 6c051e3..13fc35a 100644
--- a/components/u-boot/Makefile
+++ b/components/u-boot/Makefile
@@ -123,7 +123,12 @@ $(UBOOTBUILDSRC): $(UBOOTSRC)
        if [ ! -d "$(UBOOTBUILDSRC)" ]; then \
                mkdir -p "$(UBOOTBUILDSRC)"; \
        fi; \
-       rsync -a --cvs-exclude --filter=':C .git/' "$(UBOOTSRC)"/ "$(UBOOTBUILDSRC)"/
+       if [ -f "$(UBOOTSRC)/.gitignore" ]; then \
+               grep -v -e "^#" "$(UBOOTSRC)/.gitignore" > u_boot_source_exclude; \
+       else \
+               echo "" > u_boot_source_exclude; \
+       fi; \
+       rsync -a --exclude-from=u_boot_source_exclude --filter=':C .git/ RCS SCCS CVS CVS.adm RCSLOG cvslog.* *.o' "$(UBOOTSRC)"/ "$(UBOOTBUILDSRC)"/
 ifeq ($(UBOOT_CONFIG),)
        chmod -R a+w "$(UBOOTBUILDSRC)"/include/configs
        if [ -f "$(UBOOT_CONFIGDIR)/config.mk" ]; then \
--
1.7.1

AR# 63191
日期 01/06/2015
状态 Active
Type 综合文章
Tools