Yocto Beaglebone Black

I’ve always been curious about Yocto. Today I started with Yocto. The goal, generate a BSP for the beaglebone black and add my own QT application and some TBD extras.

I started with the course of free electrons. These are pretty explanatory but based on past experience, it requires some Linux knowledge. Mainly because they don’t spell everything out.

Couple of things to note, I started to use the latest jethro instead of dory. Why you ask? I feel confident enough to get around the issues popping up for using the latest greatest.

I encountered a couple of issues.

  1. Compiling U-boot gave an issue regarding gcc5. The uboot version specified in the meta-ti recipes, 2014.07 doesn’t support GCC5. If no gcc is specified it will default to the latest, GCC5.x.x.
  2. Applications start using microchip compilers…

Compiler issue:

Add the following lies to your build/conf/local.conf

PREFERRED_VERSION_gcc                            ?= "4.8%" 
PREFERRED_VERSION_gcc-cross                      ?= "4.8%"  
PREFERRED_VERSION_gcc-cross-initial              ?= "4.8%" 
PREFERRED_VERISON_gcc-crosssdk-initial-x86_64     ?= "4.8%" 
PREFERRED_VERSION_gcc-cross-intermediate         ?= "4.8%" 
PREFERRED_VERSION_gcc-cross-canadian             ?= "4.8%" 
PREFERRED_VERSION_gcc-crosssdk                   ?= "4.8%" 
PREFERRED_VERSION_gcc-crosssdk-initial           ?= "4.8%" 
PREFERRED_VERSION_gcc-crosssdk-intermediate      ?= "4.8%" 
PREFERRED_VERSION_gcc-runtime                    ?= "4.8%" 
PREFERRED_VERSION_nativesdk-gcc-runtime          ?= "4.8%" 
PREFERRED_VERSION_libgcc                         ?= "4.8%" 
PREFERRED_VERSION_libgcc-initial                  ?= "4.8%" 
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH}                   ?= "4.8%" 
PREFERRED_VERSION_gcc-crosssdk-${SDK_ARCH}             ?= "4.8%" 
PREFERRED_VERSION_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH}          ?= "4.8%" 
PREFERRED_VERSION_nativesdk-libgcc-initial       ?= "4.8%" 
PREFERRED_VERSION_nativesdk-libgcc               ?= "4.8%" 
PREFERRED_VERSION_gcc-cross-initial-${TARGET_ARCH}?= "4.8%" 
PREFERRED_VERSION_gcc-source                     ?= "4.8%" 
PREFERRED_VERSION_gcc-crosssdk-${SDK_ARCH}             ?= "4.8%" 
PREFERRED_VERSION_gcc-sanitizers                 ?= "4.8%" 
PREFERRED_VERSION_nativesdk-gcc-sanitizers       ?= "4.8%" 

Microchip compilers:

My system has been running for a year or 4 now, this means I’m introducing a lot of compilers, IDE’s and other stuff that can bite each other. This was the case. My PATH had a path to microchip XC8 compilers. Somehow one of the targets picked it up during building. End result target failed.
Just clearout your PATH before source-ing oe-init-build-env. A note, it’s always wise to clear out your environment of junk when strange issues happen.