BBAI-64 Yocto BSP support

After some digging and research here are my findings:

TLDR:
I am able to build Yocto Kirkstone tisdk-thinlinux-image based on linux beaglebone 5.10.153. I plan to flash and test drive the image sometime this week to validate the image actually boots. By the way, the sdk image linked in the previous post does not boot the bbai-64.

# This file takes repo entries in the format
# repo name,repo uri,repo branch,repo commit[,layers=layer1:layer2...:layern]

bitbake,git://git.openembedded.org/bitbake,2.0,HEAD
meta-arago,git://git.yoctoproject.org/meta-arago,kirkstone,HEAD,layers=meta-arago-distro:meta-arago-extras
#meta-browser,https://github.com/OSSystems/meta-browser.git,master,5f365ef0f842ba4651efe88787cf9c63bc8b6cb3,layers=
meta-qt5,https://github.com/meta-qt5/meta-qt5.git,kirkstone,HEAD,layers=
meta-virtualization,git://git.yoctoproject.org/meta-virtualization,kirkstone,HEAD,layers=
meta-openembedded,git://git.openembedded.org/meta-openembedded,kirkstone,HEAD,layers=meta-networking:meta-python:meta-oe:meta-gnome:meta-filesystems
meta-ti,git://git.yoctoproject.org/meta-ti,kirkstone,HEAD,layers=meta-ti-extras:meta-ti-bsp
meta-arm,git://git.yoctoproject.org/meta-arm,kirkstone,HEAD,layers=meta-arm:meta-arm-toolchain
oe-core,git://git.openembedded.org/openembedded-core,kirkstone,HEAD,layers=meta
OECORELAYERCONF=./sample-files/bblayers.conf.sample
OECORELOCALCONF=./sample-files/local-arago64-v2.conf.sample
BITBAKE_INCLUSIVE_VARS=yes
  • I use google’s repo tool to pull in all the required layer dependencies into my yocto source folder prior to building. It is required to point the repo tool to a mannifest file (living in a repository of its own) that lists all the repository links. The manifest file I created is here GitHub - saizen408/bbai64-repo-manifest: Yocto Layer Repo Manifest for Beaglebone AI-64

  • For some reason in the ti-sdk the /yocto-build/sample-files/bblayers.conf.sample is not populated with the required layers to build the image. So I had to make my own. I plan to create a custom layer that has a bblayer.conf.sample file but for now, below is what I used for the bblayers.conf in the yocto build folder:

# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
  /yocto/sources/poky/meta \
  /yocto/sources/poky/meta-poky \
  /yocto/sources/poky/meta-yocto-bsp \
  /yocto/sources/meta-arago/meta-arago-distro \
  /yocto/sources/meta-arago/meta-arago-extras \
  /yocto/sources/meta-openembedded/meta-networking \
  /yocto/sources/meta-openembedded/meta-python \
  /yocto/sources/meta-openembedded/meta-oe \
  /yocto/sources/meta-openembedded/meta-gnome \
  /yocto/sources/meta-openembedded/meta-filesystems \
  /yocto/sources/meta-qt5 \
  /yocto/sources/meta-ti/meta-ti-bsp \
  /yocto/sources/meta-ti/meta-ti-extras \
  /yocto/sources/meta-arm/meta-arm \
  /yocto/sources/meta-arm/meta-arm-toolchain \
  /yocto/sources/meta-virtualization \ 
"
  • There are also example local.conf.sample files in the /yocto-build/sample-files directory. The one I used for my build was /local-arago64-v2.conf.sample. Be sure to update the MACHINE value to MACHINE = "beaglebone-ai64"

  • Finally after sourcing the bitbake env variables I ran bitbake tisdk-thinlinux-image

  • I noticed some issues with trying to fetch the linux-bb kernel, but after a couple rebuilds it worked. I think something was up with the server that hosts the kernel source

  • Please note that I’ve yet to actually flash this image to my bbai-64 so I’ve not yet confirmed it actually boots. Will report back shortly! Hope this write up helps :smile:

2 Likes