Difference between revisions of "iMX6 TinyRex Yocto"

From Voipac Wiki
Jump to navigation Jump to search
Line 84: Line 84:
 
<br />
 
<br />
 
'''''Issue:''''' Web browser recipes are disabled<br />
 
'''''Issue:''''' Web browser recipes are disabled<br />
'''''Fix:''''' Comment out to enable<br /><br />
+
'''''Fix:''''' Comment out to enable<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/chromium_48.0.2548.0.bb:#PNBLACKLIST[chromium] ?= "BROKEN: fails to build with gcc-6"
Line 91: Line 91:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
==== Building ====
 +
<syntaxhighlight lang="bash">
 +
cd ~/workdir/imx6/yocto/fsl-release-bsp
 +
</syntaxhighlight>
 +
 +
Supported machines (Production):
 +
<syntaxhighlight lang="bash">
 +
imx6-openrexbasic
 +
imx6-openrexmax
 +
imx6-openrexmax4g
 +
imx6-openrexultra
 +
imx6-rexbasic
 +
imx6-rexpro
 +
imx6-rexultra
 +
imx6-tinyrexlite
 +
imx6-tinyrexbasic
 +
imx6-tinyrexpro
 +
imx6-tinyrexmax
 +
imx6-tinyrexmax4g
 +
imx6-tinyrexultra
 +
</syntaxhighlight>
 +
 +
Supported machines (Prototypes)
 +
<syntaxhighlight lang="bash">
 +
imx6dl-rex
 +
imx6s-tinyrex
 +
imx6q-tinyrex
 +
</syntaxhighlight>
 +
 +
Supported distros (Freescale)
 +
<syntaxhighlight lang="bash">
 +
fsl-imx-x11 - Only X11 graphics
 +
fsl-imx-wayland - Wayland weston graphics
 +
fsl-imx-xwayland - Wayland graphics and X11. X11 applications using EGL are not supported
 +
fsl-imx-fb - Frame Buffer graphics - no X11 or Wayland
 +
</syntaxhighlight>
  
 +
==== Console image ====
 +
Setup and Build for Console image
 +
<syntaxhighlight lang="bash">
 +
MACHINE=<machine name> source setup-environment build-dir
 +
MACHINE=<machine name> bitbake core-image-base
 +
</syntaxhighlight>
 +
 +
==== Toolchain ====
 +
Setup and Build for Toolchain
 +
<syntaxhighlight lang="bash">
 +
MACHINE=<machine name> bitbake core-image-base -c populate_sdk
 +
</syntaxhighlight>
 +
 +
==== FSL GUI image ====
 +
Setup and Build for FSL GUI image
 +
<syntaxhighlight lang="bash">
 +
DISTRO=<distro name> MACHINE=<machine name> source fsl-setup-release.sh -b bld-u1604-x11
 +
DISTRO=<distro name> MACHINE=<machine name> bitbake fsl-image-gui
 +
</syntaxhighlight>
 +
 +
 +
<syntaxhighlight lang="bash">
 +
</syntaxhighlight>
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 20:38, 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 could get halted. This session contains few workarounds for commonly observed failures. These commands fix 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"

Building

cd ~/workdir/imx6/yocto/fsl-release-bsp

Supported machines (Production):

imx6-openrexbasic
imx6-openrexmax
imx6-openrexmax4g
imx6-openrexultra
imx6-rexbasic
imx6-rexpro
imx6-rexultra
imx6-tinyrexlite
imx6-tinyrexbasic
imx6-tinyrexpro
imx6-tinyrexmax
imx6-tinyrexmax4g
imx6-tinyrexultra

Supported machines (Prototypes)

imx6dl-rex
imx6s-tinyrex
imx6q-tinyrex

Supported distros (Freescale)

fsl-imx-x11 - Only X11 graphics
fsl-imx-wayland - Wayland weston graphics
fsl-imx-xwayland - Wayland graphics and X11. X11 applications using EGL are not supported
fsl-imx-fb - Frame Buffer graphics - no X11 or Wayland

Console image

Setup and Build for Console image

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

Toolchain

Setup and Build for Toolchain

MACHINE=<machine name> bitbake core-image-base -c populate_sdk

FSL GUI image

Setup and Build for FSL GUI image

DISTRO=<distro name> MACHINE=<machine name> source fsl-setup-release.sh -b bld-u1604-x11
DISTRO=<distro name> MACHINE=<machine name> bitbake fsl-image-gui