i.MX6Q 에서 Ltib 빌드시 Uboot와 Kernel의 patch 부분에서 git에 문제 발생시 patch가 적용되지 않아서 빌드에러가 발생하는 경우가 있습니다.


아래의 방법으로 문제를 해결 하면 됩니다.


Ltib를 인스톨하면 /opt/freescale/pkgs 에 모든 패키지 파일들이 존재합니다.


여기서 Uboot 관련 압축을 해지합니다.


$ cd /opt/freescale/pkgs

$ tar -jxvf u-boot-v2009.08-imx_3.0.35_4.1.0.tar.bz2

$ vi patches/patch-uboot.sh


-----------

git 부분을 모두 주석처리하고, 아래의 부분을 삽입하면 됩니다.


ls patches/*.patch | while read i; do

        echo "--- applying $i"

        patch -p1 --no-backup-if-mismatch < "$i"

        echo

done

-----------


# Use 'git am' instead of patch to apply patches because some patches

# have symbolic links

#git init  && \

#git add . && \

#git commit -m "clean kernel" && \

#git am --whitespace=nowarn patches/*.patch


# linux/scripts/setlocalversion will attempt to get the git version and

# append it to the linux version.  This is a hack to make this kernel

# git repository not take git commands for a while.

#mv .git .gitsaved


ls patches/*.patch | while read i; do

        echo "--- applying $i"

        patch -p1 --no-backup-if-mismatch < "$i"

        echo

done


if [ -f patches/localversion ]; then

        cp -f patches/localversion .

fi

 



모두 수정하였으면 저장하고, 파일을 압축한다.

$ tar -jcvf u-boot-v2009.08-imx_3.0.35_4.1.0.tar.bz2 patches
$ rm -rf  patches

커널도 U-boot와 같은 방법으로 진행하면 된다.
커널 관련 파일은 아래와 같다.

tar -jxvf linux-3.0.35-imx_4.1.0.bz2
$ vi patches/patch-kernel.sh