Pages

2017-02-08

Freescale i.MX6ULL 14x14 EVK - Yocto Build


1) Host Package

   * for Yocto Project
     $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat libsdl1.2-dev

   * for iMX
    $ sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html \
docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils \
libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc

   * for Ubuntu 12.04
    $ sudo apt-get install uboot-mkimage

   * for Ubuntu 14.04
    $ sudo apt-get install u-boot-tools


2) repo

   $ mkdir ~/bin
   $ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
   $ chmod 755 ~/bin/repo


3) Get source code

   $ mkdir fsl-release-bsp
   $ cd fsl-release-bsp
   $ repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-4.1-krogoth
   $ repo sync


4) Build Configuration

   $ DISTRO=fsl-imx-fb MACHINE=imx6ull14x14evk source fsl-setup-release.sh -b imx6ull14x14evk-fb


5) Build

   $ bitbake fsl-image-gui


5) QEMU test

   $ runqemu qemux86-64 ./tmp/deploy/images/imx6qsabresd/zImage-imx6qsabresd.bin ./tmp/deploy/images/imx6qsabresd/core-image-minimal-imx6qsabresd.ext4


6) Build Toolchain

   # Using the Build-Directory
     $ bitbake meta-ide-support

   # Create the Toolchain Installer and Install
     $ bitbake meta-toolchain
     $ sh tmp/deploy/sdk/poky-eglibc-x86_64-arm-toolchain-1.4.1.sh
     $ source /opt/poky/1.4.1/environment-setup-armv7a-vfp-neon-poky-linux-gnueabi
     $ arm-poky-linux-gnueabi-gcc -v

  # More Advanced Toolchain!!!
     $ bitbake fsl-image-gui -c populate_sdk


7) Kernel Config and Rebuild

   # check the python script
   $ bitbake -e virtual/kernel

   $ bitbake linux-imx -c menuconfig
   $ bitbake linux-imx -c diffconfig

   # re-compile kernel, forcely!!
   $ bitbake linux-imx -c compile -f

   # clean kernel only
   $ bitbake linx-imx -c clean

   # rebuild image
   $ bitbake fsl-image-gui


8) Post Build
   # It is not required if you build the [populate_sdk]!!!
    [add libraries] zlib, openssl


No comments:

Post a Comment