VAR-SOM-AM43 Yocto Krogoth GS
About this Manual
This document describes how to install Variscite's Yocto release for the VAR-SOM-AM43.
The Yocto distribution provides a fundamental software platform for development, deployment and execution on VAR-SOM-AM43. It abstracts the functionality provided by the hardware.
In this context, the document contains instructions to:
- Install the release on a development machine.
- Build the sources included in this release.
- Instaling the binaries on the VAR-SOM-AM43.
- Booting the VAR-SOM-AM43.
Installation
Prerequisites
Before starting the installation, make sure below system requirements are met:
- Host machine running a Ubuntu 14.04 64 LTS.
- VAR-SOM-AM43 Evaluation Kit
The Linux host is used for the following:
- Recompiling U-Boot / kernel.
- Hosting the NFS server to boot the EVM with NFS as root filesystem.
Either of Windows or Linux host can be used for:
- Hosting the TFTP server required for downloading the kernel and file-system images from U-Boot using Ethernet.
- Running a serial console terminal application
Building the Yocto distribution via Bitbake will produce a complete set of downloaded source code + binaries for each component:
- Yocto build environment
- Downloaded Linux kernel source code + build kernel binaries (DTB and zImage) for VAR-SOM-AM43.
- Downloaded U-Boot source code + build U-boot binaries (MLO and U-boot) for VAR-SOM-AM43.
- Linux root file-system.
Install the Linaro toolchain
$ wget --no-check-certificate https://releases.linaro.org/components/toolchain/binaries/latest-5/arm-linux-gnueabihf/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.xz $ sudo tar xf gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.xz -C /opt
Install development tools
$ sudo apt-get install git build-essential diffstat texinfo gawk chrpath gcc-multilib wget socat libsdl1.2-dev mtd-utils dos2unix
Download TI's Yocto Krogoth Distribution
$ mkdir ~/yocto_varsomam43 $ cd ~/yocto_varsomam43 $ git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk
Downloading VAR-SOM-AM43 Support
Download the VAR-SOM-AM43 Yocto support installation from github:
$ mkdir ~/yocto_varsomam43/tisdk/sources $ cd ~/yocto_varsomam43/tisdk/sources $ git clone https://github.com/varigit/meta-variscite-amx3
Downloading the YOCTO Krogoth 2.1 configuration
Download the YOCTO Krogoth 2.1 sources as follows:
$ cd ~/yocto_varsomam43/tisdk $ ./oe-layertool-setup.sh -f sources/meta-variscite-amx3/conf/var-som-amx3_sdk-03.00.00-config.txt
local.conf customizations
Edit you local.conf file:
$ cd ~/yocto_varsomam43/tisdk/build $ gedit conf/local.conf
Change your parallel build and download directory:
Parallel build
Set the build parameters to fully utilize your host machine
BB_NUMBER_THREADS = '4'
PARALLEL_MAKE = '-j 6'
BB_NUMBER_THREADS should be your host machine's number of threads minus 2 or same.
PARALLEL_MAKE should be the number of threads your host machine has plus two.
Download directory
Recommended to save download time and space.
DL_DIR = "/home/<uname>/yocto_dl"
Building the VAR-SOM-AM43 Yocto image
First, change directory to the build directory of Yocto:
$ cd ~/yocto_varsomam43/tisdk/build
The developer can build the tisdk-rootfs-image image as follows:
$ export PATH=/opt/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf/bin:$PATH $ . conf/setenv $ MACHINE=varsomam43 bitbake tisdk-rootfs-image
After the image was built, all images will be located in: ~/yocto_varsomam43/tisdk/build/arago-tmp-external-linaro-toolchain/deploy/images/varsomam43
Build Results
Image Name |
How to use |
---|---|
zImage | Compressed kernel image |
zImage-var-som-am43.dtb | The VAR-SOM-AM43 kernel device tree |
MLO | The MLO is pre-u-boot SW component, required for DDR initialization |
u-boot.img | U-Boot bootloader |
tisdk-rootfs-image-varsomam43.tar.gz | Compressed rootfs tarball |
If the rootfs directory already exists - Please make sure to erase all its content before extracting a new rootfs image into it:
$ sudo rm -rf ~/yocto_varsomam43/rootfs/*
Extract the rootfs as follows:
$ sudo mkdir ~/yocto_varsomam43/rootfs $ sudo tar xvf ./arago-tmp-external-linaro-toolchain/deploy/images/varsomam43/tisdk-rootfs-image-varsomam43.tar.gz -C ~/yocto_varsomam43/rootfs
This creates a rootfs directory for the Yocto / VAR-SOM-AM43 build.
Create a bootable SD-Card
The below procedure will result in a bootable SD-Card:
- SD-Card will be partitioned into 2 partitions:
- FAT32 Boot partition: includes MLO and U-boot required for initial boot
- ext3 file system: includes zImage, kernel device tree and a complete rootfs
- All NAND flash binaries will be copied to rootfs under /opt/TISDK directory, for NAND Flash burning if required.
Please follow the below steps:
- Insert a 4GB+ SD-Card to host computer
- Run dmesg command to identify which /dev/sdX was created
- To generate the SD-Card - Run script (and choose the correct /dev/sdX of the 4GB SD-Card inserted):
$ cd ~/yocto_varsomam43/tisdk/sources/meta-variscite-amx3/utils $ sudo ./create-sdcard-am43.sh ~/yocto_varsomam43/tisdk ~/yocto_varsomam43/rootfs/
Boot
The Kernel and root the file-system can be booted either from NAND or SD-Card.
Following sections describe various kernel boot options possible.
Pleaes make sure your target board debug serial is connected to host PC with hyperterminal, as described in the quick-start guide.
Boot from MMC/SD
For creating a bootable SD , follow instructions on Creating a bootable SD-Card
To boot the bootable SD-Card, follow the steps below:
- Power-off board
- Insert the SD card into the SD-Card slot of the custom board
- Press and hold the boot select switch while powering ON the board. Booting without pressing the boot-select button, CPU will boot from NAND-Flash. While currently our NAND is either empty, or has older revisions.
- Login as root (no password)
Boot from NAND
Push SW1 to NAND mode (Off), and SW2 to non-eMMC (off)
Make sure NAND-Flash binaries were flashed to NAND-Flash : NAND Flash Burning
Flash binaries to NAND
Please refer to : NAND Flash Burning
Pre-built NAND Recovery SD-Card
Variscite provides a sample bootable NAND-recovery rescue SD-Card
Image can be downloaded and mounted on SD-Card from Variscite's FTP, please refer to :
VAR-SOM-AM43 Yocto NAND Recovery
Build U-Boot out of yocto tree
Please refer to : Build u-boot out of yocto tree
Building Linux kernel out-of-yocto tree
For manually building the Linux kernel, out of the yocto build system, please refer to :
Build linux kernel out of yocto tree
Out-of-tree Kernel Modules
Some drivers like the SGX and WLAN drivers are delivered as modules outside of the kernel tree. These drivers binaries are already included in the pre-built root file-systems provided by Variscite.
Support carrier boards without a Touch screen
In order to skip the Touch screen calibration on the first boot on carrier boards without a Touch screen -
Please insert the SD-Card to a Linux machine (or VM) after creating the SD-Card and type the following command to disable touch screen calibration at the first boot:
$ sudo touch /media/boot/ws-calibrate.rules