iMX6 TinyRex Yocto

From Voipac Wiki
Revision as of 20:29, 11 March 2021 by Voipac (talk | contribs)
Jump to navigation Jump to search

Download and install repo utility

To get the BSP you need to have repo installed. To install it follow these steps:

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

Yocto Project 2.1

Every OS require different set of the installed packages. More information about Yocto requirements are in Freescale Yocto Project User's Guide.

Initialise Yocto project

Download the BSP Yocto Project Environment:

mkdir -pv ~/workdir/voipac/imx6/yocto/fsl-release-bsp-2.1
cd ~/workdir/voipac/imx6/yocto/fsl-release-bsp-2.1
git config --global user.name "Your Name"
git config --global user.email "Your Email"
git config --list
repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-4.1-krogoth

Init iMX6 Tinyrex layer

Add iMX6 TinyRex support:

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

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

  <project remote="voipac" revision="master" name="meta-fsl-arm-voipac" path="sources/meta-fsl-arm-voipac">
    <copyfile src="voipac-setup.sh" dest="voipac-setup.sh"/>
  </project>
</manifest>
EOF

Sync

Sync repositories

cd ~/workdir/voipac/imx6/yocto/
ln -s fsl-release-bsp-2.1 fsl-release-bsp
cd ~/workdir/voipac/imx6/yocto/fsl-release-bsp
PATH=${PATH}:~/workdir/bin
repo sync

Configure

Add Voipac meta layer into BSP

source voipac-setup.sh

Building images

Workarounds

Building process may be halted. The session contains few workarounds for commonly observed failures. These commands fixes compiling on Ubuntu 16.04 operating system.

Issue: Preferred bootloader and kernel are overwritten during compilation fsl-image recipe
Cause and fix: fsl-image overwrite bootloader/kernel provided by meta-fsp-voipac. To remove this limitation replace '=' with '?='

Original version:

meta-fsl-bsp-release/imx/meta-sdk/conf/distro/include/fsl-imx-preferred-env.inc:PREFERRED_PROVIDER_u-boot_mx6 = "u-boot-imx"
meta-fsl-bsp-release/imx/meta-sdk/conf/distro/include/fsl-imx-preferred-env.inc:PREFERRED_PROVIDER_virtual/bootloader_mx6 = "u-boot-imx"
meta-fsl-bsp-release/imx/meta-sdk/conf/distro/include/fsl-imx-preferred-env.inc:PREFERRED_PROVIDER_virtual/kernel_mx6 = "linux-imx"

Modified version:

meta-fsl-bsp-release/imx/meta-sdk/conf/distro/include/fsl-imx-preferred-env.inc:PREFERRED_PROVIDER_u-boot_mx6 ?= "u-boot-imx"
meta-fsl-bsp-release/imx/meta-sdk/conf/distro/include/fsl-imx-preferred-env.inc:PREFERRED_PROVIDER_virtual/bootloader_mx6 ?= "u-boot-imx"
meta-fsl-bsp-release/imx/meta-sdk/conf/distro/include/fsl-imx-preferred-env.inc:PREFERRED_PROVIDER_virtual/kernel_mx6 ?= "linux-imx"

Issue: Web browser recipes are disabled
Fix: Comment out to enable

meta-browser/recipes-browser/chromium/chromium_48.0.2548.0.bb:#PNBLACKLIST[chromium] ?= "BROKEN: fails to build with gcc-6"
meta-browser/recipes-browser/chromium/cef3_280796.bb:#PNBLACKLIST[cef3] ?= "BROKEN: fails to build with gcc-6"
meta-browser/recipes-mozilla/firefox/firefox_38.8.0esr.bb:#PNBLACKLIST[firefox] ?= "BROKEN: fails to build with gcc-6"