Difference between revisions of "i.MX53 SODIMM PC Yocto"

From Voipac Wiki
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:i.MX53 SODIMM PC - Development kit]]
+
[[Category:i.MX53 SODIMM PC - Development Kit]]
 
[[Category:Yocto]]
 
[[Category:Yocto]]
 
<!-- -->
 
<!-- -->
Line 7: Line 7:
  
 
== Install prerequisites ==
 
== Install prerequisites ==
These software modules are required by Ubuntu 16.04/18.04 operating system in order to set up the compiling environment successfully:
+
These software modules are required by Ubuntu 16.04/18.04 operating systems in order to set up the compiling environment successfully:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
 
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
Line 34: Line 34:
  
 
== Initialize Yocto project ==
 
== Initialize Yocto project ==
Downloading the BSP Yocto Project Environment:
+
Downloading the BSP Yocto Project Environment version 2.7 Warrior:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
mkdir -pv ~/workdir/voipac/imx53/yocto/fsl-community-bsp-platform_2_7
 
mkdir -pv ~/workdir/voipac/imx53/yocto/fsl-community-bsp-platform_2_7
Line 77: Line 77:
 
This workaround is applied for Yocto version 2.4 Rocko on Ubuntu 16.04 operation system:<br /><br />
 
This workaround is applied for Yocto version 2.4 Rocko on Ubuntu 16.04 operation system:<br /><br />
  
'''''Issue:''''' Barebox compiled using Yocto toolchain does not boot from NAND
+
'''''Issue:''''' Barebox compiled using Yocto toolchain does not boot from NAND Flash memory<br />
 
'''''Workaround:''''' Compile Barebox manually using toolchain from Ubuntu repository
 
'''''Workaround:''''' Compile Barebox manually using toolchain from Ubuntu repository
  
 
=== Build customization ===
 
=== Build customization ===
By modifying configuration files additional custom features can be easily included. All there modules were successfully added into Yocto version 2.4 Rocko.
+
By modifying configuration files additional custom features can be easily included. All there modules were successfully added into Yocto version 2.4 Rocko.<br /><br />
  
 
Edit file: ''/workdir/vmx/yocto/fsl-community-bsp/build-dir/conf/local.conf'':
 
Edit file: ''/workdir/vmx/yocto/fsl-community-bsp/build-dir/conf/local.conf'':
Line 114: Line 114:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== Console image ===
+
=== Building images ===
General device is defined in this structure:
+
General build process is defined in this format:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
MACHINE=<machine name> DISTRO=<distro name> source setup-environment build-dir
 
MACHINE=<machine name> DISTRO=<distro name> source setup-environment build-dir
Line 121: Line 121:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
i.MX53_SODIMM_PC Module machine definition:
+
Building i.MX53_SODIMM_PC Module images can be achieved using this command:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
MACHINE=vmx53 DISTRO=fslc-framebuffer source ./setup-environment build-fb
 
MACHINE=vmx53 DISTRO=fslc-framebuffer source ./setup-environment build-fb
Line 127: Line 127:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Setup and build structure for Toolchain:
+
Setup and build format for Toolchain:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
MACHINE=<machine name> DISTRO=<distro name> source setup-environment build-dir
 
MACHINE=<machine name> DISTRO=<distro name> source setup-environment build-dir

Latest revision as of 13:24, 24 April 2022

Yocto distributions version 2.7 Warrior and 2.4 Rocko were used during this building process.

Install prerequisites

These software modules are required by Ubuntu 16.04/18.04 operating systems in order to set up the compiling environment successfully:

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

More information about Yocto requirements can be found on Freescale GitHub page.

Download and install 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

Initialize Yocto project

Downloading the BSP Yocto Project Environment version 2.7 Warrior:

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

Initialize Voipac layer

Addidng Voipac 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

Synchronize repositories

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

Configure

Adding Voipac meta layer into BSP:

source vmx-setup.sh
patch -p1 < sources/meta-freescale-vmx/meta-freescale_recipes-bsp_barebox_barebox_inc.patch

Building images

Building workarounds

This workaround is applied for Yocto version 2.4 Rocko on Ubuntu 16.04 operation system:

Issue: Barebox compiled using Yocto toolchain does not boot from NAND Flash memory
Workaround: Compile Barebox manually using toolchain from Ubuntu repository

Build customization

By modifying configuration files additional custom features can be easily included. All there modules were successfully added into Yocto version 2.4 Rocko.

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

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

Supported options

Supported machines:

vmx53

Supported Freescale distros:

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

Building images

General build process is defined in this format:

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

Building i.MX53_SODIMM_PC Module images can be achieved using this command:

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

Setup and build format 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 in these directories:

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