Wiki Home » vmx53 » yocto

yocto

Last modified by Administrator on 2019/07/27 16:18

Install prerequisites

Every distribution requires different set of prerequisites. The list below is for Ubuntu 16.04/18.04:


sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping libsdl1.2-dev xterm

sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git \
sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 \
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev

Download and install repo utility

To get the BSP you need to have repo installed and use it as:
Install the repo utility:

mkdir -pv ~/workdir/bin/repo
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/workdir/bin/repo/repo
chmod a+x ~/workdir/bin/repo/repo

export PATH=~/workdir/bin/repo:$PATH

Yocto Project

Yocto Project - warrior

Getting the BSP

Every OS require different set of the installed packages. More information about Yocto requirements are on https://github.com/Freescale/fsl-community-bsp-platform/wiki .

Download

Init yocto project

Download the BSP Yocto Project Environment

mkdir -pv ~/workdir/voipac/imx53/yocto/fsl-community-bsp-platform_2_7
cd ~/workdir/voipac/imx53/yocto/fsl-community-bsp-platform_2_7
repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b warrior

Init VMX layer

Add VMX support

mkdir -pv .repo/local_manifests/
cat > .repo/local_manifests/vmx.xml << EOF
<?xml version="1.0" encoding="UTF-8"?>
<manifest>

  <remote fetch="git://github.com/Voipac" name="voipac"/>

  <project remote="voipac" revision="meta-freescale-vmx-warrior" name="yocto-vmx" path="sources/meta-freescale-vmx">
    <copyfile src="vmx-setup.sh" dest="vmx-setup.sh"/>
  </project>
</manifest>
EOF

Sync

Sync repositories

cd ~/workdir/voipac/imx53/yocto/fsl-community-bsp-platform_2_7
export PATH=~/workdir/bin/repo:$PATH
repo sync

Configure

Add VMX meta layer into BSP

source vmx-setup.sh
patch -p1 < sources/meta-freescale-vmx/meta-freescale_recipes-bsp_barebox_barebox_inc.patch
Now we can continue with building images.

Building images

Build process may fail. Workaround session contains few workaround for commonly observed failures.
cd ~/workdir/vmx/yocto/fsl-community-bsp

Supported machines

vmx25

Supported distros (Freescale)

fslc-framebuffer
fslc-wayland
fslc-x11
fslc-xwayland

Console image

Setup and Build for Console image

MACHINE=<machine name> DISTRO=<distro name> source setup-environment build-dir
MACHINE=<machine name> bitbake core-image-base

Examples

MACHINE=vmx25 DISTRO=fslc-framebuffer source ./setup-environment build-fb
MACHINE=vmx25 bitbake core-image-base

Toolchain

Setup and Build for Toolchain

MACHINE=<machine name> DISTRO=<distro name> source setup-environment build-dir
MACHINE=<machine name> DISTRO=<distro name> bitbake meta-toolchain

Output files

Output images and archives are stored here

cd ~/workdir/vmx/yocto/fsl-community-bsp/build-dir/tmp/deploy/images
cd ~/workdir/vmx/yocto/fsl-community-bsp/build-dir/tmp/deploy/sdk

Build customization

Configuration files are created during setup (setup-environment, fsl-setup-release.sh).
By modifying local.conf files we can easily add custom features.  

Edit /workdir/vmx/yocto/fsl-community-bsp/build-dir/conf/local.conf

Yocto - rocko

IMAGE_INSTALL_append = " \
    dropbear \
    openssh-sftp-server \
    alsa-utils-aplay \
    evtest \
    ethtool \
    i2c-tools \
    memtester \
    mtd-utils \
    stress \
    multimedia-demo \
    vpac-busybox-logo \
"

Workarounds

Yocto - rocko

Ubuntu 16.04

Problem: Barebox compiled by Yocto toolchain does not boot from NAND.
Workaround: Compile Barebox manually using toolchain from Ubuntu repository.
 

Tags:
Created by Administrator on 2019/07/27 16:16

This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.1 - Documentation