Hi,
I am in the process of building a linux 3.14.28 fsl-image-gui image with opencv using YOCTO, below are the steps I'm following and since the image bitbake command is taking so long I just wanted to double check that what I'm doing makes sense. I followed multiple tutorials and I will list all the steps here.
My board is the imx6q sabre SD and came with two cameras.
ENVIRONMENT SETUP (Freescale_Yocto_Project_User's_Guide.pdf)
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat
$ 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
$ sudo apt-get install u-boot-tools
$ mkdir ~/bin (this step may not be needed if the bin folder already exists)
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ export PATH=~/bin:$PATH
YOCTO PROJECT SETUP (Freescale_Yocto_Project_User's_Guide.pdf)
$ mkdir fsl-release-bsp
$ cd fsl-release-bsp
$ 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-3.14.28-1.0.0_ga
$ repo sync
CHOOSE BUILD TARGET (Freescale_Yocto_Project_User's_Guide.pdf)
MACHINE=imx6qsabresd source fsl-setup-release.sh -b build-x11 -e x11
ADD OPENCV LIB TO IMAGE (http://imxcv.blogspot.ca/2014/02/building-opencv-24x-for-freescales-imx6.html)
file affected: ~/fsl-release-bsp/build-x11/conf/local.conf
MACHINE ??= 'imx6qsabresd'
DISTRO ?= 'poky'
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES = "debug-tweaks dev-pkgs"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K"
PACKAGECONFIG_pn-qemu-native = "sdl"
ASSUME_PROVIDED += "libsdl-native"
CONF_VERSION = "1"
BB_NUMBER_THREADS = '4'
PARALLEL_MAKE = '-j 4'
DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"
CORE_IMAGE_EXTRA_INSTALL += "gpu-viv-bin-mx6q gpu-viv-bin-mx6q-dev"
CORE_IMAGE_EXTRA_INSTALL += "libopencv-core-dev libopencv-highgui-dev libopencv-imgproc-dev libopencv-objdetect-dev libopencv-ml-dev"
LICENSE_FLAGS_WHITELIST = "commercial"
file affected: ~/fsl-release-bsp/build-x11/conf/bblayers.conf
when I tried to bitbake, i get the error saying networking depends on python, hence I added this layer
LCONF_VERSION = "6"
BBPATH = "${TOPDIR}"
BSPDIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../..')}"
BBFILES ?= ""
BBLAYERS = " \
${BSPDIR}/sources/poky/meta \
${BSPDIR}/sources/poky/meta-yocto \
\
${BSPDIR}/sources/meta-openembedded/meta-oe \
${BSPDIR}/sources/meta-openembedded/meta-multimedia \
\
${BSPDIR}/sources/meta-fsl-arm \
${BSPDIR}/sources/meta-fsl-arm-extra \
${BSPDIR}/sources/meta-fsl-demos \
"
##Freescale Yocto Release layer
BBLAYERS += " ${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-fsl-arm "
BBLAYERS += " ${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-fsl-demos "
BBLAYERS += " ${BSPDIR}/sources/meta-browser "
BBLAYERS += " ${BSPDIR}/sources/meta-openembedded/meta-gnome "
BBLAYERS += " ${BSPDIR}/sources/meta-openembedded/meta-networking "
BBLAYERS += " ${BSPDIR}/sources/meta-openembedded/meta-ruby "
BBLAYERS += " ${BSPDIR}/sources/meta-openembedded/meta-python "
BBLAYERS += " ${BSPDIR}/sources/meta-qt5 "
BBLAYERS += " ${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-fsl-qt5 "
BBLAYERS += " ${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-fsl-bluez "
BUILD IMAGE (Freescale_Yocto_Project_User's_Guide.pdf)
$ bitbake fsl-image-gui
FLASH IMAGE ONTO SD CARD (Freescale_Yocto_Project_User's_Guide.pdf)
$ cd ~/fsl-release-bsp/build-x11/tmp/deploy/images/imx6qsabresd/
$ sudo dd if=<image name>.sdcard of=/dev/sd<partition> bs=1M && sync
BUILD TOOLCHAIN (http://imxcv.blogspot.ca/2014/02/building-opencv-24x-for-freescales-imx6.html)
$ cd ~/fsl-release-bsp/build-x11/
$ bitbake fsl-image-gui -c populate_sdk
INSTALL TOOLCHAIN (http://imxcv.blogspot.ca/2014/02/building-opencv-24x-for-freescales-imx6.html)
$ cd ~/fsl-release-bsp/build-x11/tmp/deploys/sdk/
$ ./poky-eglibc-x86_64-fsl-image-gui-cortexa9hf-vfp-neon-toolchain-1.5.4.sh
SETUP CROSS COMPILE ENVIRONMENT (http://imxcv.blogspot.ca/2014/02/building-opencv-24x-for-freescales-imx6.html)
*open a new terminal
$ cd /opt/poky/1.5.4
$ . ./environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
CROSS COMPILE SAMPLE OPENCV VIDEO CAPTURE WRAPPER (http://jafp.github.io/blog/2014/10/23/using-the-ov5640-mipi-csi2-camera-on-imx6-with-opencv/)
since the camera's driver are not compatible with opencv by default, I found this wrapper that is supposed to help the situation.
cross compile the bin on host then copy over to target board for testing