Difference between revisions of "iMX6 TinyRex Yocto"

From Voipac Wiki
Jump to navigation Jump to search
Line 61: Line 61:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
=== 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.<br /><br />
 +
 +
'''''Issue:''''' Preferred bootloader and kernel are overwritten during compilation fsl-image recipe<br />
 +
'''''Cause and fix:''''' fsl-image overwrite bootloader/kernel provided by meta-fsp-voipac. To remove this limitation replace '=' with '?='<br /><br />
 +
 +
Original version:
 +
<syntaxhighlight lang="bash">
 +
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"
 +
</syntaxhighlight>
 +
 +
Modified version:
 +
<syntaxhighlight lang="bash">
 +
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"
 +
</syntaxhighlight>
 +
 +
'''''Issue:''''' Web browser recipes are disabled<br />
 +
'''''Fix:''''' Comment out to enable<br /><br />
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 +
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"
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
 +
<syntaxhighlight lang="bash">
 +
</syntaxhighlight>
 +
<syntaxhighlight lang="bash">
 +
</syntaxhighlight>
 +
<syntaxhighlight lang="bash">
 +
</syntaxhighlight>
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 21:29, 11 March 2021

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"