This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Yocto Filesystem for Omap-5432 EVM

Dear TI Dev's,

Following the yocto  build process for omap5-evm MACHINE from this guide http://processors.wiki.ti.com/index.php/OMAP5_GLSDK_Software_Developers_Guide I am almost through the build & finally stuck at build failure of package omapdrm-pvr-1.9, there are multiple scenarios of the similar error on older version 1.7 of omapdrm-pvr.

Error log:

--------------------------------------

# MACHINE=omap5-evm bitbake arago-glsdk-console-image
...
....
....

DEBUG: Marking task 6 (/home/srikanth/OMAP5/yocto/tisdk/sources/meta-ti/recipes-bsp/powervr-drivers/omapdrm-pvr_1.9.2253347.bb, do_configure) as buildable
DEBUG: Marking task 8 (/home/srikanth/OMAP5/yocto/tisdk/sources/meta-ti/recipes-bsp/powervr-drivers/omapdrm-pvr_1.9.2253347.bb, do_compile) as buildable
ERROR: Function failed: do_compile (see /home/srikanth/OMAP5/yocto/tisdk/build/arago-tmp-external-linaro-toolchain/work/omap5_evm-oe-linux-gnueabi/omapdrm-pvr-1.9.2253347-r1/temp/log.do_compile.14354 for further information)
ERROR: Logfile of failure stored in: /home/srikanth/OMAP5/yocto/tisdk/build/arago-tmp-external-linaro-toolchain/work/omap5_evm-oe-linux-gnueabi/omapdrm-pvr-1.9.2253347-r1/temp/log.do_compile.14354
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 8 -e MAKEFLAGS= KERNELDIR=/home/srikanth/OMAP5/yocto/tisdk/build/arago-tmp-external-linaro-toolchain/sysroots/omap5-evm/usr/src/kernel
| ../config/core.mk:419: $(KERNELDIR)/vmlinux does not exist. Kbuild may fail.
|   LD      /home/srikanth/OMAP5/yocto/tisdk/build/arago-tmp-external-linaro-toolchain/work/omap5_evm-oe-linux-gnueabi/omapdrm-pvr-1.9.2253347-r1/git/eurasiacon/binary2_omap5430_linux_release/target/kbuild/built-in.o
|   CC [M]  /home/srikanth/OMAP5/yocto/tisdk/build/arago-tmp-external-linaro-toolchain/work/omap5_evm-oe-linux-gnueabi/omapdrm-pvr-1.9.2253347-r1/git/eurasiacon/binary2_omap5430_linux_release/target/kbuild/services4/srvkm/env/linux/osfunc.o
| /home/srikanth/OMAP5/yocto/tisdk/build/arago-tmp-external-linaro-toolchain/work/omap5_evm-oe-linux-gnueabi/omapdrm-pvr-1.9.2253347-r1/git/eurasiacon/binary2_omap5430_linux_release/target/kbuild/services4/srvkm/env/linux/osfunc.c:116:2: error: #error "A preemptible Linux kernel is required when using workqueues"
| make[3]: *** [/home/srikanth/OMAP5/yocto/tisdk/build/arago-tmp-external-linaro-toolchain/work/omap5_evm-oe-linux-gnueabi/omapdrm-pvr-1.9.2253347-r1/git/eurasiacon/binary2_omap5430_linux_release/target/kbuild/services4/srvkm/env/linux/osfunc.o] Error 1
| make[2]: *** [_module_/home/srikanth/OMAP5/yocto/tisdk/build/arago-tmp-external-linaro-toolchain/work/omap5_evm-oe-linux-gnueabi/omapdrm-pvr-1.9.2253347-r1/git/eurasiacon/binary2_omap5430_linux_release/target/kbuild] Error 2
| make[1]: *** [kbuild] Error 2
| make: *** [build] Error 2
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (see /home/srikanth/OMAP5/yocto/tisdk/build/arago-tmp-external-linaro-toolchain/work/omap5_evm-oe-linux-gnueabi/omapdrm-pvr-1.9.2253347-r1/temp/log.do_compile.14354 for further information)
ERROR: Task 8 (/home/srikanth/OMAP5/yocto/tisdk/sources/meta-ti/recipes-bsp/powervr-drivers/omapdrm-pvr_1.9.2253347.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 588 tasks of which 581 didn't need to be rerun and 1 failed.
No currently running tasks (588 of 594)

Summary: 1 task failed:
  /home/srikanth/OMAP5/yocto/tisdk/sources/meta-ti/recipes-bsp/powervr-drivers/omapdrm-pvr_1.9.2253347.bb, do_compile
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
03:17:19 ✘ srikanth:(master)~/OMAP5/yocto/tisdk/build$

--------------------------------------

Has this image been tested for Omap5432 EVM ? Are there any workarounds this error ? The kernel built for this machine is linux-3.8.13. Not sure what is the appropriate fix for this error.

Any inputs or hints are highly appreciated. Need your support in verifying the arago/yocto image on omap5432.

Thanks in Advance.

  • Hi Srikanth,

    For building the omapdrm pvr module, you require a preemptible kernel. Please ensure that you are using the correct kernel tree and commit id.

    You could try first building the kernel, by 

    MACHINE=omap5-evm bitbake virtual/kernel
    And then try building the module again. 
    Yes this image has been tested for OMAP 5432 EVM.

  • Hello Mrinmayee,

    Appreciate your response on the query !

    AFAIK the kernel is already built and has staging files in place. I have not modified any kernel recipe, it is building default kernel for omap5-evm i.e linux-3.8.13 for ti-kernel git tree.

    -------------------------------------------------------------

    ./meta-arago/meta-arago-distro/recipes-kernel/linux/linux-ti-staging_3.8.bbappend

    ~/OMAP5/yocto/tisdk/build$ ls arago-tmp-external-linaro-toolchain/work/omap5_evm-oe-linux-gnueabi/linux-ti-staging-3.8.13-r1f+gitr1+f3cb62a800ae37f17a3382b10d155ee02dbc83fc-arago6/

    boot  etc  lib  usr

    With following kernel image built :

    image/boot$ ls -1
    config-3.8.13-gf3cb62a
    devicetree-uImage-omap5-sevm.dtb
    devicetree-uImage-omap5-uevm.dtb
    Module.symvers-3.8.13-gf3cb62a
    System.map-3.8.13-gf3cb62a
    uImage-3.8.13-gf3cb62a
    vmlinux-3.8.13-gf3cb62a

    This is what is the right kernel kernel version as per the source shipped in the Evaluation SDK of omap5432 evm.

    Although I see that CONFIG_PREEMPT is disabled

    boot$ grep -ir PREEMPT config-3.8.13-gf3cb62a
    # CONFIG_PREEMPT_RCU is not set
    CONFIG_PREEMPT_NONE=y
    # CONFIG_PREEMPT_VOLUNTARY is not set
    # CONFIG_PREEMPT is not set
    -------------------------------------------------------------

    Can you please confirm, If the defconfig needs modification or It is not the kernel that should be built by default ?

    Thanks in Advance.

  • Hi Srikanth,

    You should be using the git tree at git://git.ti.com/ti-linux-kernel/ti-linux-3-8-y-kernel.git 

    branch=master

    commit-id = 6076e6882d1d6a64b104e42e56a3eada36605cb3

    Pl. use this. it has the latest defconfig changes

  • Hello Mrinmayee,

    I think this machine include file needs a fix for omap5-evm : meta-ti/conf/machine/include/omap-a15.inc

    It states : PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"

    It should be changed to :

    PREFERRED_PROVIDER_virtual/kernel = "linux-ti-glsdk"

    This change will pick up right kernel with right commit-ID:

    ---------------------------------------------------------------------------

    # vim recipes-kernel/linux/linux-ti-glsdk_3.8.bb

    ...

    COMPATIBLE_MACHINE = "omap5-evm"

    ...

    SRCREV = "6076e6882d1d6a64b104e42e56a3eada36605cb3"
    PV = "3.8.13"
    ...

    SRC_URI = "git://git.ti.com/ti-linux-kernel/ti-linux-3-8-y-kernel.git;protocol=git;branch=${BRANCH} \
               file://defconfig \
              "
    ---------------------------------------------------------------------------

    I believe these changes in recipes-kernel/linux/linux-ti-glsdk_3.8.bb resembles to your suggestion on usage of right kernel for omap5-evm. Some one needs to fix the issue in the meta-ti layer when someone tries to build glsdk for omap5-evm.

    Currently I am building with the new changes in inc file. Will let you know, once it is built.

    Thanks a lot for your support.

  • Hello Mrinmayee,

    The last change for right kernel version fixed the issue & pvr module is now built successfully !!

    -----------------------------------

    16:04:00 ✔ srikanth:(master)~/OMAP5/yocto/tisdk/build/arago-tmp-external-linaro-toolchain/work/omap5_evm-oe-linux-gnueabi/omapdrm-pvr-1.9.2253347-r1$ find image/
    image/
    image/lib
    image/lib/modules
    image/lib/modules/3.8.13-g6076e68
    image/lib/modules/3.8.13-g6076e68/extra
    image/lib/modules/3.8.13-g6076e68/extra/omapdrm_pvr.ko

    The rootfs is now built successfully !!

    ls arago-tmp-external-linaro-toolchain/deploy/images/ -lh
    total 168M
    -rw-r--r-- 1 srikanth srikanth  37M Jul  3 16:05 arago-glsdk-console-image-omap5-evm-20130703103319.rootfs.tar.gz
    -----------------------------------

    Thanks a lot for your continuous support.

    Regards,

    Srikanth_Krishnakar

  • Hello Mrinmayee,

    One last question regarding Omap5-evm, Does it support SGX in latest release SDK ? I see the recipe for omap5-sgx :

    meta-ti/recipes-graphics/libgles/omap5-sgx-ddk-um-linux_1.9.0.10.bb

    But the MACHINE feature says : meta-ti/conf/machine/omap5-evm.conf

    -------------------------------------------------

    # Currently removing the sgx machine feature because there is no SGX package
    # available for omap5
    MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen touchscreen"

    -------------------------------------------------

    Is it intentionally disabled or It has to be updated in MACHINE_FEATURES to enable & use it, for instance in tisdk-rootfs-image ?

    Regards,

    Srikanth

  • Thank you for pointing this out. 

  • Hello Srikanth,

    Yes it does support SGX in the latest release, however it is not added as a MACHINE_FEATURE but its just a tarball that is installed in the rootfs.

    If you have built the rootfs you could test it by running the application kmscube.

    The omap5-evm.conf file is older. Thank you for pointing this out. I will fix it.

  • Hello Mrinmayee,

    Thanks for you hint.

    Currently I was trying to build tisdk-rootfs-image & hit with compilation failure @ directfb (GL/gl.h not found), Will try to fix and proceed with build.

    Regards,

  • Hi,

    I am new to yocto build environment.

    I am getting below error when trying to generate tisdk-rootfs-image

    ERROR: QA Issue: directfb rdepends on omap5-sgx-ddk-um-linux-dev
    ERROR: QA run found fatal errors. Please consider fixing them.
    ERROR: Function failed: do_package_qa

    Please let me know how to fix this issue.

    Thanks & Regards,

    Nikhil

  • Hi Nikhil,

    The tisdk-rootfs-image should not be building  omap5-sgx-ddk-um-linux-dev .

    Can you try the build using MACHINE=<machine-name> bitbake --no-setscene  <image-name>.


    Regards,

    Mrinmayee

  • Hi Mrinmayee,

    I am getting the same error with MACHINE=omap5-evm bitbake --no-setscene tisdk-rootfs-image.

    ERROR: QA Issue: directfb rdepends on omap5-sgx-ddk-um-linux-dev
    ERROR: QA run found fatal errors. Please consider fixing them.
    ERROR: Function failed: do_package_qa
    ERROR: Logfile of failure stored in: /home/nikhil/ti-glsdk_omap5-uevm_6_01_00_01/yocto/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/directfb-1.6.1-r0.1/temp/log.do_package.7193
    ERROR: Task 2597 (/home/nikhil/ti-glsdk_omap5-uevm_6_01_00_01/yocto/sources/oe-core/meta/recipes-graphics/directfb/directfb_1.6.1.bb, do_package) failed with exit code '1'
    NOTE: Tasks Summary: Attempted 2700 tasks of which 2098 didn't need to be rerun and 1 failed.
    Waiting for 0 running tasks to finish:

    Summary: 1 task failed:
      /home/nikhil/ti-glsdk_omap5-uevm_6_01_00_01/yocto/sources/oe-core/meta/recipes-graphics/directfb/directfb_1.6.1.bb, do_package
    Summary: There were 36 WARNING messages shown.
    Summary: There were 3 ERROR messages shown, returning a non-zero exit code.

    From the error "directfb rdepends on omap5-sgx-ddk-um-linux-dev", it seems directfb is looking for omap5-sgx-ddk-um-linux-dev when do_package is running.

    Can you please help to remove dependency on omap5-sgx-ddk-um-linux-dev for directfb packaging?

    Thanks & Regards,

    Nikhil

  • Hi Nikhil,

    This is strange. You can try adding the following line in directfb_1.6.1.bb:

    INSANE_SKIP_directfb += "dev-deps"


    Regards,

    Mrinmayee

  • Hello, I'm having this same issue, can't find GL/gl.h while compiling directfb, what's the fix for this? anyone?

    Thanks.

  • I guess the include path in source code is GLES/gl.h and not GL/gl.h.

    Regards,

    Nikhil

  • Hi Mrinmayee and Nikhil,

    I am new o yocto and bitbake... and even I am facing similar issue

    Logs:

    ERROR: QA Issue: gettext rdepends on libstdc++-dev
    ERROR: QA run found fatal errors. Please consider fixing them.
    ERROR: Function failed: do_package_qa
    ERROR: Logfile of failure stored in: /mnt/yocto/yocto_repo/yocto-layers/build/arago-tmp-external-linaro-toolchain/work/cortexa15hf-vfp-neon-3.8-oe-linux-gnueabi/gettext/0.16.1-r6/temp/log.do_package.27803
    ERROR: Task 789 (/mnt/yocto/yocto_repo/yocto-layers/sources/oe-core/meta/recipes-core/gettext/gettext_0.16.1.bb, do_package) failed with exit code '1'

    I am stuck with this since last week.... guys..any fixes/patches/suggestions ??

    Regards,

    Nandish

  • Add dummy function in failed ..b file to skip QA errors:

    do_package_qa() {
    }

    Ex:

    diff --git a/meta/recipes-core/gettext/gettext_0.16.1.bb b/meta/recipes-core/gettext/gettext_0.16.1.bb
    index db8314b..cf0cb1a 100644
    --- a/meta/recipes-core/gettext/gettext_0.16.1.bb
    +++ b/meta/recipes-core/gettext/gettext_0.16.1.bb
    @@ -94,4 +94,6 @@ do_install_append() {
    rm -f ${D}${libdir}/preloadable_libintl.so
    }

    +do_package_qa() {
    +}
    BBCLASSEXTEND = "native nativesdk"