Yocto Build Release TI

From Variscite Wiki
Revision as of 19:03, 24 February 2023 by Nate (talk | contribs)
Warning: This page is designed to be used with a 'release' URL parameter.

This page is using the default release am62-yocto-dunfell-5.10.140_08.05.00.21-v1.0.
To view this page for a specific Variscite SoM and software release, please follow these steps:

  1. Visit variwiki.com
  2. Select your SoM
  3. Select the software release

Installing required packages

Please make sure your host PC is running Ubuntu 18.04/20.04/22.04 64-bit and is up to date:

 $ sudo apt-get update && sudo apt-get dist-upgrade

Then, install the following packages:

$ sudo dpkg --add-architecture i386
$ sudo apt update && sudo apt install build-essential autoconf \
       automake bison \
       flex libssl-dev bc u-boot-tools \
       python diffstat \
       texinfo gawk chrpath dos2unix \
       wget unzip socat doxygen libc6:i386 \
       libncurses5:i386 libstdc++6:i386 \
       libz1:i386 g++-multilib \
       git python3-distutils python3-apt
$ sudo dpkg-reconfigure dash

Install Toolchains to home directory

$ cd ~
$ wget  && \
   tar -Jxvf  -C $HOME && \
   wget  && \
   tar -Jxvf  -C $HOME

Download Yocto and setup environment

Download the source code:

$ mkdir ~/var-ti-yocto && cd ~/var-ti-yocto
$ git clone  tisdk
$ cd tisdk
$ ./oe-layertool-setup.sh -f 

Next, setup the environment. The above commands are only required for the very first build setup: whenever restarting a newer build session (from a different terminal or in a different time), you can skip the full setup and just run:

$ cd build
$ . conf/setenv
$ export TOOLCHAIN_PATH_ARMV7=$HOME/ && \
     export TOOLCHAIN_PATH_ARMV8=$HOME/

Build GUI demo image

$ MACHINE=am62x-var-som bitbake var-default-image

Create a bootable SD card

The wic image fully supports booting from an SD Card. Use the command below to write it to an SD Card:

$ xzcat arago-tmp-external-arm-glibc/deploy/images/am62x-var-som/var-default-image-am62x-var-som.wic.xz | sudo dd of=/dev/sdX bs=1M && sync
NOTE: The wic image does not support all features booting from eMMC. For example, /etc/fw_env.config is configured for the SD Card (/dev/mmcblk1)

Create a Recovery SD card

As mentioned above, the wic image only supports booting from an SD card. To flash an image to eMMC, Variscite provides an image var-recovery-sd-image, which inherits var-default-image and adds the following files needed for installing to eMMC:

/usr/bin/install_yocto.sh
/usr/bin/echos.sh
/opt/images/Yocto/
/opt/images/Yocto/boot
/opt/images/Yocto/boot/u-boot.img
/opt/images/Yocto/boot/tiboot3.bin
/opt/images/Yocto/boot/wificfg
/opt/images/Yocto/boot/tispl.bin
/opt/images/Yocto/boot/uEnv.txt
/opt/images/Yocto/rootfs.tar.xz

Build the image:

$ MACHINE=am62x-var-som bitbake var-recovery-sd-image

Write it to an SD Card:

$ xzcat arago-tmp-external-arm-glibc/deploy/images/am62x-var-som/var-recovery-sd-image-am62x-var-som.wic.xz | sudo dd of=/dev/sdX bs=1M && sync

Note: Some SD card duplicator machines do not support 64-bit filesystems. To build a recovery SD card image with 32-bit filesystems, add MKE2FS_NO_64="y" to conf/local.conf and rebuild the image:

$ echo 'KE2FS_NO_64="y"' >> conf/local.conf