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.

PROCESSOR-SDK-AM335X: Creating Yocto layer

Part Number: PROCESSOR-SDK-AM335X

i'm complete build image for beaglebone black.

- Download and install sdk ( installed at /opt/ti-processor-sdk-linux-am335x-evm-06.00.00.07/ )

- create image (bash shell command )

# Install ARM toolchain
wget developer.arm.com/.../gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz
tar -Jxvf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz -C $HOME
wget developer.arm.com/.../gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz
tar -Jxvf gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz -C $HOME

# Build ... ?
git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk
cd tisdk

./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-06.00.00.07-config.txt
cd build

. conf/setenv
export TOOLCHAIN_PATH_ARMV7=$HOME/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf
export TOOLCHAIN_PATH_ARMV8=$HOME/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu
MACHINE=am335x-evm bitbake arago-base-tisdk-image

build image was sueccessful. and beaglebone black was successfully booted.

and then, i want create my own layer, so I follow docs  (https://training.ti.com/sites/default/files/docs/Customizing-Yocto-Based-Linux-Distribution-for-Production_1.pdf ) 16~19 pages.

next three thing was complete

- create a new layer directory structure in sources (18 p)

- edit layer.conf ( 18 p )

- edit build/conf/bblayers.conf ( 19 p )

but "confirm layer is recognized ( 19 p )" , results are difference.

The result I got is: Only one layer is displayed.
this result same as before i work for add new layer.
MACHINE=am335x-evm bitbake-layers show-layers

NOTE: Starting bitbake server...
layer                 path                                      priority
==========================================================================
meta                  /home/ksh/TI-SDK/tisdk/sources/oe-core/meta  5

 

expected result is "meta-custom" layer appears.

layer                 path                                      priority
==========================================================================

meta-custom <path-to-sdk>/sources/meta-custom 16

What i am missing ?

 

  • Hello sanghyun,

    sanghyun kim said:
    What i am missing ?

    You are probably missing a back slash \ after your layer in build/conf/bblayers.conf.

    Please, also watch this video material and check whether you will get the same result.

    Best regards,
    Kemal

  • unfortunately, i'm not missing back slash "\".

    this is my build/bblayers.conf

    # This template file was created by taking the oe-core/meta/conf/bblayers.conf
    # file and removing the BBLAYERS section at the end.
    
    # LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
    # changes incompatibly
    LCONF_VERSION = "7"
    
    BBPATH = "${TOPDIR}"
    BBFILES ?= ""
    
    # Layers configured by oe-core-setup script
    BBLAYERS += " \
            /home/ksh/TI-SDK/tisdk/sources/meta-processor-sdk \
            /home/ksh/TI-SDK/tisdk/sources/meta-ros \
            /home/ksh/TI-SDK/tisdk/sources/meta-arago/meta-arago-distro \
            /home/ksh/TI-SDK/tisdk/sources/meta-arago/meta-arago-extras \
            /home/ksh/TI-SDK/tisdk/sources/meta-browser \
            /home/ksh/TI-SDK/tisdk/sources/meta-qt5 \
            /home/ksh/TI-SDK/tisdk/sources/meta-virtualization \
            /home/ksh/TI-SDK/tisdk/sources/meta-openembedded/meta-networking \
            /home/ksh/TI-SDK/tisdk/sources/meta-openembedded/meta-python \
            /home/ksh/TI-SDK/tisdk/sources/meta-openembedded/meta-oe \
            /home/ksh/TI-SDK/tisdk/sources/meta-openembedded/meta-gnome \
            /home/ksh/TI-SDK/tisdk/sources/meta-openembedded/meta-multimedia \
            /home/ksh/TI-SDK/tisdk/sources/meta-openembedded/meta-filesystems \
            /home/ksh/TI-SDK/tisdk/sources/meta-ti \
            /home/ksh/TI-SDK/tisdk/sources/meta-linaro/meta-linaro-toolchain \
            /home/ksh/TI-SDK/tisdk/sources/meta-linaro/meta-optee \
            /home/ksh/TI-SDK/tisdk/sources/oe-core/meta \
            /home/ksh/TI-SDK/tisdk/sources/meta-custom \
    "
    

    this is my source/conf/layer.conf

    # It really depends on order of the layers appearing in BBLAYERS
    # variable in toplevel bblayers.conf file, where bitbake will search
    # for .inc files and others where bitbake uses BBPATH since it will
    # search the directories from first to last as specified in BBPATH
    # Therefore if you want a given layer to be considered high priority
    # for the .inc and .conf etc. then consider it adding at the beginning
    # of BBPATH. For bblayers bitbake will use BBFILES_PRIORITY to resolve
    # the recipe contention so the order of directories in BBFILES does 
    # not matter.
    
    # We have a conf and classes directory, append to BBPATH
    BBPATH .= ":${LAYERDIR}"
    
    # We have a recipes directory, add to BBFILES
    BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
    
    BBFILE_COLLECTIONS += "meta-custom"
    BBFILE_PATTERN_meta-custom := "^${LAYERDIR}/"
    
    # Define the priority for recipes (.bb files) from this layer,
    # choosing carefully how this layer interacts with all of the
    # other layers.
    
    BBFILE_PRIORITY_meta-custom = "6"
    LAYERVERSION_meta-custom = "1"
    

    i'll watch the video, and try to solve this problem.

  • problem solved.

    the reason is gcc toolchain directory are not correct.

    after change toolchain directory, it is operate correctly.

    i think it is may pointing to another version toolchain.

    export TOOLCHAIN_PATH_ARMV7=$HOME/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf
    export TOOLCHAIN_PATH_ARMV8=$HOME/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu
    

    layer                 path                                      priority
    ==========================================================================
    meta-processor-sdk    /home/ksh/TI-SDK/tisdk/sources/meta-processor-sdk  15
    meta-ros              /home/ksh/TI-SDK/tisdk/sources/meta-ros   7
    meta-arago-distro     /home/ksh/TI-SDK/tisdk/sources/meta-arago/meta-arago-distro  10
    meta-arago-extras     /home/ksh/TI-SDK/tisdk/sources/meta-arago/meta-arago-extras  10
    meta-browser          /home/ksh/TI-SDK/tisdk/sources/meta-browser  7
    meta-qt5              /home/ksh/TI-SDK/tisdk/sources/meta-qt5   7
    meta-virtualization   /home/ksh/TI-SDK/tisdk/sources/meta-virtualization  8
    meta-networking       /home/ksh/TI-SDK/tisdk/sources/meta-openembedded/meta-networking  5
    meta-python           /home/ksh/TI-SDK/tisdk/sources/meta-openembedded/meta-python  7
    meta-oe               /home/ksh/TI-SDK/tisdk/sources/meta-openembedded/meta-oe  6
    meta-gnome            /home/ksh/TI-SDK/tisdk/sources/meta-openembedded/meta-gnome  7
    meta-multimedia       /home/ksh/TI-SDK/tisdk/sources/meta-openembedded/meta-multimedia  6
    meta-filesystems      /home/ksh/TI-SDK/tisdk/sources/meta-openembedded/meta-filesystems  6
    meta-ti               /home/ksh/TI-SDK/tisdk/sources/meta-ti    6
    meta-linaro-toolchain  /home/ksh/TI-SDK/tisdk/sources/meta-linaro/meta-linaro-toolchain  30
    meta-optee            /home/ksh/TI-SDK/tisdk/sources/meta-linaro/meta-optee  8
    meta                  /home/ksh/TI-SDK/tisdk/sources/oe-core/meta  5
    meta-custom           /home/ksh/TI-SDK/tisdk/sources/meta-custom  6