From a611c3cd4dfcc5bc4c69a7bd5f94e52513ce9b05 Mon Sep 17 00:00:00 2001
From: Manuel Traut <manut@linutronix.de>
Date: Fri, 29 Aug 2014 20:20:09 +0200
Subject: yocto: add systemd slide

Signed-off-by: Manuel Traut <manut@linutronix.de>
---
 distribution/yocto-advanced/pres_yocto-advanced.tex | 13 +++++++++++++
 1 file changed, 13 insertions(+)

(limited to 'distribution/yocto-advanced/pres_yocto-advanced.tex')

diff --git a/distribution/yocto-advanced/pres_yocto-advanced.tex b/distribution/yocto-advanced/pres_yocto-advanced.tex
index 51bd7b5..5a56ea4 100644
--- a/distribution/yocto-advanced/pres_yocto-advanced.tex
+++ b/distribution/yocto-advanced/pres_yocto-advanced.tex
@@ -956,6 +956,19 @@ do_install() {
 \end{verbatim}
 \end{frame}
 
+\begin{frame}[fragile]
+\frametitle{adding a bootscript}
+\begin{itemize}
+	\item add 'systemd' to DISTRO\_FEATURES
+	\item inherit from systemd.bbclass
+	\item your package needs to set SYSTEMD\_SERVICE variable; e.g.
+		\begin{verbatim}
+SYSTEMD_SERVICE_${PN} = "connman.service"
+		\end{verbatim}
+	\item to disable the service, set  SYSTEMD\_AUTO\_ENABLE to 'disable'
+\end{itemize}
+\end{frame}
+
 \begin{frame}[fragile]
 \frametitle{user and group configuration}
 use this in an image recipe:
-- 
cgit v1.2.3


From 4f0f07c61d4092b1bcf23bd000a5a20955486e51 Mon Sep 17 00:00:00 2001
From: Manuel Traut <manut@linutronix.de>
Date: Fri, 29 Aug 2014 21:00:16 +0200
Subject: update distro.conf to enable toolchain generation

Signed-off-by: Manuel Traut <manut@linutronix.de>
---
 .../yocto-advanced/pres_yocto-advanced.tex         | 38 ++++++++++++++++++++--
 1 file changed, 36 insertions(+), 2 deletions(-)

(limited to 'distribution/yocto-advanced/pres_yocto-advanced.tex')

diff --git a/distribution/yocto-advanced/pres_yocto-advanced.tex b/distribution/yocto-advanced/pres_yocto-advanced.tex
index 5a56ea4..303c6f9 100644
--- a/distribution/yocto-advanced/pres_yocto-advanced.tex
+++ b/distribution/yocto-advanced/pres_yocto-advanced.tex
@@ -509,7 +509,6 @@ it can be used, to simplify image definitions
 \frametitle{minimal distribution}
 distros are defined in a layer, e.g.
 meta-mini/conf/distro/mini.conf:
-\begin{verbatim}
 DISTRO = "mini"
 DISTRO_NAME = "mini 1.0 (for foo devices)"
 DISTRO_VERSION = "1.0"
@@ -520,7 +519,42 @@ MAINTAINER = "Manuel Traut <manut@linutronix.de>"
 TARGET_VENDOR = "-linutronix"
 LOCALCONF_VERSION = "1"
 LAYER_CONF_VERSION ?= "6"
-DISTRO_FEATURES_append = " opengl"
+DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"
+DISTRO_FEATURES_append = " systemd"
+SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
+SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
+TCLIBCAPPEND = ""
+
+PREMIRRORS ??= "\
+bzr://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
+cvs://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
+git://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
+hg://.*/.*    http://downloads.yoctoproject.org/mirror/sources/ \n \
+osc://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
+p4://.*/.*    http://downloads.yoctoproject.org/mirror/sources/ \n \
+svk://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
+svn://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n"
+
+MIRRORS =+ "\
+ftp://.*/.*      http://downloads.yoctoproject.org/mirror/sources/ \n \
+http://.*/.*     http://downloads.yoctoproject.org/mirror/sources/ \n \
+https://.*/.*    http://downloads.yoctoproject.org/mirror/sources/ \n"
+
+CONNECTIVITY_CHECK_URIS ?= " \
+             https://eula-downloads.yoctoproject.org/index.php \
+             http://bugzilla.yoctoproject.org/report.cgi"
+
+SANITY_TESTED_DISTROS ?= " \
+            Ubuntu-14.04 \n \
+            Debian-7.0 \n \
+            Debian-7.1 \n \
+            Debian-7.2 \n \
+            Debian-7.3 \n \
+            Debian-7.4 \n \
+            "
+
+BB_SIGNATURE_HANDLER ?= 'OEBasicHash'
+OELAYOUT_ABI = "8"
 \end{verbatim}
 \end{frame}
 
-- 
cgit v1.2.3


From 4720d291cfc44e975e5c6cd13f8f03468a7cf3de Mon Sep 17 00:00:00 2001
From: Manuel Traut <manut@linutronix.de>
Date: Fri, 29 Aug 2014 22:25:56 +0200
Subject: yocto: meta-linutronix distro opengl is needed otherwise build fails

Signed-off-by: Manuel Traut <manut@linutronix.de>
---
 distribution/yocto-advanced/pres_yocto-advanced.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'distribution/yocto-advanced/pres_yocto-advanced.tex')

diff --git a/distribution/yocto-advanced/pres_yocto-advanced.tex b/distribution/yocto-advanced/pres_yocto-advanced.tex
index 303c6f9..2edfe36 100644
--- a/distribution/yocto-advanced/pres_yocto-advanced.tex
+++ b/distribution/yocto-advanced/pres_yocto-advanced.tex
@@ -519,7 +519,7 @@ MAINTAINER = "Manuel Traut <manut@linutronix.de>"
 TARGET_VENDOR = "-linutronix"
 LOCALCONF_VERSION = "1"
 LAYER_CONF_VERSION ?= "6"
-DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"
+DISTRO_FEATURES ?= "opengl ${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"
 DISTRO_FEATURES_append = " systemd"
 SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
 SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
-- 
cgit v1.2.3


From 284629b6bccaaf2417934c46f7c21b85b6070304 Mon Sep 17 00:00:00 2001
From: Manuel Traut <manut@linutronix.de>
Date: Mon, 1 Sep 2014 13:28:51 +0200
Subject: yocto: rework layout

Signed-off-by: Manuel Traut <manut@linutronix.de>
---
 .../yocto-advanced/pres_yocto-advanced.tex         | 188 +++++++++++++++++++--
 distribution/yocto-basic/pres_yocto-basic.tex      |   8 +-
 distribution/yocto-intro/pres_yocto-intro.tex      |  25 ++-
 lx-trainer-vm/home-overlay/.gitignore              |   4 -
 4 files changed, 200 insertions(+), 25 deletions(-)
 delete mode 100644 lx-trainer-vm/home-overlay/.gitignore

(limited to 'distribution/yocto-advanced/pres_yocto-advanced.tex')

diff --git a/distribution/yocto-advanced/pres_yocto-advanced.tex b/distribution/yocto-advanced/pres_yocto-advanced.tex
index 2edfe36..a0283fc 100644
--- a/distribution/yocto-advanced/pres_yocto-advanced.tex
+++ b/distribution/yocto-advanced/pres_yocto-advanced.tex
@@ -12,7 +12,7 @@
 \item Define a distribution
 \item Create an image
 \item Writing recipes
-\item Yocto \& ELBE combined
+\item Yocto \& ELBE combined?
 \end{itemize}
 \end{frame}
 
@@ -71,12 +71,17 @@ meta-mylayer
 is useful to debug relations between different layers, options are:
 \begin{description}
 \item [show-layers] shows the current configured layers
+		\pause
 \item [show-recipes] lists available recipes and the layers that provide them.
+		\pause
 \item [show-overlayed] lists overlayed recipes
+		\pause
 \item [show-appends] lists .bbappend files
 	and the recipe files to which they apply
+		\pause
 \item [show-cross-depends] lists dependency relationships
 	between recipes that cross layer boundaries
+		\pause
 \item [flatten] flattens the layer configuration
 	into a separate output directory.
 \end{description}
@@ -87,6 +92,7 @@ is useful to debug relations between different layers, options are:
 \begin{itemize}
 	\item It is possible for a recipe with a lower version number PV in a layer
 that has a higher priority to take precedence.
+		\pause
 	\item Also, the layer priority does not currently affect the precedence
 order of .conf or .bbclass files. Future versions of BitBake might address this.
 \end{itemize}
@@ -100,21 +106,24 @@ poky % git clone git://git.yoctoproject.org/meta-ti
 poky % git branch -r
 poky % git checkout <RELEASE>
 \end{verbatim}
+		\pause
 have a look at it's dependencies
 \begin{verbatim}
 poky % cat meta-ti/conf/layer.conf | grep LAYERDEPENDS
 LAYERDEPENDS_ti = "core"
 \end{verbatim}
-and retrieve them also (if not yet done).
-
-If added a new layer, check its dependencies again.
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{get example layer for trainig}
+		\pause
+and retrieve them also
+\begin{verbatim}
+poky % git clone -b daisy git://git.yoctoproject.org/meta-fsl-arm
+\end{verbatim}
+		\pause
+check dependencies again
 \begin{verbatim}
 poky % git clone /home/devel/yocto/meta-mini
 \end{verbatim}
+		\pause
+\dots no more dependencies?! \dots OK - finished.
 \end{frame}
 
 \begin{frame}[fragile]
@@ -203,18 +212,31 @@ xserver-xorg:
 is used to configure
 \begin{itemize}
 	\item the target machine
+		\pause
 	\item paths
+		\pause
 	\item the used distribution
+		\pause
 	\item package formats
+		\pause
 	\item arch of developer machine
+		\pause
 	\item additional image features
+		\pause
 	\item use additional classes
+		\pause
 	\item enable testing
+		\pause
 	\item devshell terminal
+		\pause
 	\item patch resolver
+		\pause
 	\item disk monitoring
+		\pause
 	\item sstate mirrors
+		\pause
 	\item qemu configuration
+		\pause
 	\item incompatible licenses, e.g. INCOMPATIBLE\_LICENSE = “GPLv3”
 \end{itemize}
 \end{frame}
@@ -226,6 +248,7 @@ to get a list of currently available machines configs:
 poky/build-ti % grep -r '@NAME' ../meta*/conf/machine
 \end{verbatim}
 beaglebone.conf - seems to be the one for our bord, so set
+imx6qsabrelite.conf - seems to be the one for our bord, so set
 \begin{verbatim}
 MACHINE ??= "beaglebone"
 \end{verbatim}
@@ -258,6 +281,27 @@ use
 \begin{verbatim}
 ls ../*/*/images/
 \end{verbatim}
+to get a list of predefined images; however none of them fits my needs\dots
+		\pause
+\begin{verbatim}
+poky/build-fsl % cd ..
+poky % git clone -b daisy https://github.com/Freescale/meta-fsl-demos.git
+poky % git clone -b daisy git://git.openembedded.org/meta-openembedded
+poky % cd -
+\end{verbatim}
+		\pause
+and edit conf/bblayers.conf, to match
+\begin{verbatim}
+BBLAYERS ?= " \
+  /home/devel/poky/meta \
+  /home/devel/poky/meta-yocto \
+  /home/devel/poky/meta-yocto-bsp \
+  /home/devel/poky/meta-fsl-arm \
+  /home/devel/poky/meta-fsl-arm-extra \
+  /home/devel/poky/meta-openembedded/meta-oe \
+  /home/devel/poky/meta-fsl-demos \
+  "
+\end{verbatim}
 \end{frame}
 
 \begin{frame}[fragile]
@@ -277,6 +321,7 @@ ERROR: No new tasks can be executed since
        the disk space monitor action is "STOPTASKS"!
 \end{verbatim}
 what happened??
+		\pause
 \begin{verbatim}
 poky/build-ti % df -h
 Filesystem      Size  Used Avail Use% Mounted on
@@ -286,6 +331,7 @@ poky/build-ti % du -sm .
 poky/build-ti % du -sm ../build
 29172   ../build/
 \end{verbatim}
+		\pause
 \dots so the solution is to cleanup the disk and run
 \begin{verbatim}
 poky/build-ti % bitbake qt4e-demo-image
@@ -314,10 +360,12 @@ ERROR: Task 1105 (/home/local/src/poky/meta-ti-arm/
   gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb, do_unpack) failed
   with exit code '1'
 \end{verbatim}
+		\pause
 to solve this issue:
 \begin{verbatim}
 poky/build-ti % echo 'ACCEPT_FSL_EULA = "1"' >> conf/local.conf
 \end{verbatim}
+		\pause
 \dots and run
 \begin{verbatim}
 poky/build-ti % bitbake qt4e-demo-image
@@ -404,7 +452,9 @@ BBLAYERS ?= " \
 \frametitle{why define a distribution?}
 \begin{itemize}
 \item naming of the toolchain (codenames, vendor)
+		\pause
 \item version numbers
+		\pause
 \item enable default features
 \end{itemize}
 \end{frame}
@@ -413,9 +463,12 @@ BBLAYERS ?= " \
 \frametitle{distro features: file-systems}
 \begin{description}
 \item[cramfs] CramFS support
+		\pause
 \item[ext2] tools for supporting for devices with internal HDD/Microdrive
 	for storing files (instead of Flash only devices)
+		\pause
 \item[nfs] NFS client support (for mounting NFS exports on device)
+		\pause
 \item[smbfs] SMB networks client support
 	(for mounting Samba/Microsoft Windows shares on device)
 \end{description}
@@ -426,9 +479,13 @@ BBLAYERS ?= " \
 \begin{description}
 \item[alsa] ALSA/sound support
 	(OSS compatibility kernel modules installed if available)
+		\pause
 \item[bluetooth] bluetooth support (integrated BT only)
+		\pause
 \item[irda] IrDA support
+		\pause
 \item[wifi] WiFi support (integrated only).
+		\pause
 \item[keyboard] keyboard support (e.g. keymaps will be loaded during boot)
 \end{description}
 \end{frame}
@@ -439,6 +496,7 @@ BBLAYERS ?= " \
 \item[opengl] the Open Graphics Library, which is a cross-language,
 	multi-platform application programming interface used for rendering two
 	and three-dimensional graphics
+		\pause
 \item[directfb] DirectFB support
 \end{description}
 \end{frame}
@@ -447,7 +505,9 @@ BBLAYERS ?= " \
 \frametitle{distro features: networking}
 \begin{description}
 \item[ipsec] IPSec support
+		\pause
 \item[ipv6] IPv6 support
+		\pause
 \item[ppp] PPP dialup support
 \end{description}
 \end{frame}
@@ -456,8 +516,11 @@ BBLAYERS ?= " \
 \frametitle{distro features: bus support}
 \begin{description}
 \item[pci] PCI bus support
+		\pause
 \item[pcmcia] PCMCIA/CompactFlash support
+		\pause
 \item[usbgadget] USB Gadget Device support (for USB networking/serial/storage)
+		\pause
 \item[usbhost] USB Host support
 	(allows to connect external keyboard, mouse, storage, network etc)
 \end{description}
@@ -469,8 +532,10 @@ BBLAYERS ?= " \
 \item[systemd] support for this init manager, which is a full replacement of
 	for init with parallel starting of services, reduced shell overhead,
 	and other features. This init manager is used by many distributions
+		\pause
 \item[wayland] the Wayland display server protocol
 	and the library that supports it
+		\pause
 \item[x11] X server and libraries
 \end{description}
 \end{frame}
@@ -508,23 +573,37 @@ it can be used, to simplify image definitions
 \begin{frame}[fragile]
 \frametitle{minimal distribution}
 distros are defined in a layer, e.g.
+
+meta-linutronix/conf/distro/mini.conf:
+\begin{verbatim}
 meta-mini/conf/distro/mini.conf:
 DISTRO = "mini"
 DISTRO_NAME = "mini 1.0 (for foo devices)"
 DISTRO_VERSION = "1.0"
 DISTRO_CODENAME = "mal"
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\begin{verbatim}
 SDK_VENDOR = "-linutronix"
 SDK_VERSION := "${@'${DISTRO_VERSION}'}"
+SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
+SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\begin{verbatim}
 MAINTAINER = "Manuel Traut <manut@linutronix.de>"
 TARGET_VENDOR = "-linutronix"
 LOCALCONF_VERSION = "1"
 LAYER_CONF_VERSION ?= "6"
 DISTRO_FEATURES ?= "opengl ${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"
 DISTRO_FEATURES_append = " systemd"
-SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
-SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
 TCLIBCAPPEND = ""
-
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\begin{verbatim}
 PREMIRRORS ??= "\
 bzr://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
 cvs://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
@@ -534,7 +613,10 @@ osc://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
 p4://.*/.*    http://downloads.yoctoproject.org/mirror/sources/ \n \
 svk://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
 svn://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n"
-
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\begin{verbatim}
 MIRRORS =+ "\
 ftp://.*/.*      http://downloads.yoctoproject.org/mirror/sources/ \n \
 http://.*/.*     http://downloads.yoctoproject.org/mirror/sources/ \n \
@@ -543,7 +625,10 @@ https://.*/.*    http://downloads.yoctoproject.org/mirror/sources/ \n"
 CONNECTIVITY_CHECK_URIS ?= " \
              https://eula-downloads.yoctoproject.org/index.php \
              http://bugzilla.yoctoproject.org/report.cgi"
-
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\begin{verbatim}
 SANITY_TESTED_DISTROS ?= " \
             Ubuntu-14.04 \n \
             Debian-7.0 \n \
@@ -577,6 +662,7 @@ DISTRO ?= "mini"
 \subsection{Creating images}
 \begin{frame}[fragile]
 \frametitle{based on core-image class}
+build image with ssh support
 \begin{verbatim}
 poky/build-ti % bitbake-layers show-recipes | grep ssh
 Parsing recipes..done.
@@ -585,12 +671,14 @@ openssh:
 packagegroup-core-ssh-dropbear:
 packagegroup-core-ssh-openssh:
 \end{verbatim}
+\pause
 create the file
 'meta-mini/recipes-bsp/mini-image/mini-image.bb'
 \begin{verbatim}
 IMAGE_INSTALL += "openssh"
 inherit core-image
 \end{verbatim}
+\pause
 to build the image, use:
 \begin{verbatim}
 poky/build-ti % bitbake mini-image
@@ -649,6 +737,56 @@ UBOOT_LOADADDRESS = "0x80008000"
 \end{verbatim}
 \end{frame}
 
+\begin{frame}[fragile]
+\frametitle{user and group configuration}
+use this in an image recipe:
+\begin{verbatim}
+inherit extrausers
+EXTRA_USERS_PARAMS = "\
+    useradd -p '' tester; \
+    groupadd developers; \
+    userdel nobody; \
+    groupdel -g video; \
+    groupmod -g 1020 developers; \
+    usermod -s /bin/sh tester; \
+    "
+\end{verbatim}
+or the useradd class, for an example see useradd-example.bb
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{external sources}
+e.g. for a heavily customized kernel
+\begin{itemize}
+\item kernel source directory on the development machine
+\pause
+\item inherit externalsrc class
+\pause
+\item set EXTERNALSRC variable to point to your external source code
+\end{itemize}
+
+this local.conf extension:
+\begin{verbatim}
+INHERIT += "externalsrc"
+EXTERNALSRC_pn-myrecipe = "/some/path/to/your/source/tree"
+\end{verbatim}
+overrides the SOURCE\_URI of pn-myrecipe.bb
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{blacklist packages}
+To blacklist a package, inherit the blacklist.bbclass globally and set
+PNBLACKLIST for each recipe you wish to blacklist.
+
+
+Specify the PN value as a variable flag (varflag) and provide a reason,
+which is reported, if the package is requested to be built as the value:
+\begin{verbatim}
+INHERIT += "blacklist"
+PNBLACKLIST[exoticware] = "Not supported by our organization."
+\end{verbatim}
+\end{frame}
+
 \subsection{Writing recipes}
 \begin{frame}[fragile]
 \frametitle{adding a kernel}
@@ -673,8 +811,6 @@ KERNEL_DEVICETREE_beaglebone-black = \
 "arch/arm/boot/dts/am335x-boneblack.dts"
 
 S = "${WORKDIR}/linux-${PV}"
-
-SRC_URI = " \
 https://www.kernel.org/pub/linux/kernel/v3.x/linux-${PV}.tar.xz \
 file://defconfig \
 "
@@ -726,9 +862,12 @@ PREFERRED\_VERSION\_virtual/kernel = "3.18.5"
 \frametitle{Preferences}
 \begin{itemize}
 \item by default, files have a preference of "0"
+\pause
 \item setting DEFAULT\_PREFERENCE to "-1" makes the recipe unlikely to be used
 	unless it is explicitly referenced.
+\pause
 \item setting DEFAULT\_PREFERENCE to "1" makes it likely the recipe is used
+\pause
 \item PREFERRED\_VERSION overrides any DEFAULT\_PREFERENCE setting
 \end{itemize}
 \end{frame}
@@ -883,7 +1022,9 @@ IMAGE_FSTYPES += "sdcard"
 \frametitle{adding an own application}
 \begin{itemize}
 	\item recipe already available? check http://layers.openembedded.org
+\pause
 	\item look for a similar recipe
+\pause
 	\item proper bbclass available?
 \end{itemize}
 on the next slides, we have a look what is useful for very simple applications,
@@ -954,6 +1095,7 @@ inherit autotools
 │   └── hellocm-0.1.tar.bz2
 └── hellocm_0.1.bb
 \end{verbatim}
+\pause
 \begin{verbatim}
 DESCRIPTION = "hellocm cmake example"
 LICENSE = "MIT"
@@ -975,6 +1117,7 @@ FILES_{PN} = "${bindir}/hellocm"
 │   └── helloqt-1.0.tar.bz2
 └── helloqt_1.0.bb
 \end{verbatim}
+\pause
 \begin{verbatim}
 DESCRIPTION = "helloqt QT example"
 LICENSE = "MIT"
@@ -994,11 +1137,14 @@ do_install() {
 \frametitle{adding a bootscript}
 \begin{itemize}
 	\item add 'systemd' to DISTRO\_FEATURES
+\pause
 	\item inherit from systemd.bbclass
+\pause
 	\item your package needs to set SYSTEMD\_SERVICE variable; e.g.
 		\begin{verbatim}
 SYSTEMD_SERVICE_${PN} = "connman.service"
 		\end{verbatim}
+\pause
 	\item to disable the service, set  SYSTEMD\_AUTO\_ENABLE to 'disable'
 \end{itemize}
 \end{frame}
@@ -1049,6 +1195,18 @@ which is reported, if the package is requested to be built as the value:
 INHERIT += "blacklist"
 PNBLACKLIST[exoticware] = "Not supported by our organization."
 \end{verbatim}
+
+\subsection{Resume}
+\begin{frame}
+	\begin{itemize}
+		\item Yocto is a huge collection of tools
+		\pause
+		\item Bitbake can be used to create Images
+		\pause
+		\item The quality of the Images depend on the maintainance of the Layers
+		\pause
+		\item Only build your own distribution if you really need to!
+	\end{itemize}
 \end{frame}
 
 \input{tailpres}
diff --git a/distribution/yocto-basic/pres_yocto-basic.tex b/distribution/yocto-basic/pres_yocto-basic.tex
index cf86fa9..1f5083d 100644
--- a/distribution/yocto-basic/pres_yocto-basic.tex
+++ b/distribution/yocto-basic/pres_yocto-basic.tex
@@ -1399,9 +1399,11 @@ interfaces of the PC
 \begin{frame}
 \frametitle{remote execution and debugging}
 \begin{itemize}
-	\item seems to be broken at the moment, or works different than documented
-	\item it should be possible, if ssh is added to the image and an ssh
-		remote connection will be used.
+	\item Switch to 'Remote System Explorer' perspective
+	\pause
+	\item Create a new 'TCF' connection
+	\pause
+	\item Run as / Debug as and select the speficied remote connection
 \end{itemize}
 \end{frame}
 
diff --git a/distribution/yocto-intro/pres_yocto-intro.tex b/distribution/yocto-intro/pres_yocto-intro.tex
index 98b027e..c3eaae8 100644
--- a/distribution/yocto-intro/pres_yocto-intro.tex
+++ b/distribution/yocto-intro/pres_yocto-intro.tex
@@ -35,10 +35,14 @@
 \frametitle{Yocto is \dots}
 \begin{itemize}
 	\item an Ecosystem (not a single open-source project)
+	\pause
 	\item a collection of embedded projects and tooling
+	\pause
 	\item a place for Industry to publish BSPs
+	\pause
 	\item NOT an embedded Linux distribution
 \end{itemize}
+	\pause
 \dots used to build a Linux system from source in about an hour \footnote{quad i7, 16GB
 	RAM, fast disks, needed}
 \end{frame}
@@ -52,10 +56,8 @@
 		\item[Hob] graphical user interface for BitBake
 		\item[OpenEmbedded Core] shared base layer of recipes and classes
 	\end{description}
-	\pause
 	\item[ADT] development environment for user-space applications
 	\item[Eclipse IDE Plugin] integration of ADT into the Eclipse IDE
-	\item[Matchbox] X-Windows-based open source graphical UI for embedded devices
 \end{description}
 \end{frame}
 
@@ -65,9 +67,13 @@ the Yocto key project; a reference distribution consisting of
 \begin{itemize}
 	\item a build system for Linux (openembedded + customized busybox,
 		psplash, alsa-state, formfactor, uclibc and tiny-init)
+	\pause
 	\item Yocto Linux kernel
+	\pause
 	\item build recipes for common open-source software
+	\pause
 	\item toolchains for several architectures
+	\pause
 	\item documentation
 \end{itemize}
 release cycle: 6 months
@@ -93,14 +99,21 @@ release cycle: 6 months
 \frametitle{statistics 2014}
 \begin{description}
 \item[Generated] 2014-08-19 18:16:11 (in 228 seconds)
+	\pause
 \item[Generator] GitStats (version 2013.12.07)
+	\pause
 \item[Report Period] 2005-08-31 12:45:47 to 2014-08-18 16:21:54
+	\pause
 \item[Age] 3275 days, 2498 active days (76.27%)
+	\pause
 \item[Total Files] 4775
+	\pause
 \item[Total Lines of Code] 743995 (15398000 added, 14654005 removed)
+	\pause
 \item[Total Commits] 30841
 
 (average 12.3 commits per active day, 9.4 per all days)
+	\pause
 \item[Authors] 475
 \end{description}
 \end{frame}
@@ -126,6 +139,7 @@ freescale.com	159 (0.52%)
 \frametitle{OpenEmbedded}
 \begin{itemize}
 	\item open-source project providing a cross-build framework for embedded Linux
+	\pause
 	\item recipes for toolchain, bootloader, kernel, lttng, user-space packages
 \end{itemize}
 \end{frame}
@@ -134,8 +148,11 @@ freescale.com	159 (0.52%)
 \frametitle{Yocto pincipals}
 \begin{itemize}
 	\item validated collection of software (toolchain, kernel, user-space)
+	\pause
 	\item customize blueprints for your own needs
+	\pause
 	\item distinguishing between app and system developers
+	\pause
 	\item layer model for modular development, reuse, and customizations
 \end{itemize}
 \end{frame}
@@ -145,11 +162,13 @@ freescale.com	159 (0.52%)
 \frametitle{cross-build vs. binary distribution}
 \begin{itemize}
 	\item men-power needed for building an own distribution?
+	\pause
 	\item security tracking?
+	\pause
 	\item optimizations needed on all binaries?
+	\pause
 	\item cross-compile wanted?
 \end{itemize}
 \end{frame}
 
-
 \input{tailpres}
diff --git a/lx-trainer-vm/home-overlay/.gitignore b/lx-trainer-vm/home-overlay/.gitignore
deleted file mode 100644
index 5e7d273..0000000
--- a/lx-trainer-vm/home-overlay/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-# Ignore everything in this directory
-*
-# Except this file
-!.gitignore
-- 
cgit v1.2.3


From 5e9978407396fac13993dbdf4ba87c6a37ad1133 Mon Sep 17 00:00:00 2001
From: Manuel Traut <manut@linutronix.de>
Date: Tue, 2 Sep 2014 23:57:04 +0200
Subject: yocto-advanced: update kernel build

Signed-off-by: Manuel Traut <manut@linutronix.de>
---
 .../linux-kernel/files/imx6qsabrelite/defconfig    | 3779 ++++++++++++++++++++
 .../recipes-bsp/linux-kernel/linux-kernel.bb       |   36 +
 .../yocto-advanced/pres_yocto-advanced.tex         |    4 +-
 3 files changed, 3817 insertions(+), 2 deletions(-)
 create mode 100644 distribution/yocto-advanced/poky/meta-linutronix/recipes-bsp/linux-kernel/files/imx6qsabrelite/defconfig
 create mode 100644 distribution/yocto-advanced/poky/meta-linutronix/recipes-bsp/linux-kernel/linux-kernel.bb

(limited to 'distribution/yocto-advanced/pres_yocto-advanced.tex')

diff --git a/distribution/yocto-advanced/poky/meta-linutronix/recipes-bsp/linux-kernel/files/imx6qsabrelite/defconfig b/distribution/yocto-advanced/poky/meta-linutronix/recipes-bsp/linux-kernel/files/imx6qsabrelite/defconfig
new file mode 100644
index 0000000..f720b9b
--- /dev/null
+++ b/distribution/yocto-advanced/poky/meta-linutronix/recipes-bsp/linux-kernel/files/imx6qsabrelite/defconfig
@@ -0,0 +1,3779 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/arm 3.17.0-rc2 Kernel Configuration
+#
+CONFIG_ARM=y
+CONFIG_ARM_HAS_SG_CHAIN=y
+CONFIG_MIGHT_HAVE_PCI=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_HAVE_PROC_CPU=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_FIQ=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+# CONFIG_COMPILE_TEST is not set
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_LZ4=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+CONFIG_KERNEL_LZO=y
+# CONFIG_KERNEL_LZ4 is not set
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+CONFIG_FHANDLE=y
+CONFIG_USELIB=y
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+CONFIG_RCU_STALL_COMMON=y
+# CONFIG_RCU_USER_QS is not set
+CONFIG_RCU_FANOUT=32
+CONFIG_RCU_FANOUT_LEAF=16
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_RCU_NOCB_CPU is not set
+# CONFIG_BUILD_BIN2C is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+CONFIG_GENERIC_SCHED_CLOCK=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+# CONFIG_CGROUP_FREEZER is not set
+# CONFIG_CGROUP_DEVICE is not set
+# CONFIG_CPUSETS is not set
+# CONFIG_CGROUP_CPUACCT is not set
+# CONFIG_RESOURCE_COUNTERS is not set
+# CONFIG_CGROUP_PERF is not set
+# CONFIG_CGROUP_SCHED is not set
+# CONFIG_BLK_CGROUP is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+# CONFIG_NAMESPACES is not set
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_XZ is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_EXPERT=y
+CONFIG_UID16=y
+# CONFIG_SGETMASK_SYSCALL is not set
+CONFIG_SYSFS_SYSCALL=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+# CONFIG_SYSTEM_TRUSTED_KEYRING is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+# CONFIG_JUMP_LABEL is not set
+# CONFIG_UPROBES is not set
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_HAVE_CC_STACKPROTECTOR=y
+# CONFIG_CC_STACKPROTECTOR is not set
+CONFIG_CC_STACKPROTECTOR_NONE=y
+# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
+# CONFIG_CC_STACKPROTECTOR_STRONG is not set
+CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_MODULE_SIG is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_BSGLIB is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_CMDLINE_PARSER is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+CONFIG_MMU=y
+CONFIG_ARCH_MULTIPLATFORM=y
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_DOVE is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_LPC32XX is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_SHMOBILE_LEGACY is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C24XX is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP1 is not set
+
+#
+# Multiple platform selection
+#
+
+#
+# CPU Core family selection
+#
+CONFIG_ARCH_MULTI_V6=y
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_MULTI_V6_V7=y
+# CONFIG_ARCH_MULTI_CPU_AUTO is not set
+# CONFIG_ARCH_VIRT is not set
+# CONFIG_ARCH_MVEBU is not set
+# CONFIG_ARCH_BCM is not set
+# CONFIG_ARCH_BERLIN is not set
+# CONFIG_ARCH_CNS3XXX is not set
+# CONFIG_ARCH_HIGHBANK is not set
+# CONFIG_ARCH_HISI is not set
+# CONFIG_ARCH_KEYSTONE is not set
+CONFIG_ARCH_MXC=y
+CONFIG_MXC_TZIC=y
+CONFIG_MXC_AVIC=y
+CONFIG_MXC_DEBUG_BOARD=y
+CONFIG_HAVE_EPIT=y
+# CONFIG_MXC_USE_EPIT is not set
+CONFIG_ARCH_HAS_RNGA=y
+CONFIG_HAVE_IMX_ANATOP=y
+CONFIG_HAVE_IMX_GPC=y
+CONFIG_HAVE_IMX_MMDC=y
+CONFIG_HAVE_IMX_SRC=y
+CONFIG_ARCH_MXC_IOMUX_V3=y
+CONFIG_SOC_IMX31=y
+CONFIG_SOC_IMX35=y
+
+#
+# MX31 platforms:
+#
+CONFIG_MACH_MX31ADS=y
+CONFIG_MACH_MX31LILLY=y
+CONFIG_MACH_MX31LITE=y
+CONFIG_MACH_PCM037=y
+CONFIG_MACH_PCM037_EET=y
+CONFIG_MACH_MX31_3DS=y
+# CONFIG_MACH_MX31_3DS_MXC_NAND_USE_BBT is not set
+CONFIG_MACH_MX31MOBOARD=y
+CONFIG_MACH_QONG=y
+CONFIG_MACH_ARMADILLO5X0=y
+CONFIG_MACH_KZM_ARM11_01=y
+CONFIG_MACH_BUG=y
+CONFIG_MACH_IMX31_DT=y
+
+#
+# MX35 platforms:
+#
+CONFIG_MACH_IMX35_DT=y
+CONFIG_MACH_PCM043=y
+CONFIG_MACH_MX35_3DS=y
+# CONFIG_MACH_EUKREA_CPUIMX35SD is not set
+CONFIG_MACH_VPR200=y
+
+#
+# Device tree only
+#
+CONFIG_SOC_IMX5=y
+CONFIG_SOC_IMX50=y
+CONFIG_SOC_IMX51=y
+CONFIG_SOC_IMX53=y
+CONFIG_SOC_IMX6=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6SL=y
+CONFIG_SOC_IMX6SX=y
+CONFIG_SOC_VF610=y
+CONFIG_IMX_HAVE_PLATFORM_FEC=y
+CONFIG_IMX_HAVE_PLATFORM_FLEXCAN=y
+CONFIG_IMX_HAVE_PLATFORM_FSL_USB2_UDC=y
+CONFIG_IMX_HAVE_PLATFORM_GPIO_KEYS=y
+CONFIG_IMX_HAVE_PLATFORM_IMX2_WDT=y
+CONFIG_IMX_HAVE_PLATFORM_IMX_FB=y
+CONFIG_IMX_HAVE_PLATFORM_IMX_I2C=y
+CONFIG_IMX_HAVE_PLATFORM_IMX_KEYPAD=y
+CONFIG_IMX_HAVE_PLATFORM_IMX_SSI=y
+CONFIG_IMX_HAVE_PLATFORM_IMX_UART=y
+CONFIG_IMX_HAVE_PLATFORM_IPU_CORE=y
+CONFIG_IMX_HAVE_PLATFORM_MXC_EHCI=y
+CONFIG_IMX_HAVE_PLATFORM_MXC_MMC=y
+CONFIG_IMX_HAVE_PLATFORM_MXC_NAND=y
+CONFIG_IMX_HAVE_PLATFORM_MXC_RNGA=y
+CONFIG_IMX_HAVE_PLATFORM_MXC_RTC=y
+CONFIG_IMX_HAVE_PLATFORM_MXC_W1=y
+CONFIG_IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX=y
+CONFIG_IMX_HAVE_PLATFORM_SPI_IMX=y
+# CONFIG_ARCH_MEDIATEK is not set
+
+#
+# TI OMAP/AM/DM/DRA Family
+#
+# CONFIG_ARCH_OMAP2 is not set
+# CONFIG_ARCH_OMAP3 is not set
+# CONFIG_ARCH_OMAP4 is not set
+# CONFIG_SOC_OMAP5 is not set
+# CONFIG_SOC_AM33XX is not set
+# CONFIG_SOC_AM43XX is not set
+# CONFIG_SOC_DRA7XX is not set
+# CONFIG_ARCH_PICOXCELL is not set
+# CONFIG_ARCH_QCOM is not set
+# CONFIG_ARCH_ROCKCHIP is not set
+# CONFIG_ARCH_SOCFPGA is not set
+# CONFIG_PLAT_SPEAR is not set
+# CONFIG_ARCH_STI is not set
+# CONFIG_ARCH_S5PV210 is not set
+# CONFIG_ARCH_EXYNOS is not set
+# CONFIG_ARCH_SHMOBILE_MULTI is not set
+# CONFIG_ARCH_SUNXI is not set
+# CONFIG_ARCH_SIRF is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_WM8750 is not set
+# CONFIG_ARCH_WM8850 is not set
+# CONFIG_ARCH_ZYNQ is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_V6=y
+CONFIG_CPU_V6K=y
+CONFIG_CPU_V7=y
+CONFIG_CPU_32v6=y
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV6=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_PABRT_V6=y
+CONFIG_CPU_PABRT_V7=y
+CONFIG_CPU_CACHE_V6=y
+CONFIG_CPU_CACHE_V7=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_TLB_V6=y
+CONFIG_CPU_TLB_V7=y
+CONFIG_CPU_HAS_ASID=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+CONFIG_ARM_THUMB=y
+# CONFIG_ARM_THUMBEE is not set
+CONFIG_ARM_VIRT_EXT=y
+CONFIG_SWP_EMULATE=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_KUSER_HELPERS=y
+CONFIG_DMA_CACHE_RWFO=y
+CONFIG_OUTER_CACHE=y
+CONFIG_OUTER_CACHE_SYNC=y
+CONFIG_MIGHT_HAVE_CACHE_L2X0=y
+CONFIG_CACHE_L2X0=y
+# CONFIG_PL310_ERRATA_588369 is not set
+# CONFIG_PL310_ERRATA_727915 is not set
+# CONFIG_PL310_ERRATA_753970 is not set
+CONFIG_PL310_ERRATA_769419=y
+CONFIG_ARM_L1_CACHE_SHIFT_6=y
+CONFIG_ARM_L1_CACHE_SHIFT=6
+CONFIG_ARM_DMA_MEM_BUFFERABLE=y
+CONFIG_MULTI_IRQ_HANDLER=y
+# CONFIG_ARM_ERRATA_326103 is not set
+# CONFIG_ARM_ERRATA_411920 is not set
+# CONFIG_ARM_ERRATA_430973 is not set
+# CONFIG_ARM_ERRATA_643719 is not set
+# CONFIG_ARM_ERRATA_720789 is not set
+CONFIG_ARM_ERRATA_754322=y
+# CONFIG_ARM_ERRATA_754327 is not set
+# CONFIG_ARM_ERRATA_364296 is not set
+CONFIG_ARM_ERRATA_764369=y
+CONFIG_ARM_ERRATA_775420=y
+# CONFIG_ARM_ERRATA_798181 is not set
+# CONFIG_ARM_ERRATA_773022 is not set
+
+#
+# Bus support
+#
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_SYSCALL=y
+# CONFIG_PCI_MSI is not set
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCI_IOV is not set
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+
+#
+# PCI host controller drivers
+#
+CONFIG_PCIE_DW=y
+CONFIG_PCI_IMX6=y
+# CONFIG_PCI_HOST_GENERIC is not set
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_HAVE_SMP=y
+CONFIG_SMP=y
+CONFIG_SMP_ON_UP=y
+CONFIG_ARM_CPU_TOPOLOGY=y
+# CONFIG_SCHED_MC is not set
+# CONFIG_SCHED_SMT is not set
+CONFIG_HAVE_ARM_SCU=y
+# CONFIG_HAVE_ARM_ARCH_TIMER is not set
+CONFIG_HAVE_ARM_TWD=y
+# CONFIG_MCPM is not set
+# CONFIG_BIG_LITTLE is not set
+# CONFIG_VMSPLIT_3G is not set
+CONFIG_VMSPLIT_2G=y
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0x80000000
+CONFIG_NR_CPUS=4
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_ARM_PSCI is not set
+CONFIG_ARCH_NR_GPIO=0
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_HZ_FIXED=0
+CONFIG_HZ_100=y
+# CONFIG_HZ_200 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_500 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=100
+CONFIG_SCHED_HRTICK=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+CONFIG_HAVE_ARCH_PFN_VALID=y
+CONFIG_HIGHMEM=y
+# CONFIG_HIGHPTE is not set
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_NO_BOOTMEM=y
+CONFIG_MEMORY_ISOLATION=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_BOUNCE=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+# CONFIG_CLEANCACHE is not set
+# CONFIG_FRONTSWAP is not set
+CONFIG_CMA=y
+# CONFIG_CMA_DEBUG is not set
+CONFIG_CMA_AREAS=7
+# CONFIG_ZPOOL is not set
+# CONFIG_ZBUD is not set
+# CONFIG_ZSMALLOC is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+# CONFIG_SECCOMP is not set
+CONFIG_SWIOTLB=y
+CONFIG_IOMMU_HELPER=y
+
+#
+# Boot options
+#
+CONFIG_USE_OF=y
+CONFIG_ATAGS=y
+# CONFIG_DEPRECATED_PARAM_STRUCT is not set
+CONFIG_ZBOOT_ROM_TEXT=0
+CONFIG_ZBOOT_ROM_BSS=0
+# CONFIG_ARM_APPENDED_DTB is not set
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_CMDLINE_FROM_BOOTLOADER=y
+# CONFIG_CMDLINE_EXTEND is not set
+# CONFIG_CMDLINE_FORCE is not set
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_AUTO_ZRELADDR=y
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+# CONFIG_GENERIC_CPUFREQ_CPU0 is not set
+
+#
+# ARM CPU frequency scaling drivers
+#
+CONFIG_ARM_IMX6Q_CPUFREQ=y
+# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set
+
+#
+# CPU Idle
+#
+# CONFIG_CPU_IDLE is not set
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+# CONFIG_KERNEL_MODE_NEON is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_HAVE_AOUT is not set
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+
+#
+# Power management options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_HIBERNATION is not set
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_AUTOSLEEP is not set
+# CONFIG_PM_WAKELOCKS is not set
+CONFIG_PM_RUNTIME=y
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+# CONFIG_PM_ADVANCED_DEBUG is not set
+CONFIG_PM_TEST_SUSPEND=y
+CONFIG_PM_SLEEP_DEBUG=y
+# CONFIG_APM_EMULATION is not set
+CONFIG_PM_OPP=y
+CONFIG_PM_CLK=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_CPU_PM=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARM_CPU_SUSPEND=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_DIAG is not set
+CONFIG_UNIX=y
+# CONFIG_UNIX_DIAG is not set
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_IP_PNP_BOOTP is not set
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE_DEMUX is not set
+CONFIG_NET_IP_TUNNEL=y
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_NET_UDP_TUNNEL is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+CONFIG_INET_TUNNEL=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_INET_UDP_DIAG is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=y
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+# CONFIG_INET6_AH is not set
+# CONFIG_INET6_ESP is not set
+# CONFIG_INET6_IPCOMP is not set
+# CONFIG_IPV6_MIP6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+CONFIG_INET6_XFRM_MODE_TRANSPORT=y
+CONFIG_INET6_XFRM_MODE_TUNNEL=y
+CONFIG_INET6_XFRM_MODE_BEET=y
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+# CONFIG_IPV6_VTI is not set
+CONFIG_IPV6_SIT=y
+# CONFIG_IPV6_SIT_6RD is not set
+CONFIG_IPV6_NDISC_NODETYPE=y
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_GRE is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NET_PTP_CLASSIFY=y
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK_ACCT is not set
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
+# CONFIG_NF_CONNTRACK is not set
+# CONFIG_NF_TABLES is not set
+# CONFIG_NETFILTER_XTABLES is not set
+# CONFIG_IP_SET is not set
+# CONFIG_IP_VS is not set
+
+#
+# IP: Netfilter Configuration
+#
+# CONFIG_NF_DEFRAG_IPV4 is not set
+# CONFIG_NF_LOG_ARP is not set
+# CONFIG_NF_LOG_IPV4 is not set
+# CONFIG_IP_NF_IPTABLES is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# IPv6: Netfilter Configuration
+#
+# CONFIG_NF_DEFRAG_IPV6 is not set
+# CONFIG_NF_LOG_IPV6 is not set
+# CONFIG_IP6_NF_IPTABLES is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP is not set
+# CONFIG_BRIDGE is not set
+CONFIG_HAVE_NET_DSA=y
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+# CONFIG_6LOWPAN is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+# CONFIG_BATMAN_ADV is not set
+# CONFIG_OPENVSWITCH is not set
+# CONFIG_VSOCKETS is not set
+# CONFIG_NETLINK_MMAP is not set
+# CONFIG_NETLINK_DIAG is not set
+# CONFIG_NET_MPLS_GSO is not set
+# CONFIG_HSR is not set
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+# CONFIG_CGROUP_NET_PRIO is not set
+# CONFIG_CGROUP_NET_CLASSID is not set
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+# CONFIG_BPF_JIT is not set
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_CAN=y
+CONFIG_CAN_RAW=y
+CONFIG_CAN_BCM=y
+CONFIG_CAN_GW=y
+
+#
+# CAN Device Drivers
+#
+# CONFIG_CAN_VCAN is not set
+# CONFIG_CAN_SLCAN is not set
+CONFIG_CAN_DEV=y
+CONFIG_CAN_CALC_BITTIMING=y
+# CONFIG_CAN_LEDS is not set
+# CONFIG_CAN_TI_HECC is not set
+CONFIG_CAN_FLEXCAN=y
+# CONFIG_CAN_GRCAN is not set
+# CONFIG_CAN_RCAR is not set
+# CONFIG_CAN_SJA1000 is not set
+# CONFIG_CAN_C_CAN is not set
+# CONFIG_CAN_CC770 is not set
+
+#
+# CAN SPI interfaces
+#
+# CONFIG_CAN_MCP251X is not set
+
+#
+# CAN USB interfaces
+#
+# CONFIG_CAN_EMS_USB is not set
+# CONFIG_CAN_ESD_USB2 is not set
+# CONFIG_CAN_GS_USB is not set
+# CONFIG_CAN_KVASER_USB is not set
+# CONFIG_CAN_PEAK_USB is not set
+# CONFIG_CAN_8DEV_USB is not set
+# CONFIG_CAN_SOFTING is not set
+# CONFIG_CAN_DEBUG_DEVICES is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_WIRELESS=y
+CONFIG_CFG80211=y
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+# CONFIG_CFG80211_WEXT is not set
+# CONFIG_LIB80211 is not set
+CONFIG_MAC80211=y
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+# CONFIG_MAC80211_MESH is not set
+# CONFIG_MAC80211_LEDS is not set
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+# CONFIG_WIMAX is not set
+CONFIG_RFKILL=y
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+# CONFIG_RFKILL_REGULATOR is not set
+# CONFIG_RFKILL_GPIO is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+# CONFIG_NFC is not set
+CONFIG_HAVE_BPF_JIT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER=y
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_SOC_BUS=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_SPI=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_FENCE_TRACE is not set
+CONFIG_DMA_CMA=y
+
+#
+# Default contiguous memory area size:
+#
+CONFIG_CMA_SIZE_MBYTES=16
+CONFIG_CMA_SIZE_SEL_MBYTES=y
+# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
+# CONFIG_CMA_SIZE_SEL_MIN is not set
+# CONFIG_CMA_SIZE_SEL_MAX is not set
+CONFIG_CMA_ALIGNMENT=8
+
+#
+# Bus devices
+#
+# CONFIG_BRCMSTB_GISB_ARB is not set
+CONFIG_IMX_WEIM=y
+# CONFIG_ARM_CCI is not set
+# CONFIG_ARM_CCN is not set
+# CONFIG_VEXPRESS_CONFIG is not set
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+CONFIG_MTD=y
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+CONFIG_MTD_OF_PARTS=y
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+# CONFIG_MTD_SWAP is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_PHYSMAP_OF=y
+# CONFIG_MTD_IMPA7 is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+CONFIG_MTD_DATAFLASH=y
+# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set
+# CONFIG_MTD_DATAFLASH_OTP is not set
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOCG3 is not set
+CONFIG_MTD_NAND_ECC=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_ECC_BCH is not set
+# CONFIG_MTD_SM_COMMON is not set
+# CONFIG_MTD_NAND_DENALI is not set
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_RICOH is not set
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_DOCG4 is not set
+# CONFIG_MTD_NAND_CAFE is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_GPMI_NAND=y
+# CONFIG_MTD_NAND_PLATFORM is not set
+CONFIG_MTD_NAND_MXC=y
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR & LPDDR2 PCM memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# CONFIG_MTD_LPDDR2_NVM is not set
+CONFIG_MTD_SPI_NOR=y
+# CONFIG_SPI_FSL_QUADSPI is not set
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+# CONFIG_MTD_UBI_BLOCK is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+# CONFIG_OF_SELFTEST is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_ADDRESS_PCI=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_NET=y
+CONFIG_OF_MDIO=y
+CONFIG_OF_PCI=y
+CONFIG_OF_PCI_IRQ=y
+CONFIG_OF_MTD=y
+CONFIG_OF_RESERVED_MEM=y
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_NULL_BLK is not set
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_DRBD is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_NVME is not set
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=65536
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MG_DISK is not set
+# CONFIG_BLK_DEV_RBD is not set
+# CONFIG_BLK_DEV_RSXX is not set
+
+#
+# Misc devices
+#
+# CONFIG_SENSORS_LIS3LV02D is not set
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1780 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_TI_DAC7512 is not set
+# CONFIG_BMP085_I2C is not set
+# CONFIG_BMP085_SPI is not set
+# CONFIG_USB_SWITCH_FSA9480 is not set
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+CONFIG_SRAM=y
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_EEPROM_93XX46 is not set
+# CONFIG_CB710_CORE is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+
+#
+# Altera FPGA firmware download module
+#
+# CONFIG_ALTERA_STAPL is not set
+
+#
+# Intel MIC Bus Driver
+#
+
+#
+# Intel MIC Host Driver
+#
+
+#
+# Intel MIC Card Driver
+#
+# CONFIG_ECHO is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# CONFIG_SCSI_LOWLEVEL is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+# CONFIG_SATA_AHCI is not set
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_IMX=y
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_SATA_ACARD_AHCI is not set
+# CONFIG_SATA_SIL24 is not set
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_SX4 is not set
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+# CONFIG_ATA_PIIX is not set
+# CONFIG_SATA_MV is not set
+# CONFIG_SATA_NV is not set
+# CONFIG_SATA_PROMISE is not set
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_SVW is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+
+#
+# PATA SFF controllers with BMDMA
+#
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_ATP867X is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+CONFIG_PATA_IMX=y
+# CONFIG_PATA_IT8213 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NINJA32 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RDC is not set
+# CONFIG_PATA_SCH is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_TOSHIBA is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+
+#
+# PIO-only SFF controllers
+#
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_PLATFORM is not set
+# CONFIG_PATA_RZ1000 is not set
+
+#
+# Generic fallback / legacy drivers
+#
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_LEGACY is not set
+# CONFIG_MD is not set
+# CONFIG_TARGET_CORE is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+# CONFIG_I2O is not set
+CONFIG_NETDEVICES=y
+CONFIG_MII=y
+CONFIG_NET_CORE=y
+# CONFIG_BONDING is not set
+# CONFIG_DUMMY is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NET_TEAM is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_VXLAN is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_NLMON is not set
+# CONFIG_ARCNET is not set
+
+#
+# CAIF transport drivers
+#
+
+#
+# Distributed Switch Architecture drivers
+#
+# CONFIG_NET_DSA_MV88E6XXX is not set
+# CONFIG_NET_DSA_MV88E6060 is not set
+# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
+# CONFIG_NET_DSA_MV88E6131 is not set
+# CONFIG_NET_DSA_MV88E6123_61_65 is not set
+CONFIG_ETHERNET=y
+CONFIG_NET_VENDOR_3COM=y
+# CONFIG_VORTEX is not set
+# CONFIG_TYPHOON is not set
+CONFIG_NET_VENDOR_ADAPTEC=y
+# CONFIG_ADAPTEC_STARFIRE is not set
+CONFIG_NET_VENDOR_ALTEON=y
+# CONFIG_ACENIC is not set
+# CONFIG_ALTERA_TSE is not set
+CONFIG_NET_VENDOR_AMD=y
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD_XGBE is not set
+# CONFIG_NET_XGENE is not set
+CONFIG_NET_VENDOR_ARC=y
+# CONFIG_ARC_EMAC is not set
+CONFIG_NET_VENDOR_ATHEROS=y
+# CONFIG_ATL2 is not set
+# CONFIG_ATL1 is not set
+# CONFIG_ATL1E is not set
+# CONFIG_ATL1C is not set
+# CONFIG_ALX is not set
+CONFIG_NET_CADENCE=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_NET_VENDOR_BROCADE=y
+# CONFIG_BNA is not set
+# CONFIG_NET_CALXEDA_XGMAC is not set
+CONFIG_NET_VENDOR_CHELSIO=y
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_CHELSIO_T3 is not set
+# CONFIG_CHELSIO_T4 is not set
+# CONFIG_CHELSIO_T4VF is not set
+CONFIG_NET_VENDOR_CIRRUS=y
+CONFIG_CS89x0=y
+CONFIG_CS89x0_PLATFORM=y
+CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_ENIC is not set
+# CONFIG_DM9000 is not set
+# CONFIG_DNET is not set
+CONFIG_NET_VENDOR_DEC=y
+# CONFIG_NET_TULIP is not set
+CONFIG_NET_VENDOR_DLINK=y
+# CONFIG_DL2K is not set
+# CONFIG_SUNDANCE is not set
+CONFIG_NET_VENDOR_EMULEX=y
+# CONFIG_BE2NET is not set
+CONFIG_NET_VENDOR_EXAR=y
+# CONFIG_S2IO is not set
+# CONFIG_VXGE is not set
+# CONFIG_NET_VENDOR_FARADAY is not set
+CONFIG_NET_VENDOR_FREESCALE=y
+CONFIG_FEC=y
+CONFIG_NET_VENDOR_HISILICON=y
+# CONFIG_HIX5HD2_GMAC is not set
+CONFIG_NET_VENDOR_HP=y
+# CONFIG_HP100 is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_IP1000 is not set
+# CONFIG_JME is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+# CONFIG_MLX4_EN is not set
+# CONFIG_MLX4_CORE is not set
+# CONFIG_MLX5_CORE is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+CONFIG_NET_VENDOR_MYRI=y
+# CONFIG_MYRI10GE is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+CONFIG_NET_VENDOR_NVIDIA=y
+# CONFIG_FORCEDETH is not set
+CONFIG_NET_VENDOR_OKI=y
+# CONFIG_ETHOC is not set
+CONFIG_NET_PACKET_ENGINE=y
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+CONFIG_NET_VENDOR_QLOGIC=y
+# CONFIG_QLA3XXX is not set
+# CONFIG_QLCNIC is not set
+# CONFIG_QLGE is not set
+# CONFIG_NETXEN_NIC is not set
+CONFIG_NET_VENDOR_REALTEK=y
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_R8169 is not set
+# CONFIG_SH_ETH is not set
+CONFIG_NET_VENDOR_RDC=y
+# CONFIG_R6040 is not set
+CONFIG_NET_VENDOR_SAMSUNG=y
+# CONFIG_SXGBE_ETH is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_NET_VENDOR_SILAN=y
+# CONFIG_SC92031 is not set
+CONFIG_NET_VENDOR_SIS=y
+# CONFIG_SIS900 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SFC is not set
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_SMC91X=y
+# CONFIG_EPIC100 is not set
+CONFIG_SMC911X=y
+CONFIG_SMSC911X=y
+# CONFIG_SMSC911X_ARCH_HOOKS is not set
+# CONFIG_SMSC9420 is not set
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_NET_VENDOR_SUN=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NIU is not set
+CONFIG_NET_VENDOR_TEHUTI=y
+# CONFIG_TEHUTI is not set
+CONFIG_NET_VENDOR_TI=y
+# CONFIG_TLAN is not set
+CONFIG_NET_VENDOR_VIA=y
+# CONFIG_VIA_RHINE is not set
+# CONFIG_VIA_VELOCITY is not set
+CONFIG_NET_VENDOR_WIZNET=y
+# CONFIG_WIZNET_W5100 is not set
+# CONFIG_WIZNET_W5300 is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+CONFIG_AT803X_PHY=y
+# CONFIG_AMD_PHY is not set
+# CONFIG_AMD_XGBE_PHY is not set
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_BCM7XXX_PHY is not set
+# CONFIG_BCM87XX_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_MICREL_PHY is not set
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
+# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+# CONFIG_MICREL_KS8995MA is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+CONFIG_USB_NET_DRIVERS=y
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_RTL8152 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_HSO is not set
+# CONFIG_USB_IPHETH is not set
+CONFIG_WLAN=y
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_ATMEL is not set
+# CONFIG_AT76C50X_USB is not set
+# CONFIG_PRISM54 is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_RTL8180 is not set
+# CONFIG_RTL8187 is not set
+# CONFIG_ADM8211 is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_MWL8K is not set
+# CONFIG_ATH_CARDS is not set
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+CONFIG_BRCMUTIL=m
+# CONFIG_BRCMSMAC is not set
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_SDIO=y
+# CONFIG_BRCMFMAC_USB is not set
+# CONFIG_BRCMFMAC_PCIE is not set
+# CONFIG_BRCM_TRACING is not set
+# CONFIG_BRCMDBG is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_IPW2100 is not set
+# CONFIG_IWLWIFI is not set
+# CONFIG_IWL4965 is not set
+# CONFIG_IWL3945 is not set
+# CONFIG_LIBERTAS is not set
+# CONFIG_P54_COMMON is not set
+# CONFIG_RT2X00 is not set
+CONFIG_RTL_CARDS=y
+# CONFIG_RTL8192CE is not set
+# CONFIG_RTL8192SE is not set
+# CONFIG_RTL8192DE is not set
+# CONFIG_RTL8723AE is not set
+# CONFIG_RTL8723BE is not set
+# CONFIG_RTL8188EE is not set
+# CONFIG_RTL8192CU is not set
+# CONFIG_WL_TI is not set
+# CONFIG_ZD1211RW is not set
+# CONFIG_MWIFIEX is not set
+# CONFIG_CW1200 is not set
+# CONFIG_RSI_91X is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+# CONFIG_VMXNET3 is not set
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+CONFIG_INPUT_POLLDEV=y
+# CONFIG_INPUT_SPARSEKMAP is not set
+CONFIG_INPUT_MATRIXKMAP=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+CONFIG_KEYBOARD_IMX=y
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_STMPE is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_CAP1106 is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+# CONFIG_MOUSE_PS2_SENTELIC is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_CYAPA is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
+# CONFIG_MOUSE_SYNAPTICS_USB is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_OF_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_AD7877 is not set
+# CONFIG_TOUCHSCREEN_AD7879 is not set
+# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
+# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
+# CONFIG_TOUCHSCREEN_BU21013 is not set
+# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
+# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
+# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
+# CONFIG_TOUCHSCREEN_DA9052 is not set
+# CONFIG_TOUCHSCREEN_DYNAPRO is not set
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+# CONFIG_TOUCHSCREEN_EETI is not set
+CONFIG_TOUCHSCREEN_EGALAX=y
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_ILI210X is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
+# CONFIG_TOUCHSCREEN_MAX11801 is not set
+# CONFIG_TOUCHSCREEN_MCS5000 is not set
+# CONFIG_TOUCHSCREEN_MMS114 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_PIXCIR is not set
+# CONFIG_TOUCHSCREEN_WM97XX is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+CONFIG_TOUCHSCREEN_MC13783=y
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
+CONFIG_TOUCHSCREEN_TSC2007=y
+# CONFIG_TOUCHSCREEN_ST1232 is not set
+CONFIG_TOUCHSCREEN_STMPE=y
+# CONFIG_TOUCHSCREEN_SUR40 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+# CONFIG_TOUCHSCREEN_ZFORCE is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+# CONFIG_INPUT_BMA150 is not set
+# CONFIG_INPUT_MC13783_PWRBUTTON is not set
+CONFIG_INPUT_MMA8450=y
+# CONFIG_INPUT_MPU3050 is not set
+# CONFIG_INPUT_GP2A is not set
+# CONFIG_INPUT_GPIO_BEEPER is not set
+# CONFIG_INPUT_GPIO_TILT_POLLED is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_KXTJ9 is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+# CONFIG_INPUT_UINPUT is not set
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+# CONFIG_INPUT_DA9052_ONKEY is not set
+# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_IMS_PCU is not set
+# CONFIG_INPUT_CMA3000 is not set
+# CONFIG_INPUT_SOC_BUTTON_ARRAY is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=m
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_SERIO_APBPS2 is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+# CONFIG_N_GSM is not set
+# CONFIG_TRACE_SINK is not set
+# CONFIG_DEVKMEM is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+# CONFIG_SERIAL_MFD_HSU is not set
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_IFX6X60 is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+# CONFIG_SERIAL_ST_ASC is not set
+# CONFIG_TTY_PRINTK is not set
+# CONFIG_HVC_DCC is not set
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+CONFIG_HW_RANDOM_MXC_RNGA=y
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=y
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=y
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_MUX_GPIO is not set
+# CONFIG_I2C_MUX_PCA9541 is not set
+# CONFIG_I2C_MUX_PCA954x is not set
+# CONFIG_I2C_MUX_PINCTRL is not set
+# CONFIG_I2C_HELPER_AUTO is not set
+# CONFIG_I2C_SMBUS is not set
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
+# CONFIG_I2C_DESIGNWARE_PCI is not set
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_IMX=y
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_PXA_PCI is not set
+# CONFIG_I2C_RK3X is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+CONFIG_SPI_BITBANG=y
+# CONFIG_SPI_CADENCE is not set
+# CONFIG_SPI_GPIO is not set
+CONFIG_SPI_IMX=y
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_FSL_DSPI is not set
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_PXA2XX_PCI is not set
+# CONFIG_SPI_ROCKCHIP is not set
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_SPMI is not set
+# CONFIG_HSI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=y
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=y
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+CONFIG_PINCTRL=y
+
+#
+# Pin controllers
+#
+CONFIG_PINMUX=y
+CONFIG_PINCONF=y
+# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_PINCTRL_BCM281XX is not set
+CONFIG_PINCTRL_IMX=y
+CONFIG_PINCTRL_IMX35=y
+CONFIG_PINCTRL_IMX50=y
+CONFIG_PINCTRL_IMX51=y
+CONFIG_PINCTRL_IMX53=y
+CONFIG_PINCTRL_IMX6Q=y
+CONFIG_PINCTRL_IMX6SL=y
+CONFIG_PINCTRL_IMX6SX=y
+CONFIG_PINCTRL_VF610=y
+# CONFIG_PINCTRL_SINGLE is not set
+CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_GENERIC=y
+# CONFIG_GPIO_DA9052 is not set
+
+#
+# Memory mapped GPIO drivers:
+#
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_DWAPB is not set
+# CONFIG_GPIO_EM is not set
+# CONFIG_GPIO_ZEVIO is not set
+CONFIG_GPIO_MXC=y
+# CONFIG_GPIO_SCH311X is not set
+# CONFIG_GPIO_SYSCON is not set
+# CONFIG_GPIO_VX855 is not set
+# CONFIG_GPIO_GRGPIO is not set
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+CONFIG_GPIO_MC9S08DZ60=y
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_SX150X is not set
+CONFIG_GPIO_STMPE=y
+# CONFIG_GPIO_ADP5588 is not set
+# CONFIG_GPIO_ADNP is not set
+
+#
+# PCI GPIO expanders:
+#
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_AMD8111 is not set
+# CONFIG_GPIO_ML_IOH is not set
+# CONFIG_GPIO_RDC321X is not set
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_74X164 is not set
+
+#
+# AC97 GPIO expanders:
+#
+
+#
+# LPC GPIO expanders:
+#
+
+#
+# MODULbus GPIO expanders:
+#
+# CONFIG_GPIO_BCM_KONA is not set
+
+#
+# USB GPIO expanders:
+#
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_POWER_AVS is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_DA9052_WATCHDOG is not set
+# CONFIG_GPIO_WATCHDOG is not set
+# CONFIG_XILINX_WATCHDOG is not set
+# CONFIG_DW_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+CONFIG_IMX2_WDT=y
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_MEN_A21_WDT is not set
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_MFD_AS3722 is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_AXP20X is not set
+# CONFIG_MFD_CROS_EC is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_PMIC_DA903X is not set
+CONFIG_PMIC_DA9052=y
+# CONFIG_MFD_DA9052_SPI is not set
+CONFIG_MFD_DA9052_I2C=y
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9063 is not set
+CONFIG_MFD_MC13XXX=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+# CONFIG_HTC_EGPIO is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_INTEL_SOC_PMIC is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77686 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_UCB1400_CORE is not set
+# CONFIG_MFD_PM8921_CORE is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RTSX_PCI is not set
+# CONFIG_MFD_RTSX_USB is not set
+# CONFIG_MFD_RC5T583 is not set
+# CONFIG_MFD_SEC_CORE is not set
+# CONFIG_MFD_SI476X_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SMSC is not set
+# CONFIG_ABX500_CORE is not set
+CONFIG_MFD_STMPE=y
+
+#
+# STMicroelectronics STMPE Interface Drivers
+#
+CONFIG_STMPE_I2C=y
+# CONFIG_STMPE_SPI is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_PALMAS is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65090 is not set
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TPS65218 is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS80031 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_ARIZONA_SPI is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_ACT8865 is not set
+# CONFIG_REGULATOR_AD5398 is not set
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_DA9052=y
+# CONFIG_REGULATOR_DA9210 is not set
+# CONFIG_REGULATOR_DA9211 is not set
+# CONFIG_REGULATOR_FAN53555 is not set
+CONFIG_REGULATOR_GPIO=y
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_LP872X is not set
+# CONFIG_REGULATOR_LP8755 is not set
+# CONFIG_REGULATOR_LTC3589 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_MAX8973 is not set
+CONFIG_REGULATOR_MC13XXX_CORE=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_REGULATOR_PFUZE100=y
+# CONFIG_REGULATOR_TPS51632 is not set
+# CONFIG_REGULATOR_TPS62360 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_TPS6524X is not set
+CONFIG_MEDIA_SUPPORT=y
+
+#
+# Multimedia core support
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
+# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
+# CONFIG_MEDIA_RADIO_SUPPORT is not set
+# CONFIG_MEDIA_SDR_SUPPORT is not set
+CONFIG_MEDIA_RC_SUPPORT=y
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_V4L2_MEM2MEM_DEV=y
+CONFIG_VIDEOBUF_GEN=y
+CONFIG_VIDEOBUF2_CORE=y
+CONFIG_VIDEOBUF2_MEMOPS=y
+CONFIG_VIDEOBUF2_DMA_CONTIG=y
+# CONFIG_TTPCI_EEPROM is not set
+
+#
+# Media drivers
+#
+CONFIG_RC_CORE=y
+CONFIG_RC_MAP=y
+CONFIG_RC_DECODERS=y
+# CONFIG_LIRC is not set
+CONFIG_IR_NEC_DECODER=y
+CONFIG_IR_RC5_DECODER=y
+CONFIG_IR_RC6_DECODER=y
+CONFIG_IR_JVC_DECODER=y
+CONFIG_IR_SONY_DECODER=y
+CONFIG_IR_SANYO_DECODER=y
+CONFIG_IR_SHARP_DECODER=y
+CONFIG_IR_MCE_KBD_DECODER=y
+CONFIG_IR_XMP_DECODER=y
+CONFIG_RC_DEVICES=y
+# CONFIG_RC_ATI_REMOTE is not set
+# CONFIG_IR_IMON is not set
+# CONFIG_IR_MCEUSB is not set
+# CONFIG_IR_REDRAT3 is not set
+# CONFIG_IR_STREAMZAP is not set
+# CONFIG_IR_IGUANA is not set
+# CONFIG_IR_TTUSBIR is not set
+# CONFIG_IR_IMG is not set
+# CONFIG_RC_LOOPBACK is not set
+CONFIG_IR_GPIO_CIR=y
+# CONFIG_MEDIA_USB_SUPPORT is not set
+# CONFIG_MEDIA_PCI_SUPPORT is not set
+CONFIG_V4L_PLATFORM_DRIVERS=y
+# CONFIG_VIDEO_CAFE_CCIC is not set
+CONFIG_SOC_CAMERA=y
+# CONFIG_SOC_CAMERA_PLATFORM is not set
+CONFIG_VIDEO_MX3=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_CODA=y
+# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
+# CONFIG_VIDEO_SH_VEU is not set
+# CONFIG_V4L_TEST_DRIVERS is not set
+
+#
+# Supported MMC/SDIO adapters
+#
+# CONFIG_CYPRESS_FIRMWARE is not set
+
+#
+# Media ancillary drivers (tuners, sensors, i2c, frontends)
+#
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_VIDEO_IR_I2C=y
+
+#
+# Audio decoders, processors and mixers
+#
+
+#
+# RDS decoders
+#
+
+#
+# Video decoders
+#
+
+#
+# Video and audio decoders
+#
+
+#
+# Video encoders
+#
+
+#
+# Camera sensor devices
+#
+
+#
+# Flash devices
+#
+
+#
+# Video improvement chips
+#
+
+#
+# Audio/Video compression chips
+#
+
+#
+# Miscellaneous helper chips
+#
+
+#
+# Sensors used on soc_camera driver
+#
+
+#
+# soc_camera sensor drivers
+#
+# CONFIG_SOC_CAMERA_IMX074 is not set
+# CONFIG_SOC_CAMERA_MT9M001 is not set
+# CONFIG_SOC_CAMERA_MT9M111 is not set
+# CONFIG_SOC_CAMERA_MT9T031 is not set
+# CONFIG_SOC_CAMERA_MT9T112 is not set
+# CONFIG_SOC_CAMERA_MT9V022 is not set
+CONFIG_SOC_CAMERA_OV2640=y
+# CONFIG_SOC_CAMERA_OV5642 is not set
+# CONFIG_SOC_CAMERA_OV6650 is not set
+# CONFIG_SOC_CAMERA_OV772X is not set
+# CONFIG_SOC_CAMERA_OV9640 is not set
+# CONFIG_SOC_CAMERA_OV9740 is not set
+# CONFIG_SOC_CAMERA_RJ54N1 is not set
+# CONFIG_SOC_CAMERA_TW9910 is not set
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+
+#
+# Graphics support
+#
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_IMX_IPUV3_CORE=y
+
+#
+# Direct Rendering Manager
+#
+CONFIG_DRM=y
+CONFIG_DRM_KMS_HELPER=y
+CONFIG_DRM_KMS_FB_HELPER=y
+# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
+CONFIG_DRM_GEM_CMA_HELPER=y
+CONFIG_DRM_KMS_CMA_HELPER=y
+
+#
+# I2C encoder or helper chips
+#
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+# CONFIG_DRM_I2C_NXP_TDA998X is not set
+# CONFIG_DRM_PTN3460 is not set
+# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_R128 is not set
+# CONFIG_DRM_RADEON is not set
+# CONFIG_DRM_NOUVEAU is not set
+# CONFIG_DRM_MGA is not set
+# CONFIG_DRM_VIA is not set
+# CONFIG_DRM_SAVAGE is not set
+# CONFIG_DRM_EXYNOS is not set
+# CONFIG_DRM_VMWGFX is not set
+# CONFIG_DRM_UDL is not set
+# CONFIG_DRM_AST is not set
+# CONFIG_DRM_MGAG200 is not set
+# CONFIG_DRM_CIRRUS_QEMU is not set
+# CONFIG_DRM_ARMADA is not set
+# CONFIG_DRM_TILCDC is not set
+# CONFIG_DRM_QXL is not set
+# CONFIG_DRM_BOCHS is not set
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
+CONFIG_DRM_PANEL_SIMPLE=y
+# CONFIG_DRM_PANEL_LD9040 is not set
+# CONFIG_DRM_PANEL_S6E8AA0 is not set
+# CONFIG_DRM_STI is not set
+
+#
+# Frame buffer Devices
+#
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_IMX is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_OPENCORES is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_SMSCUFX is not set
+# CONFIG_FB_UDL is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+CONFIG_FB_MX3=y
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_FB_AUO_K190X is not set
+# CONFIG_FB_SIMPLE is not set
+# CONFIG_FB_SSD1307 is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+# CONFIG_LCD_LMS283GF05 is not set
+# CONFIG_LCD_LTV350QV is not set
+# CONFIG_LCD_ILI922X is not set
+# CONFIG_LCD_ILI9320 is not set
+# CONFIG_LCD_TDO24M is not set
+# CONFIG_LCD_VGG2432A4 is not set
+CONFIG_LCD_PLATFORM=y
+# CONFIG_LCD_S6E63M0 is not set
+# CONFIG_LCD_LD9040 is not set
+# CONFIG_LCD_AMS369FG06 is not set
+# CONFIG_LCD_LMS501KF03 is not set
+# CONFIG_LCD_HX8357 is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=y
+CONFIG_BACKLIGHT_PWM=y
+# CONFIG_BACKLIGHT_DA9052 is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+# CONFIG_BACKLIGHT_LM3630A is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+# CONFIG_BACKLIGHT_LP855X is not set
+CONFIG_BACKLIGHT_GPIO=y
+# CONFIG_BACKLIGHT_LV5207LP is not set
+# CONFIG_BACKLIGHT_BD6107 is not set
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEOMODE_HELPERS=y
+CONFIG_HDMI=y
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_DMAENGINE_PCM=y
+CONFIG_SND_COMPRESS_OFFLOAD=y
+CONFIG_SND_JACK=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_HRTIMER is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_ALOOP is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+CONFIG_SND_PCI=y
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AW2 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CTXFI is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_INDIGOIOX is not set
+# CONFIG_SND_INDIGODJX is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_LOLA is not set
+# CONFIG_SND_LX6464ES is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+#
+# HD-Audio
+#
+# CONFIG_SND_HDA_INTEL is not set
+CONFIG_SND_ARM=y
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+# CONFIG_SND_USB_AUDIO is not set
+# CONFIG_SND_USB_UA101 is not set
+# CONFIG_SND_USB_CAIAQ is not set
+# CONFIG_SND_USB_6FIRE is not set
+# CONFIG_SND_USB_HIFACE is not set
+# CONFIG_SND_BCD2000 is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_AC97_BUS=y
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+# CONFIG_SND_ATMEL_SOC is not set
+# CONFIG_SND_DESIGNWARE_I2S is not set
+
+#
+# SoC Audio for Freescale CPUs
+#
+
+#
+# Common SoC Audio options for Freescale CPUs:
+#
+# CONFIG_SND_SOC_FSL_ASRC is not set
+# CONFIG_SND_SOC_FSL_SAI is not set
+CONFIG_SND_SOC_FSL_SSI=y
+CONFIG_SND_SOC_FSL_SPDIF=y
+# CONFIG_SND_SOC_FSL_ESAI is not set
+CONFIG_SND_SOC_FSL_UTILS=y
+CONFIG_SND_SOC_IMX_PCM_DMA=y
+CONFIG_SND_SOC_IMX_AUDMUX=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_IMX_SSI=y
+CONFIG_SND_SOC_IMX_PCM_FIQ=y
+
+#
+# SoC Audio support for Freescale i.MX boards:
+#
+CONFIG_SND_SOC_PHYCORE_AC97=y
+CONFIG_SND_SOC_EUKREA_TLV320=y
+CONFIG_SND_SOC_IMX_WM8962=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_SND_SOC_IMX_SPDIF=y
+CONFIG_SND_SOC_IMX_MC13783=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+
+#
+# CODEC drivers
+#
+# CONFIG_SND_SOC_ADAU1701 is not set
+# CONFIG_SND_SOC_AK4104 is not set
+# CONFIG_SND_SOC_AK4554 is not set
+# CONFIG_SND_SOC_AK4642 is not set
+# CONFIG_SND_SOC_AK5386 is not set
+# CONFIG_SND_SOC_ALC5623 is not set
+# CONFIG_SND_SOC_CS42L52 is not set
+# CONFIG_SND_SOC_CS42L56 is not set
+# CONFIG_SND_SOC_CS42L73 is not set
+# CONFIG_SND_SOC_CS4265 is not set
+# CONFIG_SND_SOC_CS4270 is not set
+# CONFIG_SND_SOC_CS4271 is not set
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
+# CONFIG_SND_SOC_HDMI_CODEC is not set
+# CONFIG_SND_SOC_PCM1681 is not set
+# CONFIG_SND_SOC_PCM1792A is not set
+# CONFIG_SND_SOC_PCM512x_I2C is not set
+# CONFIG_SND_SOC_PCM512x_SPI is not set
+CONFIG_SND_SOC_SGTL5000=y
+# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
+# CONFIG_SND_SOC_SPDIF is not set
+# CONFIG_SND_SOC_STA350 is not set
+# CONFIG_SND_SOC_TAS2552 is not set
+# CONFIG_SND_SOC_TAS5086 is not set
+CONFIG_SND_SOC_TLV320AIC23=y
+CONFIG_SND_SOC_TLV320AIC23_I2C=y
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC3X is not set
+# CONFIG_SND_SOC_WM8510 is not set
+# CONFIG_SND_SOC_WM8523 is not set
+# CONFIG_SND_SOC_WM8580 is not set
+# CONFIG_SND_SOC_WM8711 is not set
+# CONFIG_SND_SOC_WM8728 is not set
+# CONFIG_SND_SOC_WM8731 is not set
+# CONFIG_SND_SOC_WM8737 is not set
+# CONFIG_SND_SOC_WM8741 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8770 is not set
+# CONFIG_SND_SOC_WM8776 is not set
+# CONFIG_SND_SOC_WM8804 is not set
+# CONFIG_SND_SOC_WM8903 is not set
+CONFIG_SND_SOC_WM8962=y
+CONFIG_SND_SOC_WM9712=y
+CONFIG_SND_SOC_MC13783=y
+# CONFIG_SND_SOC_TPA6130A2 is not set
+# CONFIG_SND_SIMPLE_CARD is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=y
+
+#
+# HID support
+#
+CONFIG_HID=y
+# CONFIG_HIDRAW is not set
+# CONFIG_UHID is not set
+CONFIG_HID_GENERIC=y
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_ACRUX is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_APPLEIR is not set
+# CONFIG_HID_AUREAL is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_PRODIKEYS is not set
+# CONFIG_HID_CP2112 is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_ELO is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_GT683R is not set
+# CONFIG_HID_HUION is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+# CONFIG_HID_UCLOGIC is not set
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_LCPOWER is not set
+# CONFIG_HID_LENOVO is not set
+# CONFIG_HID_LOGITECH is not set
+# CONFIG_HID_MAGICMOUSE is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_MULTITOUCH is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_RMI is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_THINGM is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_WACOM is not set
+# CONFIG_HID_WIIMOTE is not set
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=y
+# CONFIG_HID_PID is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# I2C HID support
+#
+# CONFIG_I2C_HID is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+# CONFIG_USB_OTG_FSM is not set
+# CONFIG_USB_MON is not set
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+# CONFIG_USB_XHCI_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=y
+CONFIG_USB_EHCI_MXC=y
+# CONFIG_USB_EHCI_HCD_PLATFORM is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_HCD is not set
+# CONFIG_USB_FUSBH200_HCD is not set
+# CONFIG_USB_FOTG210_HCD is not set
+# CONFIG_USB_MAX3421_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_IMX21_HCD is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+# CONFIG_USB_RENESAS_USBHS is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_REALTEK is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_STORAGE_ENE_UB6250 is not set
+# CONFIG_USB_UAS is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+# CONFIG_USB_MUSB_HDRC is not set
+# CONFIG_USB_DWC3 is not set
+# CONFIG_USB_DWC2 is not set
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+# CONFIG_USB_CHIPIDEA_DEBUG is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+# CONFIG_USB_EZUSB_FX2 is not set
+# CONFIG_USB_HSIC_USB3503 is not set
+# CONFIG_USB_LINK_LAYER_TEST is not set
+
+#
+# USB Physical Layer drivers
+#
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=y
+# CONFIG_AM335X_PHY_USB is not set
+# CONFIG_SAMSUNG_USB2PHY is not set
+# CONFIG_SAMSUNG_USB3PHY is not set
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ISP1301 is not set
+CONFIG_USB_MXS_PHY=y
+# CONFIG_USB_ULPI is not set
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+
+#
+# USB Peripheral Controller
+#
+# CONFIG_USB_FSL_USB2 is not set
+# CONFIG_USB_FUSB300 is not set
+# CONFIG_USB_FOTG210_UDC is not set
+# CONFIG_USB_GR_UDC is not set
+# CONFIG_USB_R8A66597 is not set
+# CONFIG_USB_PXA27X is not set
+# CONFIG_USB_MV_UDC is not set
+# CONFIG_USB_MV_U3D is not set
+# CONFIG_USB_M66592 is not set
+# CONFIG_USB_AMD5536UDC is not set
+# CONFIG_USB_NET2272 is not set
+# CONFIG_USB_NET2280 is not set
+# CONFIG_USB_GOKU is not set
+# CONFIG_USB_EG20T is not set
+# CONFIG_USB_DUMMY_HCD is not set
+CONFIG_USB_LIBCOMPOSITE=m
+CONFIG_USB_U_ETHER=m
+CONFIG_USB_F_ECM=m
+CONFIG_USB_F_SUBSET=m
+CONFIG_USB_F_RNDIS=m
+CONFIG_USB_F_MASS_STORAGE=m
+# CONFIG_USB_CONFIGFS is not set
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+# CONFIG_USB_G_NCM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+CONFIG_USB_MASS_STORAGE=m
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_ACM_MS is not set
+# CONFIG_USB_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_DBGP is not set
+# CONFIG_USB_G_WEBCAM is not set
+# CONFIG_UWB is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_CLKGATE is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_IO_ACCESSORS=y
+# CONFIG_MMC_SDHCI_PCI is not set
+CONFIG_MMC_SDHCI_PLTFM=y
+# CONFIG_MMC_SDHCI_OF_ARASAN is not set
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+# CONFIG_MMC_SDHCI_PXAV3 is not set
+# CONFIG_MMC_SDHCI_PXAV2 is not set
+# CONFIG_MMC_MXC is not set
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+# CONFIG_MMC_DW is not set
+# CONFIG_MMC_VUB300 is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MMC_USDHI6ROL0 is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_LEDS_GPIO_REGISTER=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_LM3530 is not set
+# CONFIG_LEDS_LM3642 is not set
+# CONFIG_LEDS_PCA9532 is not set
+CONFIG_LEDS_GPIO=y
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_LP5521 is not set
+# CONFIG_LEDS_LP5523 is not set
+# CONFIG_LEDS_LP5562 is not set
+# CONFIG_LEDS_LP8501 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_DA9052 is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_PWM is not set
+# CONFIG_LEDS_REGULATOR is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+# CONFIG_LEDS_MC13783 is not set
+# CONFIG_LEDS_TCA6507 is not set
+# CONFIG_LEDS_LM355x is not set
+
+#
+# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
+#
+# CONFIG_LEDS_BLINKM is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_ONESHOT=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_GPIO=y
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
+# CONFIG_LEDS_TRIGGER_CAMERA is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_DS3232 is not set
+# CONFIG_RTC_DRV_HYM8563 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_ISL12022 is not set
+# CONFIG_RTC_DRV_ISL12057 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF2127 is not set
+# CONFIG_RTC_DRV_PCF8523 is not set
+CONFIG_RTC_DRV_PCF8563=y
+# CONFIG_RTC_DRV_PCF85063 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+# CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3029C2 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1343 is not set
+# CONFIG_RTC_DRV_DS1347 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+# CONFIG_RTC_DRV_MCP795 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_DS2404 is not set
+# CONFIG_RTC_DRV_DA9052 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_IMXDI is not set
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
+# CONFIG_RTC_DRV_XGENE is not set
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+# CONFIG_DW_DMAC_CORE is not set
+# CONFIG_DW_DMAC is not set
+# CONFIG_DW_DMAC_PCI is not set
+CONFIG_MX3_IPU=y
+CONFIG_MX3_IPU_IRQS=4
+CONFIG_IMX_SDMA=y
+# CONFIG_IMX_DMA is not set
+CONFIG_MXS_DMA=y
+CONFIG_FSL_EDMA=y
+# CONFIG_NBPFAXI_DMA is not set
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_DMA_OF=y
+
+#
+# DMA Clients
+#
+# CONFIG_ASYNC_TX_DMA is not set
+# CONFIG_DMATEST is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+# CONFIG_VIRT_DRIVERS is not set
+
+#
+# Virtio drivers
+#
+# CONFIG_VIRTIO_PCI is not set
+# CONFIG_VIRTIO_MMIO is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+CONFIG_STAGING=y
+# CONFIG_ET131X is not set
+# CONFIG_USBIP_CORE is not set
+# CONFIG_PRISM2_USB is not set
+# CONFIG_COMEDI is not set
+# CONFIG_RTL8192U is not set
+# CONFIG_RTLLIB is not set
+# CONFIG_R8712U is not set
+# CONFIG_R8188EU is not set
+# CONFIG_R8192EE is not set
+# CONFIG_R8723AU is not set
+# CONFIG_R8821AE is not set
+# CONFIG_RTS5208 is not set
+# CONFIG_LINE6_USB is not set
+# CONFIG_VT6655 is not set
+# CONFIG_VT6656 is not set
+# CONFIG_FB_XGI is not set
+# CONFIG_BCM_WIMAX is not set
+# CONFIG_FT1000 is not set
+
+#
+# Speakup console speech
+#
+# CONFIG_SPEAKUP is not set
+# CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set
+# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
+# CONFIG_STAGING_MEDIA is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+# CONFIG_USB_WPAN_HCD is not set
+# CONFIG_WIMAX_GDM72XX is not set
+# CONFIG_LTE_GDM724X is not set
+CONFIG_DRM_IMX=y
+CONFIG_DRM_IMX_FB_HELPER=y
+CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
+CONFIG_DRM_IMX_TVE=y
+CONFIG_DRM_IMX_LDB=y
+CONFIG_DRM_IMX_IPUV3=y
+CONFIG_DRM_IMX_HDMI=y
+# CONFIG_MTD_SPINAND_MT29F is not set
+# CONFIG_LUSTRE_FS is not set
+# CONFIG_XILLYBUS is not set
+# CONFIG_DGNC is not set
+# CONFIG_DGAP is not set
+# CONFIG_GS_FPGABOOT is not set
+
+#
+# SOC (System On Chip) specific Drivers
+#
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Common Clock Framework
+#
+# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_QCOM is not set
+
+#
+# Hardware Spinlock drivers
+#
+
+#
+# Clock Source drivers
+#
+CONFIG_CLKSRC_OF=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_VF_PIT_TIMER=y
+# CONFIG_SH_TIMER_CMT is not set
+# CONFIG_SH_TIMER_MTU2 is not set
+# CONFIG_SH_TIMER_TMU is not set
+# CONFIG_EM_TIMER_STI is not set
+# CONFIG_CLKSRC_VERSATILE is not set
+# CONFIG_MAILBOX is not set
+# CONFIG_IOMMU_SUPPORT is not set
+
+#
+# Remoteproc drivers
+#
+# CONFIG_STE_MODEM_RPROC is not set
+
+#
+# Rpmsg drivers
+#
+# CONFIG_PM_DEVFREQ is not set
+# CONFIG_EXTCON is not set
+# CONFIG_MEMORY is not set
+# CONFIG_IIO is not set
+# CONFIG_VME_BUS is not set
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+# CONFIG_PWM_FSL_FTM is not set
+CONFIG_PWM_IMX=y
+# CONFIG_PWM_PCA9685 is not set
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+# CONFIG_IPACK_BUS is not set
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+CONFIG_RESET_CONTROLLER=y
+# CONFIG_FMC is not set
+
+#
+# PHY Subsystem
+#
+# CONFIG_GENERIC_PHY is not set
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
+# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
+# CONFIG_POWERCAP is not set
+# CONFIG_MCB is not set
+CONFIG_RAS=y
+# CONFIG_THUNDERBOLT is not set
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_FANOTIFY is not set
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+# CONFIG_QFMT_V1 is not set
+# CONFIG_QFMT_V2 is not set
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+# CONFIG_CUSE is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=m
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_ECRYPT_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=y
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+# CONFIG_LOGFS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_PSTORE is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_F2FS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V2=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_SWAP is not set
+# CONFIG_NFS_V4_1 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+# CONFIG_SUNRPC_DEBUG is not set
+# CONFIG_CEPH_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+CONFIG_NLS_ISO8859_15=m
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_MAC_ROMAN is not set
+# CONFIG_NLS_MAC_CELTIC is not set
+# CONFIG_NLS_MAC_CENTEURO is not set
+# CONFIG_NLS_MAC_CROATIAN is not set
+# CONFIG_NLS_MAC_CYRILLIC is not set
+# CONFIG_NLS_MAC_GAELIC is not set
+# CONFIG_NLS_MAC_GREEK is not set
+# CONFIG_NLS_MAC_ICELAND is not set
+# CONFIG_NLS_MAC_INUIT is not set
+# CONFIG_NLS_MAC_ROMANIAN is not set
+# CONFIG_NLS_MAC_TURKISH is not set
+CONFIG_NLS_UTF8=y
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+
+#
+# Compile-time checks and compiler options
+#
+# CONFIG_DEBUG_INFO is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_READABLE_ASM is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
+CONFIG_DEBUG_KERNEL=y
+
+#
+# Memory Debugging
+#
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+# CONFIG_DEBUG_SHIRQ is not set
+
+#
+# Debug Lockups and Hangs
+#
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=0
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+# CONFIG_DEBUG_RT_MUTEXES is not set
+CONFIG_DEBUG_SPINLOCK=y
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+CONFIG_DEBUG_LOCK_ALLOC=y
+CONFIG_PROVE_LOCKING=y
+CONFIG_LOCKDEP=y
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_LOCKDEP is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_LOCK_TORTURE_TEST is not set
+CONFIG_TRACE_IRQFLAGS=y
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_PI_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_PROVE_RCU is not set
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_TORTURE_TEST is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+# CONFIG_RCU_CPU_STALL_INFO is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+
+#
+# Runtime Testing
+#
+# CONFIG_LKDTM is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_RBTREE_TEST is not set
+# CONFIG_INTERVAL_TREE_TEST is not set
+# CONFIG_PERCPU_TEST is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_KSTRTOX is not set
+# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_TEST_MODULE is not set
+# CONFIG_TEST_USER_COPY is not set
+# CONFIG_TEST_BPF is not set
+# CONFIG_TEST_FIRMWARE is not set
+# CONFIG_TEST_UDELAY is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_ARM_PTDUMP is not set
+# CONFIG_STRICT_DEVMEM is not set
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_LL is not set
+CONFIG_DEBUG_IMX_UART_PORT=1
+CONFIG_DEBUG_VF_UART_PORT=1
+CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
+# CONFIG_DEBUG_UART_PL01X is not set
+# CONFIG_DEBUG_UART_8250 is not set
+CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
+# CONFIG_PID_IN_CONTEXTIDR is not set
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_PERSISTENT_KEYRINGS is not set
+# CONFIG_BIG_KEYS is not set
+# CONFIG_ENCRYPTED_KEYS is not set
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+CONFIG_SECURITYFS=y
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+# CONFIG_CRYPTO_USER is not set
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_PCRYPT is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=y
+# CONFIG_CRYPTO_GCM is not set
+CONFIG_CRYPTO_SEQIV=y
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+CONFIG_CRYPTO_CTR=y
+# CONFIG_CRYPTO_CTS is not set
+# CONFIG_CRYPTO_ECB is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_CMAC is not set
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+# CONFIG_CRYPTO_CRC32 is not set
+CONFIG_CRYPTO_CRCT10DIF=y
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA1_ARM is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_AES_ARM is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=y
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+# CONFIG_CRYPTO_ZLIB is not set
+CONFIG_CRYPTO_LZO=y
+# CONFIG_CRYPTO_LZ4 is not set
+# CONFIG_CRYPTO_LZ4HC is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_DRBG_MENU is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_ASYMMETRIC_KEY_TYPE is not set
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_STMP_DEVICE=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+# CONFIG_CRC8 is not set
+# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+# CONFIG_XZ_DEC is not set
+# CONFIG_XZ_DEC_BCJ is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAS_DMA=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_GLOB=y
+# CONFIG_GLOB_SELFTEST is not set
+CONFIG_NLATTR=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_AVERAGE=y
+# CONFIG_CORDIC is not set
+# CONFIG_DDR is not set
+CONFIG_LIBFDT=y
+CONFIG_OID_REGISTRY=y
+CONFIG_FONT_SUPPORT=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_ARCH_HAS_SG_CHAIN=y
+# CONFIG_VIRTUALIZATION is not set
diff --git a/distribution/yocto-advanced/poky/meta-linutronix/recipes-bsp/linux-kernel/linux-kernel.bb b/distribution/yocto-advanced/poky/meta-linutronix/recipes-bsp/linux-kernel/linux-kernel.bb
new file mode 100644
index 0000000..9f33251
--- /dev/null
+++ b/distribution/yocto-advanced/poky/meta-linutronix/recipes-bsp/linux-kernel/linux-kernel.bb
@@ -0,0 +1,36 @@
+SECTION = "kernel"
+DESCRIPTION = "Linux kernel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+KERNEL_IMAGETYPE = "uImage"
+
+inherit kernel
+
+require recipes-kernel/linux/linux-dtb.inc
+
+KERNEL_DEVICETREE_imx6qsabrelite = "arch/arm/boot/dts/imx6q-sabrelite.dts"
+
+COMPATIBLE_MACHINE = "imx6qsabrelite"
+
+S = "${WORKDIR}/git"
+
+BRANCH = "master"
+
+SRC_URI = " \
+  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux;\
+protocol=git;branch=${BRANCH} \
+  file://defconfig \
+"
+
+SRCREV="52addcf9d6669fa439387610bc65c92fa0980cef"
+PV = "3.17-rc2"
+
+# Append to the MACHINE_KERNEL_PR so that a new SRCREV will cause a rebuild
+MACHINE_KERNEL_PR_append = "d+gitr${SRCPV}"
+
+LINUX_VERSION_EXTENSION = "-sabrelite"
+KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
+
+do_configure_prepend () {
+	cp '${WORKDIR}/defconfig' '${S}/.config'
+}
diff --git a/distribution/yocto-advanced/pres_yocto-advanced.tex b/distribution/yocto-advanced/pres_yocto-advanced.tex
index a0283fc..e22bbc8 100644
--- a/distribution/yocto-advanced/pres_yocto-advanced.tex
+++ b/distribution/yocto-advanced/pres_yocto-advanced.tex
@@ -799,7 +799,6 @@ KERNEL_IMAGETYPE = "uImage"
 
 inherit kernel
 require recipes-kernel/linux/linux-dtb.inc
-require recipes-kernel/linux/setup-defconfig.inc
 \end{verbatim}
 \end{frame}
 
@@ -820,8 +819,9 @@ SRC_URI[sha256sum] = "???"
 
 KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
 
-do_configure_prepend () {
+do_configure_prepend() {
 	cp '${WORKDIR}/defconfig' '${S}/.config'
+}
 \end{verbatim}
 \end{frame}
 
-- 
cgit v1.2.3


From 5a20d2533ee61018d9af10424d9b712bbd3d5fef Mon Sep 17 00:00:00 2001
From: Manuel Traut <manut@linutronix.de>
Date: Thu, 4 Sep 2014 01:20:42 +0200
Subject: add a very minimalistic sabrelite layer

Signed-off-by: Manuel Traut <manut@linutronix.de>
---
 distribution/yocto-advanced/poky/meta-mini/README  |   4 +
 .../classes/fsl-dynamic-packagearch.bbclass        |  47 +++
 .../poky/meta-mini/classes/image_types_fsl.bbclass | 319 +++++++++++++++++++++
 .../poky/meta-mini/conf/distro/lxt.conf            | 141 +++++++++
 .../yocto-advanced/poky/meta-mini/conf/layer.conf  |   2 -
 .../meta-mini/conf/machine/imx6qsabrelite.conf     |   3 +-
 .../meta-mini/recipes-bsp/mini-image/mini-image.bb |   1 +
 .../eglibc/eglibc-locale_2.19.bbappend             |   2 +
 .../linux-vanilla/files/imx6qsabrelite/defconfig   |   6 +-
 .../yocto-advanced/pres_yocto-advanced.tex         |   2 +-
 10 files changed, 520 insertions(+), 7 deletions(-)
 create mode 100644 distribution/yocto-advanced/poky/meta-mini/classes/fsl-dynamic-packagearch.bbclass
 create mode 100644 distribution/yocto-advanced/poky/meta-mini/classes/image_types_fsl.bbclass
 create mode 100644 distribution/yocto-advanced/poky/meta-mini/conf/distro/lxt.conf
 create mode 100644 distribution/yocto-advanced/poky/meta-mini/recipes-core/eglibc/eglibc-locale_2.19.bbappend

(limited to 'distribution/yocto-advanced/pres_yocto-advanced.tex')

diff --git a/distribution/yocto-advanced/poky/meta-mini/README b/distribution/yocto-advanced/poky/meta-mini/README
index bd9fb9e..b9be59e 100644
--- a/distribution/yocto-advanced/poky/meta-mini/README
+++ b/distribution/yocto-advanced/poky/meta-mini/README
@@ -62,3 +62,7 @@ II. Misc
 ========
 
 --- replace with specific information about the mini layer ---
+=======
+this is a mini layer for the sabrelite board
+
+use DISTRO='mini' in your local.conf and 'bitbake mini-image'
diff --git a/distribution/yocto-advanced/poky/meta-mini/classes/fsl-dynamic-packagearch.bbclass b/distribution/yocto-advanced/poky/meta-mini/classes/fsl-dynamic-packagearch.bbclass
new file mode 100644
index 0000000..40eae6c
--- /dev/null
+++ b/distribution/yocto-advanced/poky/meta-mini/classes/fsl-dynamic-packagearch.bbclass
@@ -0,0 +1,47 @@
+# Automatically set PACKAGE_ARCH for MACHINE_SOCARCH
+#
+# This allow to easy reuse of binary packages among similar SoCs. The
+# usual use for this is to share SoC specific packages among different
+# boards.
+#
+# MACHINE_SOCARCH_FILTER list all packages associated with
+# MACHINE_SOCARCH and, when match, will set PACKAGE_ARCH as MACHINE_SOCARCH
+#
+# MACHINE_ARCH_FILTER list all packages associated with
+# MACHINE_ARCH and, when match, will set PACKAGE_ARCH as MACHINE_ARCH
+#
+# For example, in meta-fsl-arm, this is used to share GPU packages for
+# i.MX53 boards (as all them share the AMD GPU) and i.MX6 based boards
+# (as all them share Vivante GPU).
+#
+# To use the class, specify, for example:
+#
+# MACHINE_SOCARCH_soc = "${TUNE_PKGARCH}-soc"
+#
+# and the need filters, as:
+#
+# MACHINE_ARCH_FILTER = "virtual/kernel"
+# MACHINE_SOCARCH_FILTER_soc = "virtual/libgles1 ... virtual/libgl"
+#
+# Copyright 2013 (C) O.S. Systems Software LTDA.
+
+python __anonymous () {
+    machine_arch_filter = set((d.getVar("MACHINE_ARCH_FILTER", True) or "").split())
+    machine_socarch_filter = set((d.getVar("MACHINE_SOCARCH_FILTER", True) or "").split())
+    if machine_socarch_filter or machine_arch_filter:
+        provides = set((d.getVar("PROVIDES", True) or "").split())
+        depends = set((d.getVar("DEPENDS", True) or "").split())
+        PN = d.getVar("PN", True)
+
+        package_arch = None
+        if list(machine_arch_filter & (provides | depends)):
+            package_arch = d.getVar("MACHINE_ARCH", True)
+        elif list(machine_socarch_filter & (provides | depends)):
+            package_arch = d.getVar("MACHINE_SOCARCH", True)
+            if not package_arch:
+                bb.parse.SkipPackage("You must set MACHINE_SOCARCH as MACHINE_SOCARCH_FILTER is set for this SoC.")
+
+        if package_arch:
+            bb.debug(1, "Use '%s' as package archictecture for '%s'" % (package_arch, PN))
+            d.setVar("PACKAGE_ARCH", package_arch)
+}
diff --git a/distribution/yocto-advanced/poky/meta-mini/classes/image_types_fsl.bbclass b/distribution/yocto-advanced/poky/meta-mini/classes/image_types_fsl.bbclass
new file mode 100644
index 0000000..c0fa9b6
--- /dev/null
+++ b/distribution/yocto-advanced/poky/meta-mini/classes/image_types_fsl.bbclass
@@ -0,0 +1,319 @@
+inherit image_types
+
+IMAGE_BOOTLOADER ?= "u-boot"
+
+# Handle u-boot suffixes
+UBOOT_SUFFIX ?= "bin"
+UBOOT_PADDING ?= "0"
+UBOOT_SUFFIX_SDCARD ?= "${UBOOT_SUFFIX}"
+
+#
+# Handles i.MX mxs bootstream generation
+#
+MXSBOOT_NAND_ARGS ?= ""
+
+# IMX Bootlets Linux bootstream
+IMAGE_DEPENDS_linux.sb = "elftosb-native:do_populate_sysroot \
+                          imx-bootlets:do_deploy \
+                          virtual/kernel:do_deploy"
+IMAGE_LINK_NAME_linux.sb = ""
+IMAGE_CMD_linux.sb () {
+	kernel_bin="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
+	kernel_dtb="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.dtb || true`"
+	linux_bd_file=imx-bootlets-linux.bd-${MACHINE}
+	if [ `basename $kernel_bin .bin` = `basename $kernel_dtb .dtb` ]; then
+		# When using device tree we build a zImage with the dtb
+		# appended on the end of the image
+		linux_bd_file=imx-bootlets-linux.bd-dtb-${MACHINE}
+		cat $kernel_bin $kernel_dtb \
+		    > $kernel_bin-dtb
+		rm -f ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin-dtb
+		ln -s $kernel_bin-dtb ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin-dtb
+	fi
+
+	# Ensure the file is generated
+	rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.linux.sb
+	(cd ${DEPLOY_DIR_IMAGE}; elftosb -z -c $linux_bd_file -o ${IMAGE_NAME}.linux.sb)
+
+	# Remove the appended file as it is only used here
+	rm -f ${DEPLOY_DIR_IMAGE}/$kernel_bin-dtb
+}
+
+# IMX Bootlets barebox bootstream
+IMAGE_DEPENDS_barebox.mxsboot-sdcard = "elftosb-native:do_populate_sysroot \
+                                        u-boot-mxsboot-native:do_populate_sysroot \
+                                        imx-bootlets:do_deploy \
+                                        barebox:do_deploy"
+IMAGE_CMD_barebox.mxsboot-sdcard () {
+	barebox_bd_file=imx-bootlets-barebox_ivt.bd-${MACHINE}
+
+	# Ensure the files are generated
+	(cd ${DEPLOY_DIR_IMAGE}; rm -f ${IMAGE_NAME}.barebox.sb ${IMAGE_NAME}.barebox.mxsboot-sdcard; \
+	 elftosb -f mx28 -z -c $barebox_bd_file -o ${IMAGE_NAME}.barebox.sb; \
+	 mxsboot sd ${IMAGE_NAME}.barebox.sb ${IMAGE_NAME}.barebox.mxsboot-sdcard)
+}
+
+# U-Boot mxsboot generation to SD-Card
+UBOOT_SUFFIX_SDCARD_mxs ?= "mxsboot-sdcard"
+IMAGE_DEPENDS_uboot.mxsboot-sdcard = "u-boot-mxsboot-native:do_populate_sysroot \
+                                      u-boot:do_deploy"
+IMAGE_CMD_uboot.mxsboot-sdcard = "mxsboot sd ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX} \
+                                             ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.uboot.mxsboot-sdcard"
+
+IMAGE_DEPENDS_uboot.mxsboot-nand = "u-boot-mxsboot-native:do_populate_sysroot \
+                                      u-boot:do_deploy"
+IMAGE_CMD_uboot.mxsboot-nand = "mxsboot ${MXSBOOT_NAND_ARGS} nand \
+                                             ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX} \
+                                             ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.uboot.mxsboot-nand"
+
+# Boot partition volume id
+BOOTDD_VOLUME_ID ?= "Boot ${MACHINE}"
+
+# Boot partition size [in KiB]
+BOOT_SPACE ?= "8192"
+
+# Barebox environment size [in KiB]
+BAREBOX_ENV_SPACE ?= "512"
+
+# Set alignment to 4MB [in KiB]
+IMAGE_ROOTFS_ALIGNMENT = "4096"
+
+IMAGE_DEPENDS_sdcard = "parted-native:do_populate_sysroot \
+                        dosfstools-native:do_populate_sysroot \
+                        mtools-native:do_populate_sysroot \
+                        virtual/kernel:do_deploy \
+                        ${@d.getVar('IMAGE_BOOTLOADER', True) and d.getVar('IMAGE_BOOTLOADER', True) + ':do_deploy' or ''}"
+
+SDCARD = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sdcard"
+
+SDCARD_GENERATION_COMMAND_mxs = "generate_mxs_sdcard"
+SDCARD_GENERATION_COMMAND_mx25 = "generate_imx_sdcard"
+SDCARD_GENERATION_COMMAND_mx5 = "generate_imx_sdcard"
+SDCARD_GENERATION_COMMAND_mx6 = "generate_imx_sdcard"
+SDCARD_GENERATION_COMMAND_vf60 = "generate_imx_sdcard"
+
+#
+# Create an image that can by written onto a SD card using dd for use
+# with i.MX SoC family
+#
+# External variables needed:
+#   ${SDCARD_ROOTFS}    - the rootfs image to incorporate
+#   ${IMAGE_BOOTLOADER} - bootloader to use {u-boot, barebox}
+#
+# The disk layout used is:
+#
+#    0                      -> IMAGE_ROOTFS_ALIGNMENT         - reserved to bootloader (not partitioned)
+#    IMAGE_ROOTFS_ALIGNMENT -> BOOT_SPACE                     - kernel and other data
+#    BOOT_SPACE             -> SDIMG_SIZE                     - rootfs
+#
+#                                                     Default Free space = 1.3x
+#                                                     Use IMAGE_OVERHEAD_FACTOR to add more space
+#                                                     <--------->
+#            4MiB               8MiB           SDIMG_ROOTFS                    4MiB
+# <-----------------------> <----------> <----------------------> <------------------------------>
+#  ------------------------ ------------ ------------------------ -------------------------------
+# | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE            |     IMAGE_ROOTFS_ALIGNMENT    |
+#  ------------------------ ------------ ------------------------ -------------------------------
+# ^                        ^            ^                        ^                               ^
+# |                        |            |                        |                               |
+# 0                      4096     4MiB +  8MiB       4MiB +  8Mib + SDIMG_ROOTFS   4MiB +  8MiB + SDIMG_ROOTFS + 4MiB
+generate_imx_sdcard () {
+	# Create partition table
+	parted -s ${SDCARD} mklabel msdos
+	parted -s ${SDCARD} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
+	parted -s ${SDCARD} unit KiB mkpart primary $(expr  ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
+	parted ${SDCARD} print
+
+	# Burn bootloader
+	case "${IMAGE_BOOTLOADER}" in
+		imx-bootlets)
+		bberror "The imx-bootlets is not supported for i.MX based machines"
+		exit 1
+		;;
+		u-boot)
+		if [ -n "${SPL_BINARY}" ]; then
+			dd if=${DEPLOY_DIR_IMAGE}/${SPL_BINARY} of=${SDCARD} conv=notrunc seek=2 bs=512
+			dd if=${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX_SDCARD} of=${SDCARD} conv=notrunc seek=42 bs=1K
+		else
+			dd if=${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX_SDCARD} of=${SDCARD} conv=notrunc seek=2 skip=${UBOOT_PADDING} bs=512
+		fi
+		;;
+		barebox)
+		dd if=${DEPLOY_DIR_IMAGE}/barebox-${MACHINE}.bin of=${SDCARD} conv=notrunc seek=1 skip=1 bs=512
+		dd if=${DEPLOY_DIR_IMAGE}/bareboxenv-${MACHINE}.bin of=${SDCARD} conv=notrunc seek=1 bs=512k
+		;;
+		"")
+		;;
+		*)
+		bberror "Unkown IMAGE_BOOTLOADER value"
+		exit 1
+		;;
+	esac
+
+	# Create boot partition image
+	BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDCARD} unit b print \
+	                  | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 1024 }')
+	mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
+	mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::/${KERNEL_IMAGETYPE}
+
+	# Copy boot scripts
+	for item in ${BOOT_SCRIPTS}; do
+		src=`echo $item | awk -F':' '{ print $1 }'`
+		dst=`echo $item | awk -F':' '{ print $2 }'`
+
+		mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$src ::/$dst
+	done
+
+	# Copy device tree file
+	if test -n "${KERNEL_DEVICETREE}"; then
+		for DTS_FILE in ${KERNEL_DEVICETREE}; do
+			DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
+			if [ -e "${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
+				kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
+				kernel_bin_for_dtb="`readlink ${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
+				if [ $kernel_bin = $kernel_bin_for_dtb ]; then
+					mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
+				fi
+			fi
+		done
+	fi
+
+	# Burn Partition
+	dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
+	dd if=${SDCARD_ROOTFS} of=${SDCARD} conv=notrunc seek=1 bs=$(expr ${BOOT_SPACE_ALIGNED} \* 1024 + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
+}
+
+#
+# Create an image that can by written onto a SD card using dd for use
+# with i.MXS SoC family
+#
+# External variables needed:
+#   ${SDCARD_ROOTFS}    - the rootfs image to incorporate
+#   ${IMAGE_BOOTLOADER} - bootloader to use {imx-bootlets, u-boot}
+#
+generate_mxs_sdcard () {
+	# Create partition table
+	parted -s ${SDCARD} mklabel msdos
+
+	case "${IMAGE_BOOTLOADER}" in
+		imx-bootlets)
+		# The disk layout used is:
+		#
+		#    0                      -> 1024                           - Unused (not partitioned)
+		#    1024                   -> BOOT_SPACE                     - kernel and other data (bootstream)
+		#    BOOT_SPACE             -> SDIMG_SIZE                     - rootfs
+		#
+		#                                     Default Free space = 1.3x
+		#                                     Use IMAGE_OVERHEAD_FACTOR to add more space
+		#                                     <--------->
+		#    1024        8MiB          SDIMG_ROOTFS                    4MiB
+		# <-------> <----------> <----------------------> <------------------------------>
+		#  --------------------- ------------------------ -------------------------------
+		# | Unused | BOOT_SPACE | ROOTFS_SIZE            |     IMAGE_ROOTFS_ALIGNMENT    |
+		#  --------------------- ------------------------ -------------------------------
+		# ^        ^            ^                        ^                               ^
+		# |        |            |                        |                               |
+		# 0      1024      1024 + 8MiB       1024 + 8Mib + SDIMG_ROOTFS      1024 + 8MiB + SDIMG_ROOTFS + 4MiB
+		parted -s ${SDCARD} unit KiB mkpart primary 1024 $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
+		parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
+
+		# Empty 4 bytes from boot partition
+		dd if=/dev/zero of=${SDCARD} conv=notrunc seek=2048 count=4
+
+		# Write the bootstream in (2048 + 4) bytes
+		dd if=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.linux.sb of=${SDCARD} conv=notrunc seek=1 seek=2052
+		;;
+		u-boot)
+		# The disk layout used is:
+		#
+		#    1M - 2M                  - reserved to bootloader and other data
+		#    2M - BOOT_SPACE          - kernel
+		#    BOOT_SPACE - SDCARD_SIZE - rootfs
+		#
+		# The disk layout used is:
+		#
+		#    1M                     -> 2M                             - reserved to bootloader and other data
+		#    2M                     -> BOOT_SPACE                     - kernel and other data
+		#    BOOT_SPACE             -> SDIMG_SIZE                     - rootfs
+		#
+		#                                                        Default Free space = 1.3x
+		#                                                        Use IMAGE_OVERHEAD_FACTOR to add more space
+		#                                                        <--------->
+		#            4MiB                8MiB             SDIMG_ROOTFS                    4MiB
+		# <-----------------------> <-------------> <----------------------> <------------------------------>
+		#  ---------------------------------------- ------------------------ -------------------------------
+		# |      |      |                          |ROOTFS_SIZE             |     IMAGE_ROOTFS_ALIGNMENT    |
+		#  ---------------------------------------- ------------------------ -------------------------------
+		# ^      ^      ^          ^               ^                        ^                               ^
+		# |      |      |          |               |                        |                               |
+		# 0     1M     2M         4M        4MiB + BOOTSPACE   4MiB + BOOTSPACE + SDIMG_ROOTFS   4MiB + BOOTSPACE + SDIMG_ROOTFS + 4MiB
+		#
+		parted -s ${SDCARD} unit KiB mkpart primary 1024 2048
+		parted -s ${SDCARD} unit KiB mkpart primary 2048 $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
+		parted -s ${SDCARD} unit KiB mkpart primary $(expr  ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
+
+		dd if=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.uboot.mxsboot-sdcard of=${SDCARD} conv=notrunc seek=1 skip=${UBOOT_PADDING} bs=$(expr 1024 \* 1024)
+		BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDCARD} unit b print \
+	        | awk '/ 2 / { print substr($4, 1, length($4 -1)) / 1024 }')
+
+		mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
+		mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::/${KERNEL_IMAGETYPE}
+		if test -n "${KERNEL_DEVICETREE}"; then
+			for DTS_FILE in ${KERNEL_DEVICETREE}; do
+				DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
+				if [ -e "${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
+					kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
+					kernel_bin_for_dtb="`readlink ${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
+					if [ $kernel_bin = $kernel_bin_for_dtb ]; then
+						mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
+					fi
+				fi
+			done
+		fi
+
+		dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc seek=2 bs=$(expr 1024 \* 1024)
+		;;
+		barebox)
+		# BAREBOX_ENV_SPACE is taken on BOOT_SPACE_ALIGNED but it doesn't really matter as long as the rootfs is aligned
+		parted -s ${SDCARD} unit KiB mkpart primary 1024 $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} - ${BAREBOX_ENV_SPACE})
+		parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} - ${BAREBOX_ENV_SPACE}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
+		parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
+
+		dd if=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.barebox.mxsboot-sdcard of=${SDCARD} conv=notrunc seek=1 bs=$(expr 1024 \* 1024)
+		dd if=${DEPLOY_DIR_IMAGE}/bareboxenv-${MACHINE}.bin of=${SDCARD} conv=notrunc seek=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} - ${BAREBOX_ENV_SPACE}) bs=1024
+		;;
+		*)
+		bberror "Unkown IMAGE_BOOTLOADER value"
+		exit 1
+		;;
+	esac
+
+	# Change partition type for mxs processor family
+	bbnote "Setting partition type to 0x53 as required for mxs' SoC family."
+	echo -n S | dd of=${SDCARD} bs=1 count=1 seek=450 conv=notrunc
+
+	parted ${SDCARD} print
+
+	dd if=${SDCARD_ROOTFS} of=${SDCARD} conv=notrunc seek=1 bs=$(expr ${BOOT_SPACE_ALIGNED} \* 1024 + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
+}
+
+IMAGE_CMD_sdcard () {
+	if [ -z "${SDCARD_ROOTFS}" ]; then
+		bberror "SDCARD_ROOTFS is undefined. To use sdcard image from Freescale's BSP it needs to be defined."
+		exit 1
+	fi
+
+	# Align boot partition and calculate total SD card image size
+	BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
+	BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
+	SDCARD_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
+
+	# Initialize a sparse file
+	dd if=/dev/zero of=${SDCARD} bs=1 count=0 seek=$(expr 1024 \* ${SDCARD_SIZE})
+
+	${SDCARD_GENERATION_COMMAND}
+}
+
+# The sdcard requires the rootfs filesystem to be built before using
+# it so we must make this dependency explicit.
+IMAGE_TYPEDEP_sdcard = "${@d.getVar('SDCARD_ROOTFS', 1).split('.')[-1]}"
diff --git a/distribution/yocto-advanced/poky/meta-mini/conf/distro/lxt.conf b/distribution/yocto-advanced/poky/meta-mini/conf/distro/lxt.conf
new file mode 100644
index 0000000..85aef9c
--- /dev/null
+++ b/distribution/yocto-advanced/poky/meta-mini/conf/distro/lxt.conf
@@ -0,0 +1,141 @@
+# Distribution definition for: lxt
+#
+# Copyright (c) 2011, Intel Corporation.
+# All rights reserved.
+#
+# This file is released under the MIT license as described in
+# ../meta/COPYING.MIT.
+#
+# Poky-tiny is intended to define a tiny Linux system comprised of a
+# Linux kernel tailored to support each specific MACHINE and busybox.
+# Poky-tiny sets some basic policy to ensure a usable system while still
+# keeping the rootfs and kernel image as small as possible.
+#
+# The policies defined are intended to meet the following goals:
+# o Serial consoles only (no framebuffer or VGA console)
+# o Basic support for IPV4 networking
+# o Single user ash shell
+# o Static images (no support for adding packages or libraries later)
+# o Read-only or RAMFS root filesystem
+# o Combined Linux kernel + rootfs in under 4MB
+# o Allow the user to select between eglibc or uclibc with the TCLIBC variable
+#
+# This is currently a partial definition, the following tasks remain:
+# [ ] Integrate linux-yocto-tiny ktype into linux-yocto
+# [ ] Define linux-yocto-tiny configs for all supported BSPs
+# [ ] Drop ldconfig from the installation
+# [ ] Modify the runqemu scripts to work with ext2 parameter:
+#     runqemu qemux86 qemuparams="-nographic" bootparams="console=ttyS0,115200 root=0800" 
+# [ ] Modify busybox to allow for DISTRO_FEATURES-like confiruration
+
+require conf/distro/poky.conf
+DISTRO = "lxt"
+
+# FIXME: consider adding a new "tiny" feature
+#DISTRO_FEATURES_append = " tiny"
+
+# Distro config is evaluated after the machine config, so we have to explicitly
+# set the kernel provider to override a machine config.
+PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny"
+PREFERRED_VERSION_linux-yocto-tiny = "3.8%"
+
+# We can use packagegroup-core-boot, but in the future we may need a new packagegroup-core-tiny
+#POKY_DEFAULT_EXTRA_RDEPENDS += "packagegroup-core-boot"
+# Drop kernel-module-af-packet from RRECOMMENDS
+POKY_DEFAULT_EXTRA_RRECOMMENDS = ""
+
+# FIXME: what should we do with this?
+TCLIBCAPPEND = ""
+
+# Disable wide char support for ncurses as we don't include it in
+# in the LIBC features below.
+ENABLE_WIDEC="false"
+
+# Drop native language support. This removes the
+# eglibc->bash->gettext->libc-posix-clang-wchar dependency.
+USE_NLS="no"
+
+# Reconfigure eglibc for a smaller installation
+# Comment out any of the lines below to disable them in the build
+DISTRO_FEATURES_LIBC_TINY = "libc-libm libc-crypt"
+DISTRO_FEATURES_LIBC_TINY_append_x86-64 = " libc-libm-big"
+
+# Required for "who"
+DISTRO_FEATURES_LIBC_MINIMAL = "libc-utmp libc-getlogin"
+DISTRO_FEATURES_LIBC_REGEX = "libc-posix-regexp"
+DISTRO_FEATURES_LIBC_NET = "libc-inet libc-nis"
+
+DISTRO_FEATURES_LIBC = "${DISTRO_FEATURES_LIBC_TINY} \
+                        ${DISTRO_FEATURES_LIBC_MINIMAL} \
+                        ${DISTRO_FEATURES_LIBC_REGEX} \
+                        ${DISTRO_FEATURES_LIBC_NET} \
+                       "
+
+# Comment out any of the lines below to disable them in the build
+# DISTRO_FEATURES options:
+# alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci
+DISTRO_FEATURES_TINY = "pci"
+DISTRO_FEATURES_NET = "ipv4"
+DISTRO_FEATURES_USB = "usbhost"
+#DISTRO_FEATURES_USBGADGET = "usbgadget"
+#DISTRO_FEATURES_WIFI = "wifi"
+
+DISTRO_FEATURES = "${DISTRO_FEATURES_TINY} \
+                   ${DISTRO_FEATURES_NET} \
+                   ${DISTRO_FEATURES_USB} \
+                   ${DISTRO_FEATURES_USBGADGET} \
+                   ${DISTRO_FEATURES_WIFI} \
+                   ${DISTRO_FEATURES_LIBC} \
+                  "
+
+# Enable LFS - see bug YOCTO #5865
+DISTRO_FEATURES_append_libc-uclibc = " largefile"
+
+# Use tmpdevfs and the busybox runtime services
+VIRTUAL-RUNTIME_dev_manager = ""
+VIRTUAL-RUNTIME_login_manager = ""
+VIRTUAL-RUNTIME_init_manager = "tiny-init"
+VIRTUAL-RUNTIME_keymaps = ""
+
+# FIXME: Consider adding "modules" to MACHINE_FEATURES and using that in
+# packagegroup-core-base to select modutils-initscripts or not.  Similar with "net" and
+# netbase.
+
+# By default we only support ext2 and initramfs. We don't build live as that
+# pulls in a lot of dependencies for the live image and the installer, like
+# udev, grub, etc.  These pull in gettext, which fails to build with wide
+# character support.
+IMAGE_FSTYPES = "sdcard ext3 tar.gz"
+
+# Drop v86d from qemu dependency list (we support serial)
+# Drop grub from meta-intel BSPs
+# FIXME: A different mechanism is needed here. We could define -tiny
+#        variants of all compatible machines, but that leads to a lot
+#        more machine configs to maintain long term.
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = ""
+
+# The mtrace script included by eglibc is a perl script. This means the system
+# will build perl in case this package is installed. Since we don't care about
+# this script for the purposes of tiny, remove the dependency from here.
+RDEPENDS_${PN}-mtrace_pn-eglibc = ""
+
+INHERIT += "blacklist"
+PNBLACKLIST[build-appliance-image] = "not buildable with lxt"
+PNBLACKLIST[core-image-base] = "not buildable with lxt"
+PNBLACKLIST[core-image-clutter] = "not buildable with lxt"
+PNBLACKLIST[core-image-directfb] = "not buildable with lxt"
+PNBLACKLIST[core-image-full-cmdline] = "not buildable with lxt"
+PNBLACKLIST[core-image-lsb] = "not buildable with lxt"
+PNBLACKLIST[core-image-lsb-dev] = "not buildable with lxt"
+PNBLACKLIST[core-image-lsb-sdk] = "not buildable with lxt"
+PNBLACKLIST[core-image-rt] = "not buildable with lxt"
+PNBLACKLIST[core-image-rt-sdk] = "not buildable with lxt"
+PNBLACKLIST[core-image-sato] = "not buildable with lxt"
+PNBLACKLIST[core-image-sato-dev] = "not buildable with lxt"
+PNBLACKLIST[core-image-sato-sdk] = "not buildable with lxt"
+PNBLACKLIST[core-image-x11] = "not buildable with lxt"
+PNBLACKLIST[qt4e-demo-image] = "not buildable with lxt"
+PNBLACKLIST[core-image-weston] = "not buildable with lxt"
+
+# Disable python usage in opkg-utils since it won't build with tiny config
+PACKAGECONFIG_pn-opkg-utils = ""
diff --git a/distribution/yocto-advanced/poky/meta-mini/conf/layer.conf b/distribution/yocto-advanced/poky/meta-mini/conf/layer.conf
index 35caf4b..b1c4f1e 100644
--- a/distribution/yocto-advanced/poky/meta-mini/conf/layer.conf
+++ b/distribution/yocto-advanced/poky/meta-mini/conf/layer.conf
@@ -5,8 +5,6 @@ BBPATH .= ":${LAYERDIR}"
 BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
 	${LAYERDIR}/recipes-*/*/*.bbappend"
 
-LAYERDEPENDS_fsl-arm-extra = "core linutronix"
-
 BBFILE_COLLECTIONS += "mini"
 BBFILE_PATTERN_mini = "^${LAYERDIR}/"
 BBFILE_PRIORITY_mini = "7"
diff --git a/distribution/yocto-advanced/poky/meta-mini/conf/machine/imx6qsabrelite.conf b/distribution/yocto-advanced/poky/meta-mini/conf/machine/imx6qsabrelite.conf
index 66b124f..90f6864 100644
--- a/distribution/yocto-advanced/poky/meta-mini/conf/machine/imx6qsabrelite.conf
+++ b/distribution/yocto-advanced/poky/meta-mini/conf/machine/imx6qsabrelite.conf
@@ -33,4 +33,5 @@ IMAGE_FSTYPES += "tar.bz2 ext3"
 # /usr/share/i18n/locales/POSIX
 ENABLE_BINARY_LOCALE_GENERATION = "0"
 
-APPEND = "${APPEND} init=/usr/bin/hello"
+# custom init process
+# APPEND = "${APPEND} init=/usr/bin/hello"
diff --git a/distribution/yocto-advanced/poky/meta-mini/recipes-bsp/mini-image/mini-image.bb b/distribution/yocto-advanced/poky/meta-mini/recipes-bsp/mini-image/mini-image.bb
index e2536a9..252a4f2 100644
--- a/distribution/yocto-advanced/poky/meta-mini/recipes-bsp/mini-image/mini-image.bb
+++ b/distribution/yocto-advanced/poky/meta-mini/recipes-bsp/mini-image/mini-image.bb
@@ -1,3 +1,4 @@
 IMAGE_LINGUAS = " "
 inherit core-image
+
 IMAGE_INSTALL += "sysvinit"
diff --git a/distribution/yocto-advanced/poky/meta-mini/recipes-core/eglibc/eglibc-locale_2.19.bbappend b/distribution/yocto-advanced/poky/meta-mini/recipes-core/eglibc/eglibc-locale_2.19.bbappend
new file mode 100644
index 0000000..51f69e5
--- /dev/null
+++ b/distribution/yocto-advanced/poky/meta-mini/recipes-core/eglibc/eglibc-locale_2.19.bbappend
@@ -0,0 +1,2 @@
+do_package_qa () {
+}
diff --git a/distribution/yocto-advanced/poky/meta-mini/recipes-kernel/linux-vanilla/files/imx6qsabrelite/defconfig b/distribution/yocto-advanced/poky/meta-mini/recipes-kernel/linux-vanilla/files/imx6qsabrelite/defconfig
index d4b216a..ca8a9c6 100644
--- a/distribution/yocto-advanced/poky/meta-mini/recipes-kernel/linux-vanilla/files/imx6qsabrelite/defconfig
+++ b/distribution/yocto-advanced/poky/meta-mini/recipes-kernel/linux-vanilla/files/imx6qsabrelite/defconfig
@@ -582,10 +582,10 @@ CONFIG_ATAGS=y
 CONFIG_ZBOOT_ROM_TEXT=0
 CONFIG_ZBOOT_ROM_BSS=0
 # CONFIG_ARM_APPENDED_DTB is not set
-CONFIG_CMDLINE="noinitrd console=ttymxc1,115200 init=/usr/bin/hello root=/dev/m"
-# CONFIG_CMDLINE_FROM_BOOTLOADER is not set
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_CMDLINE_FROM_BOOTLOADER=y
 # CONFIG_CMDLINE_EXTEND is not set
-CONFIG_CMDLINE_FORCE=y
+# CONFIG_CMDLINE_FORCE is not set
 # CONFIG_KEXEC is not set
 # CONFIG_CRASH_DUMP is not set
 CONFIG_AUTO_ZRELADDR=y
diff --git a/distribution/yocto-advanced/pres_yocto-advanced.tex b/distribution/yocto-advanced/pres_yocto-advanced.tex
index e22bbc8..189e377 100644
--- a/distribution/yocto-advanced/pres_yocto-advanced.tex
+++ b/distribution/yocto-advanced/pres_yocto-advanced.tex
@@ -363,7 +363,7 @@ ERROR: Task 1105 (/home/local/src/poky/meta-ti-arm/
 		\pause
 to solve this issue:
 \begin{verbatim}
-poky/build-ti % echo 'ACCEPT_FSL_EULA = "1"' >> conf/local.conf
+poky/build-fsl % echo 'ACCEPT_FSL_EULA = "1"' >> conf/local.conf
 \end{verbatim}
 		\pause
 \dots and run
-- 
cgit v1.2.3


From d05a89acc37783d91b10ff911e6b29a16c494d6f Mon Sep 17 00:00:00 2001
From: Manuel Traut <manut@linutronix.de>
Date: Fri, 19 Sep 2014 12:06:34 +0200
Subject: yocto-slides: small improvements

* toaster screenshots
* updated kernel recipe to match meta-mini
* updated agenda

Signed-off-by: Manuel Traut <manut@linutronix.de>
---
 .../yocto-advanced/pres_yocto-advanced.tex         |  49 ++++++++-------------
 distribution/yocto-basic/pres_yocto-basic.tex      |  25 +++++++----
 distribution/yocto-intro/pres_yocto-intro.tex      |   4 +-
 images/yocto-toaster1.png                          | Bin 0 -> 120188 bytes
 images/yocto-toaster2.png                          | Bin 0 -> 75575 bytes
 images/yocto-toaster3.png                          | Bin 0 -> 118033 bytes
 6 files changed, 36 insertions(+), 42 deletions(-)
 create mode 100644 images/yocto-toaster1.png
 create mode 100644 images/yocto-toaster2.png
 create mode 100644 images/yocto-toaster3.png

(limited to 'distribution/yocto-advanced/pres_yocto-advanced.tex')

diff --git a/distribution/yocto-advanced/pres_yocto-advanced.tex b/distribution/yocto-advanced/pres_yocto-advanced.tex
index 189e377..5d306f1 100644
--- a/distribution/yocto-advanced/pres_yocto-advanced.tex
+++ b/distribution/yocto-advanced/pres_yocto-advanced.tex
@@ -6,13 +6,12 @@
 \begin{frame}
 \frametitle{Agenda}
 \begin{itemize}
-\item Using BSP layers (beaglebone)
-\item Build a predefined image (beaglebone)
+\item Using BSP layers
+\item Build a predefined image
 \item Creating a layer
 \item Define a distribution
 \item Create an image
 \item Writing recipes
-\item Yocto \& ELBE combined?
 \end{itemize}
 \end{frame}
 
@@ -602,31 +601,15 @@ DISTRO_FEATURES_append = " systemd"
 TCLIBCAPPEND = ""
 \end{verbatim}
 \end{frame}
+
 \begin{frame}[fragile]
 \begin{verbatim}
-PREMIRRORS ??= "\
-bzr://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
-cvs://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
-git://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
-hg://.*/.*    http://downloads.yoctoproject.org/mirror/sources/ \n \
-osc://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
-p4://.*/.*    http://downloads.yoctoproject.org/mirror/sources/ \n \
-svk://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
-svn://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n"
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\begin{verbatim}
-MIRRORS =+ "\
-ftp://.*/.*      http://downloads.yoctoproject.org/mirror/sources/ \n \
-http://.*/.*     http://downloads.yoctoproject.org/mirror/sources/ \n \
-https://.*/.*    http://downloads.yoctoproject.org/mirror/sources/ \n"
-
 CONNECTIVITY_CHECK_URIS ?= " \
              https://eula-downloads.yoctoproject.org/index.php \
              http://bugzilla.yoctoproject.org/report.cgi"
 \end{verbatim}
 \end{frame}
+
 \begin{frame}[fragile]
 \begin{verbatim}
 SANITY_TESTED_DISTROS ?= " \
@@ -795,7 +778,8 @@ create the file 'meta-mini/recipes-bsp/linux-vanilla/linux-vanilla\_3.16.1.bb':
 SECTION = "kernel"
 DESCRIPTION = "Linux vanilla kernel"
 LICENSE = "GPLv2"
-KERNEL_IMAGETYPE = "uImage"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+KERNEL_IMAGETYPE ?= "uImage"
 
 inherit kernel
 require recipes-kernel/linux/linux-dtb.inc
@@ -805,19 +789,22 @@ require recipes-kernel/linux/linux-dtb.inc
 \begin{frame}[fragile]
 \frametitle{adding a kernel \#2}
 \begin{verbatim}
+COMPATILBE_MACHINE_imx6qsabrelite = "imx6qsabrelite"
+KERNEL_DEVICETREE_imx6qsabrelite = "arch/arm/boot/dts/imx6q-sabrelite.dts"
 COMPATILBE_MACHINE_beaglebone-black = "beaglebone-black"
-KERNEL_DEVICETREE_beaglebone-black = \
-"arch/arm/boot/dts/am335x-boneblack.dts"
+KERNEL_DEVICETREE_beaglebone-black = "arch/arm/boot/dts/am335x-boneblack.dts"
+
+S = "${WORKDIR}/git
 
-S = "${WORKDIR}/linux-${PV}"
-https://www.kernel.org/pub/linux/kernel/v3.x/linux-${PV}.tar.xz \
-file://defconfig \
-"
+BRANCH = "master"
+SRC_URI = "https://www.kernel.org/pub/linux/kernel/v3.x/linux-${PV}.tar.xz \
+	file://defconfig"
 
-SRC_URI[md5sum] = "???"
-SRC_URI[sha256sum] = "???"
+SRC_URI[md5sum] = "e7a985a243b7941b6bc6240fcbc797fc"
+SRC_URI[sha256sum] = "be37dda8ea090525661d64e5c7fc8580f313b7f9ba8592e32120f1332b
 
 KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
+LINUX_VERSION_EXTENSION = "-linutronix"
 
 do_configure_prepend() {
 	cp '${WORKDIR}/defconfig' '${S}/.config'
@@ -848,7 +835,7 @@ PROVIDES += "virtual/kernel"
 --8<--------------------------------
 \end{verbatim}
 
-PREFERRED\_PROVIDER\_virtual/kernel = "linux-yocto"
+PREFERRED\_PROVIDER\_virtual/kernel = "linux-vanilla"
 
 
 \pause
diff --git a/distribution/yocto-basic/pres_yocto-basic.tex b/distribution/yocto-basic/pres_yocto-basic.tex
index c75c7ba..29ab14d 100644
--- a/distribution/yocto-basic/pres_yocto-basic.tex
+++ b/distribution/yocto-basic/pres_yocto-basic.tex
@@ -489,10 +489,7 @@ specific options
 inherit is used to use the functionality defined in a .bblcass file. Popular
 predefined classes are:
 \begin{itemize}
-\item allarch
-\item archiver
-\item autotools / autotools-brokensep
-\item bin\_package
+\item autotools
 \item cmake
 \item cpan
 \item distutils / setuptools
@@ -525,8 +522,6 @@ an append file must be named after the base package:
 \begin{verbatim}
 <base-pn>_<base-pv>.bbappend
 \end{verbatim}
-\pause
-<base-pv> can be replaced by \% to match all versions.
 \end{frame}
 
 \subsection{Classes}
@@ -535,7 +530,7 @@ an append file must be named after the base package:
 \begin{itemize}
 	\item python can be used to write functions
 \pause
-	\item there should be no need to write a own class
+	\item e.g. write your own image generation class
 \end{itemize}
 \end{frame}
 
@@ -823,7 +818,7 @@ that is used by the Board .conf file
 \item [IMAGE\_FSTYPES] formats for the rootfs, e.g. "ext3 tar.bz2"
 \pause
 \item [IMAGE\_CLASSES] list of classes that all images should inherit, default
-		is image\_types
+		is image\_types, e.g. to hook in own image generation code
 \end{description}
 \end{frame}
 
@@ -1126,6 +1121,18 @@ is used to stop toaster (only one toaster per pc possible)
 only actions between toaster start and stop are recorded
 \end{frame}
 
+\begin{frame}
+	\includegraphics[height=\textheight]{images/yocto-toaster1}
+\end{frame}
+
+\begin{frame}
+	\includegraphics[height=\textheight]{images/yocto-toaster2}
+\end{frame}
+
+\begin{frame}
+	\includegraphics[height=\textheight]{images/yocto-toaster3}
+\end{frame}
+
 \begin{frame}[fragile]
 \frametitle{cleanup}
 \begin{verbatim}
@@ -1259,7 +1266,7 @@ poky/build % bitbake meta-ide-support
 \begin{frame}[fragile]
 \frametitle{export a nfsroot}
 \begin{verbatim}
-%runqemu-extract-sdk \
+poky/build % runqemu-extract-sdk \
 tmp/deploy/images/qemux86/core-image-minimal-qemux86.tar.bz2 \
 ~/sdk/core-image-minimal
 \end{verbatim}
diff --git a/distribution/yocto-intro/pres_yocto-intro.tex b/distribution/yocto-intro/pres_yocto-intro.tex
index c3eaae8..ded1291 100644
--- a/distribution/yocto-intro/pres_yocto-intro.tex
+++ b/distribution/yocto-intro/pres_yocto-intro.tex
@@ -22,8 +22,8 @@
 	\pause
 	\item Advanced
 	\begin{itemize}
-		\item Using BSP layers (beaglebone-black)
-		\item Build a predefined image (beaglebone-black)
+		\item Using BSP layers
+		\item Build a predefined image
 		\item Define a distribution
 		\item Create layers \& recipes
 		\item Create images
diff --git a/images/yocto-toaster1.png b/images/yocto-toaster1.png
new file mode 100644
index 0000000..de836c4
Binary files /dev/null and b/images/yocto-toaster1.png differ
diff --git a/images/yocto-toaster2.png b/images/yocto-toaster2.png
new file mode 100644
index 0000000..19b9aae
Binary files /dev/null and b/images/yocto-toaster2.png differ
diff --git a/images/yocto-toaster3.png b/images/yocto-toaster3.png
new file mode 100644
index 0000000..38705d6
Binary files /dev/null and b/images/yocto-toaster3.png differ
-- 
cgit v1.2.3


From 1e06c4c5f5c58becc2cc06a2972bcd84568107a5 Mon Sep 17 00:00:00 2001
From: Manuel Traut <manut@linutronix.de>
Date: Tue, 12 Jan 2016 14:31:11 +0100
Subject: yocto-advanced: remove duplicated slides

Signed-off-by: Manuel Traut <manut@linutronix.de>
---
 .../yocto-advanced/pres_yocto-advanced.tex         | 51 +---------------------
 1 file changed, 1 insertion(+), 50 deletions(-)

(limited to 'distribution/yocto-advanced/pres_yocto-advanced.tex')

diff --git a/distribution/yocto-advanced/pres_yocto-advanced.tex b/distribution/yocto-advanced/pres_yocto-advanced.tex
index 5d306f1..e111aa8 100644
--- a/distribution/yocto-advanced/pres_yocto-advanced.tex
+++ b/distribution/yocto-advanced/pres_yocto-advanced.tex
@@ -720,56 +720,6 @@ UBOOT_LOADADDRESS = "0x80008000"
 \end{verbatim}
 \end{frame}
 
-\begin{frame}[fragile]
-\frametitle{user and group configuration}
-use this in an image recipe:
-\begin{verbatim}
-inherit extrausers
-EXTRA_USERS_PARAMS = "\
-    useradd -p '' tester; \
-    groupadd developers; \
-    userdel nobody; \
-    groupdel -g video; \
-    groupmod -g 1020 developers; \
-    usermod -s /bin/sh tester; \
-    "
-\end{verbatim}
-or the useradd class, for an example see useradd-example.bb
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{external sources}
-e.g. for a heavily customized kernel
-\begin{itemize}
-\item kernel source directory on the development machine
-\pause
-\item inherit externalsrc class
-\pause
-\item set EXTERNALSRC variable to point to your external source code
-\end{itemize}
-
-this local.conf extension:
-\begin{verbatim}
-INHERIT += "externalsrc"
-EXTERNALSRC_pn-myrecipe = "/some/path/to/your/source/tree"
-\end{verbatim}
-overrides the SOURCE\_URI of pn-myrecipe.bb
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{blacklist packages}
-To blacklist a package, inherit the blacklist.bbclass globally and set
-PNBLACKLIST for each recipe you wish to blacklist.
-
-
-Specify the PN value as a variable flag (varflag) and provide a reason,
-which is reported, if the package is requested to be built as the value:
-\begin{verbatim}
-INHERIT += "blacklist"
-PNBLACKLIST[exoticware] = "Not supported by our organization."
-\end{verbatim}
-\end{frame}
-
 \subsection{Writing recipes}
 \begin{frame}[fragile]
 \frametitle{adding a kernel}
@@ -1182,6 +1132,7 @@ which is reported, if the package is requested to be built as the value:
 INHERIT += "blacklist"
 PNBLACKLIST[exoticware] = "Not supported by our organization."
 \end{verbatim}
+\end{frame}
 
 \subsection{Resume}
 \begin{frame}
-- 
cgit v1.2.3


From 6a9ecaaa0057af202394d68fd844751086c7f92a Mon Sep 17 00:00:00 2001
From: Manuel Traut <manut@linutronix.de>
Date: Fri, 22 Jan 2016 16:19:44 +0100
Subject: rework yocto advanced slides

- improve ordering
- add examples

Signed-off-by: Manuel Traut <manut@linutronix.de>
---
 .../yocto-advanced/pres_yocto-advanced.tex         | 728 +++++++++------------
 1 file changed, 320 insertions(+), 408 deletions(-)

(limited to 'distribution/yocto-advanced/pres_yocto-advanced.tex')

diff --git a/distribution/yocto-advanced/pres_yocto-advanced.tex b/distribution/yocto-advanced/pres_yocto-advanced.tex
index e111aa8..1a2b644 100644
--- a/distribution/yocto-advanced/pres_yocto-advanced.tex
+++ b/distribution/yocto-advanced/pres_yocto-advanced.tex
@@ -6,12 +6,11 @@
 \begin{frame}
 \frametitle{Agenda}
 \begin{itemize}
-\item Using BSP layers
-\item Build a predefined image
-\item Creating a layer
-\item Define a distribution
-\item Create an image
-\item Writing recipes
+		\item Using BSP layers
+		\item Create layers \& recipes for own applications
+		\item Define a distribution
+		\item Create a customized image class
+		\item Build images
 \end{itemize}
 \end{frame}
 
@@ -42,24 +41,18 @@ meta-mylayer
 	\begin{itemize}
 		\item add conf and class directories to BBPATH
 			\begin{verbatim}BBPATH =. "${LAYERDIR}"\end{verbatim}
-		\pause
 		\item add recipe directories to BBFILES
 			\begin{verbatim}BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
 			${LAYERDIR}/recipes-*/*/*.bbappend"\end{verbatim}
-		\pause
 		\item add layer name to BBFILE\_COLLECTIONS
 			\begin{verbatim}BBFILE_COLLECTIONS += "mylayer"\end{verbatim}
-		\pause
 		\item set root of the layer
 			\begin{verbatim}BBFILE_PATTERN_mylayer = "^${LAYERDIR}/"\end{verbatim}
-		\pause
 		\item set default priority of the layer
 			\begin{verbatim}BBFILE_PRIORITY_mylayer = "5"\end{verbatim}
-		\pause
 		\item set version of layer (only increment if dependencies with other
 			layers are affected)
 			\begin{verbatim}LAYERVERSION_mylayer = "2"\end{verbatim}
-		\pause
 		\item set dependencies to other layers
 			\begin{verbatim}LAYERDEPENDS_mylayer = "meta-yocto"\end{verbatim}
 	\end{itemize}
@@ -70,17 +63,12 @@ meta-mylayer
 is useful to debug relations between different layers, options are:
 \begin{description}
 \item [show-layers] shows the current configured layers
-		\pause
 \item [show-recipes] lists available recipes and the layers that provide them.
-		\pause
 \item [show-overlayed] lists overlayed recipes
-		\pause
 \item [show-appends] lists .bbappend files
 	and the recipe files to which they apply
-		\pause
 \item [show-cross-depends] lists dependency relationships
 	between recipes that cross layer boundaries
-		\pause
 \item [flatten] flattens the layer configuration
 	into a separate output directory.
 \end{description}
@@ -91,7 +79,6 @@ is useful to debug relations between different layers, options are:
 \begin{itemize}
 	\item It is possible for a recipe with a lower version number PV in a layer
 that has a higher priority to take precedence.
-		\pause
 	\item Also, the layer priority does not currently affect the precedence
 order of .conf or .bbclass files. Future versions of BitBake might address this.
 \end{itemize}
@@ -102,27 +89,22 @@ order of .conf or .bbclass files. Future versions of BitBake might address this.
 retrive the layer from your BSP/SoC vendor
 \begin{verbatim}
 poky % git clone git://git.yoctoproject.org/meta-ti
-poky % git branch -r
-poky % git checkout <RELEASE>
+poky % cd meta-ti
+poky/meta-ti % git branch -r
+poky/meta-ti % git checkout -t origin/fido -b fido
+poky/meta-ti % cd ..
+poky % git checkout -t origin/fido -b fido
 \end{verbatim}
-		\pause
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{layer dependencies}
 have a look at it's dependencies
 \begin{verbatim}
 poky % cat meta-ti/conf/layer.conf | grep LAYERDEPENDS
-LAYERDEPENDS_ti = "core"
-\end{verbatim}
-		\pause
-and retrieve them also
-\begin{verbatim}
-poky % git clone -b daisy git://git.yoctoproject.org/meta-fsl-arm
-\end{verbatim}
-		\pause
-check dependencies again
-\begin{verbatim}
-poky % git clone /home/devel/yocto/meta-mini
 \end{verbatim}
-		\pause
-\dots no more dependencies?! \dots OK - finished.
+no dependencies, so we are safe to continue, otherwise
+retrive more layers.
 \end{frame}
 
 \begin{frame}[fragile]
@@ -133,13 +115,13 @@ poky/build-ti %
 \end{verbatim}
 \end{frame}
 
-\subsection{Build a predefined image}
+\subsection{configure build environment}
 \begin{frame}
 \frametitle{overview}
 builds are configured using two configuration files
 \begin{itemize}
-	\item build-ti/conf/bblayers.conf
-	\item build-ti/conf/local.conf
+	\item /home/devel/poky/build-ti/conf/bblayers.conf
+	\item /home/devel/poky/build-ti/conf/local.conf
 \end{itemize}
 \end{frame}
 
@@ -165,7 +147,7 @@ meta-yocto-bsp        /home/devel/poky/meta-yocto-bsp       5
 \end{frame}
 
 \begin{frame}[fragile]
-\frametitle{add ti layers}
+\frametitle{add ti and meta-mini layers}
 modify the BBLAYERS variable in bblayers.conf
 \begin{verbatim}
 BBLAYERS ?= " \
@@ -183,7 +165,7 @@ layer                 path                                  priority
 meta                  /home/devel/poky/meta                 5
 meta-yocto            /home/devel/poky/meta-yocto           5
 meta-yocto-bsp        /home/devel/poky/meta-yocto-bsp       5
-meta-ti               /home/devel/poky/meta-ti              5
+meta-ti               /home/devel/poky/meta-ti              6
 \end{verbatim}
 \end{frame}
 
@@ -195,97 +177,30 @@ poky/build-ti % bitbake-layers show-overlayed
 Parsing recipes..done.
 === Overlayed recipes ===
 directfb:
-  meta                 1.7.1
   meta-ti              1.6.3
+  meta                 1.7.1
 directfb-examples:
-  meta                 1.7.0
   meta-ti              1.6.0
+  meta                 1.7.0
 xserver-xorg:
-  meta                 2:1.15.0
   meta-ti              2:1.14.4
+  meta                 2:1.15.0
 \end{verbatim}
 \end{frame}
 
-\begin{frame}
-\frametitle{local.conf}
-is used to configure
-\begin{itemize}
-	\item the target machine
-		\pause
-	\item paths
-		\pause
-	\item the used distribution
-		\pause
-	\item package formats
-		\pause
-	\item arch of developer machine
-		\pause
-	\item additional image features
-		\pause
-	\item use additional classes
-		\pause
-	\item enable testing
-		\pause
-	\item devshell terminal
-		\pause
-	\item patch resolver
-		\pause
-	\item disk monitoring
-		\pause
-	\item sstate mirrors
-		\pause
-	\item qemu configuration
-		\pause
-	\item incompatible licenses, e.g. INCOMPATIBLE\_LICENSE = “GPLv3”
-\end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{configure the machine}
-to get a list of currently available machines configs:
-\begin{verbatim}
-poky/build-ti % grep -r '@NAME' ../meta*/conf/machine
-\end{verbatim}
-beaglebone.conf - seems to be the one for our bord, so set
-imx6qsabrelite.conf - seems to be the one for our bord, so set
-\begin{verbatim}
-MACHINE ??= "beaglebone"
-\end{verbatim}
-in conf/local.conf
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{package format}
-as we realized with toaster, rpm packaging consumes a lot of CPU time, so lets
-try ipk, by setting
-\begin{verbatim}
-PACKAGE_CLASSES ?= "package_ipk"
-\end{verbatim}
-in conf/local.conf
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{set extra image features}
-we want an image suitable for development, so set
-\begin{verbatim}
-EXTRA_IMAGE_FEATURES = "debug-tweaks tools-debug \
-  eclipse-debug tools-profile"
-\end{verbatim}
-in conf/local.conf
-\end{frame}
-
 \begin{frame}[fragile]
-\frametitle{build an predefined image}
+\frametitle{EXCURSUS: build an imx.6 image \#1}
 use
 \begin{verbatim}
 ls ../*/*/images/
 \end{verbatim}
-to get a list of predefined images; however none of them fits my needs\dots
+to get a list of predefined images; image, you want to build an imx6 image, so
+none of them fits your needs\dots
 		\pause
 \begin{verbatim}
 poky/build-fsl % cd ..
-poky % git clone -b daisy https://github.com/Freescale/meta-fsl-demos.git
-poky % git clone -b daisy git://git.openembedded.org/meta-openembedded
+poky % git clone -b fido https://github.com/Freescale/meta-fsl-demos.git
+poky % git clone -b fido git://git.openembedded.org/meta-openembedded
 poky % cd -
 \end{verbatim}
 		\pause
@@ -304,16 +219,16 @@ BBLAYERS ?= " \
 \end{frame}
 
 \begin{frame}[fragile]
-\frametitle{build a qt demo image}
+\frametitle{EXCURSUS: build an imx.6 image \#2}
+build a qt demo image
 \begin{verbatim}
-poky/build-ti % source toaster start
-poky/build-ti % bitbake qt4e-demo-image
+poky/build-imx6 % bitbake qt4e-demo-image
 Currently 4 running tasks (26 of 4459):
 \end{verbatim}
 \end{frame}
 
 \begin{frame}[fragile]
-\frametitle{build a ti demo image}
+\frametitle{EXCURSUS: build an imx.6 image \#3}
 \dots back from coffee break
 \begin{verbatim}
 ERROR: No new tasks can be executed since
@@ -322,18 +237,18 @@ ERROR: No new tasks can be executed since
 what happened??
 		\pause
 \begin{verbatim}
-poky/build-ti % df -h
+poky/build-imx6 % df -h
 Filesystem      Size  Used Avail Use% Mounted on
 /dev/sda4       367G  348G  850M 100% /
-poky/build-ti % du -sm .
+poky/build-imx6 % du -sm .
 31026   .
-poky/build-ti % du -sm ../build
+poky/build-imx6 % du -sm ../build
 29172   ../build/
 \end{verbatim}
 		\pause
 \dots so the solution is to cleanup the disk and run
 \begin{verbatim}
-poky/build-ti % bitbake qt4e-demo-image
+poky/build-imx6 % bitbake qt4e-demo-image
 \end{verbatim}
 again.
 
@@ -341,7 +256,8 @@ A different behaviour can be configured in 'conf/local.conf'.
 \end{frame}
 
 \begin{frame}[fragile]
-\frametitle{example of an issue with a sabrelite board}
+\frametitle{EXCURSUS: build an imx.6 image \#4}
+example of an issue with a sabrelite board
 \begin{verbatim}
 ERROR: To use 'gpu-viv-bin-mx6q'
   you need to accept the Freescale EULA
@@ -373,8 +289,7 @@ again.
 \end{frame}
 
 \begin{frame}[fragile]
-\frametitle{flashing the image}
-if the build is completed the image can be transfered to a sdcard:
+\frametitle{EXCURSUS: flash the official beaglebone image \#1}
 \begin{verbatim}
 poky/build-ti % sudo fdisk /dev/mmcblk0
 # create a
@@ -387,7 +302,7 @@ poky/build-ti % sudo fdisk /dev/mmcblk0
 \end{frame}
 
 \begin{frame}[fragile]
-\frametitle{flashing the image \#2}
+\frametitle{EXCURSUS: flash the official beaglebone image \#2}
 \begin{verbatim}
 poky/build-ti % sudo mkfs.vfat -F 16 -n boot /dev/mmcblk0p1
 poky/build-ti % sudo mke2fs -j -L "root" /dev/mmcblk0p2
@@ -405,294 +320,38 @@ poky/build-ti % sudo umount /mnt
 \end{verbatim}
 \end{frame}
 
-\subsection{Creating a layer}
-\begin{frame}[fragile]
-\frametitle{with yocto helper script}
-\begin{verbatim}
-poky/build-ti % cd ..
-poky % yocto-layer create mini
-Please enter the layer priority you'd like to use for the layer:
-[default: 6] <return>
-Would you like to have an example recipe created? (y/n)
-[default: n] <return>
-Would you like to have an example bbappend file created? (y/n)
-[default: n] <return>
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{manage the layer with git}
-\begin{verbatim}
-poky % cd meta-mini
-poky/meta-mini % git init .
-poky/meta-mini % git add *
-poky/meta-mini % git commit -sam 'inital version'
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\begin{verbatim}
-poky/meta-mini % cd ../build-ti
-\end{verbatim}
-edit 'conf/bblayers.conf':
-\begin{verbatim}
-BBLAYERS ?= " \
-  /home/devel/poky/meta \
-  /home/devel/poky/meta-yocto \
-  /home/devel/poky/meta-yocto-bsp \
-  /home/devel/poky/meta-ti \
-  /home/devel/poky/meta-mini \
-  "
-\end{verbatim}
-\end{frame}
-
-\subsection{Define a distribution}
-\begin{frame}
-\frametitle{why define a distribution?}
-\begin{itemize}
-\item naming of the toolchain (codenames, vendor)
-		\pause
-\item version numbers
-		\pause
-\item enable default features
-\end{itemize}
-\end{frame}
-
-\begin{frame}
-\frametitle{distro features: file-systems}
-\begin{description}
-\item[cramfs] CramFS support
-		\pause
-\item[ext2] tools for supporting for devices with internal HDD/Microdrive
-	for storing files (instead of Flash only devices)
-		\pause
-\item[nfs] NFS client support (for mounting NFS exports on device)
-		\pause
-\item[smbfs] SMB networks client support
-	(for mounting Samba/Microsoft Windows shares on device)
-\end{description}
-\end{frame}
-
-\begin{frame}
-\frametitle{distro features: hardware support}
-\begin{description}
-\item[alsa] ALSA/sound support
-	(OSS compatibility kernel modules installed if available)
-		\pause
-\item[bluetooth] bluetooth support (integrated BT only)
-		\pause
-\item[irda] IrDA support
-		\pause
-\item[wifi] WiFi support (integrated only).
-		\pause
-\item[keyboard] keyboard support (e.g. keymaps will be loaded during boot)
-\end{description}
-\end{frame}
-
-\begin{frame}
-\frametitle{distro features: grahpics}
-\begin{description}
-\item[opengl] the Open Graphics Library, which is a cross-language,
-	multi-platform application programming interface used for rendering two
-	and three-dimensional graphics
-		\pause
-\item[directfb] DirectFB support
-\end{description}
-\end{frame}
-
-\begin{frame}
-\frametitle{distro features: networking}
-\begin{description}
-\item[ipsec] IPSec support
-		\pause
-\item[ipv6] IPv6 support
-		\pause
-\item[ppp] PPP dialup support
-\end{description}
-\end{frame}
-
-\begin{frame}
-\frametitle{distro features: bus support}
-\begin{description}
-\item[pci] PCI bus support
-		\pause
-\item[pcmcia] PCMCIA/CompactFlash support
-		\pause
-\item[usbgadget] USB Gadget Device support (for USB networking/serial/storage)
-		\pause
-\item[usbhost] USB Host support
-	(allows to connect external keyboard, mouse, storage, network etc)
-\end{description}
-\end{frame}
-
-\begin{frame}
-\frametitle{distro features: software}
-\begin{description}
-\item[systemd] support for this init manager, which is a full replacement of
-	for init with parallel starting of services, reduced shell overhead,
-	and other features. This init manager is used by many distributions
-		\pause
-\item[wayland] the Wayland display server protocol
-	and the library that supports it
-		\pause
-\item[x11] X server and libraries
-\end{description}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{use a DISTRO\_FEATURE}
-Normally the distro features are used in package groups in a core layer.
-e.g. 'meta/recipes-core/packagegroups/packagegroup-base.bb':
-\begin{verbatim}
-PACKAGES = ' \
-	..
-	${@base_contains("DISTRO_FEATURES", \
-	                 "opengl", "packagegroup-opengl", "", d)} \
-	..
-	'
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{exkurs: package groups}
-are recipes that are used to group packages together:
-\begin{verbatim}
-DESCRIPTION = “My Package Group”
-LICENSE = “MIT”
-LIC_FILES_CHECKSUM = “file://<licfile>;md5=<chksum>
-inherit packagegroup
-PROVIDES = “${PACKAGES}”
-PACKAGES = “packagegroup-mypkg-apps packagegroup-mypkg-tools”
-RDEPENDS_packagegroup-mypkg-apps = “sqlite3 python-core python-sqlite3”
-RDEPENDS_pacakgegroup-mypkg-tools = “sudo gzip tar”
-\end{verbatim}
-it can be used, to simplify image definitions
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{minimal distribution}
-distros are defined in a layer, e.g.
-
-meta-linutronix/conf/distro/mini.conf:
-\begin{verbatim}
-meta-mini/conf/distro/mini.conf:
-DISTRO = "mini"
-DISTRO_NAME = "mini 1.0 (for foo devices)"
-DISTRO_VERSION = "1.0"
-DISTRO_CODENAME = "mal"
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\begin{verbatim}
-SDK_VENDOR = "-linutronix"
-SDK_VERSION := "${@'${DISTRO_VERSION}'}"
-SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
-SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\begin{verbatim}
-MAINTAINER = "Manuel Traut <manut@linutronix.de>"
-TARGET_VENDOR = "-linutronix"
-LOCALCONF_VERSION = "1"
-LAYER_CONF_VERSION ?= "6"
-DISTRO_FEATURES ?= "opengl ${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"
-DISTRO_FEATURES_append = " systemd"
-TCLIBCAPPEND = ""
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\begin{verbatim}
-CONNECTIVITY_CHECK_URIS ?= " \
-             https://eula-downloads.yoctoproject.org/index.php \
-             http://bugzilla.yoctoproject.org/report.cgi"
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\begin{verbatim}
-SANITY_TESTED_DISTROS ?= " \
-            Ubuntu-14.04 \n \
-            Debian-7.0 \n \
-            Debian-7.1 \n \
-            Debian-7.2 \n \
-            Debian-7.3 \n \
-            Debian-7.4 \n \
-            "
-
-BB_SIGNATURE_HANDLER ?= 'OEBasicHash'
-OELAYOUT_ABI = "8"
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{add distro to git repo}
-\begin{verbatim}
-poky/meta-mini % git add conf/distro/mini.conf
-poky/meta-mini % git commit -sam 'add mini distro'
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{use mini distro}
-edit DISTRO var in conf/local.conf
-\begin{verbatim}
-DISTRO ?= "mini"
-\end{verbatim}
-\end{frame}
-
-\subsection{Creating images}
-\begin{frame}[fragile]
-\frametitle{based on core-image class}
-build image with ssh support
-\begin{verbatim}
-poky/build-ti % bitbake-layers show-recipes | grep ssh
-Parsing recipes..done.
-libssh:
-openssh:
-packagegroup-core-ssh-dropbear:
-packagegroup-core-ssh-openssh:
-\end{verbatim}
-\pause
-create the file
-'meta-mini/recipes-bsp/mini-image/mini-image.bb'
-\begin{verbatim}
-IMAGE_INSTALL += "openssh"
-inherit core-image
-\end{verbatim}
-\pause
-to build the image, use:
+\subsection{Creating a layer}
+\begin{frame}[fragile]
+\frametitle{with yocto helper script}
 \begin{verbatim}
-poky/build-ti % bitbake mini-image
+poky/build-ti % cd ..
+poky % yocto-layer create mini
+Please enter the layer priority you'd like to use for the layer:
+[default: 6] <return>
+Would you like to have an example recipe created? (y/n)
+[default: n] <return>
+Would you like to have an example bbappend file created? (y/n)
+[default: n] <return>
 \end{verbatim}
 \end{frame}
 
 \begin{frame}[fragile]
-\frametitle{first errors and warnings}
+\frametitle{manage the layer with git}
 \begin{verbatim}
-recommended that you use a tested distribution.
-ERROR:  OE-core's config sanity checker detected a potential
-        misconfiguration. Either fix the cause of this error or
-        at your own risk disable the checker see sanity.conf).
-Following is the list of potential problems / advisories:
-
-libsdl-native is set to be ASSUME_PROVIDED but sdl-config can't be
-found in PATH. Please either install it, or configure qemu not to
-require sdl.
-ERROR: Execution of event handler 'check_sanity_eventhandler' failed
-ERROR: Command execution failed: Exited with 1
+poky % cd meta-mini
+poky/meta-mini % git init .
+poky/meta-mini % git add *
+poky/meta-mini % git commit -sam 'inital version'
 \end{verbatim}
 \end{frame}
-\begin{frame}[fragile]
 
-	\frametitle{disable sdl support in qemu}
-edit conf/local.conf:
+\begin{frame}[fragile]
+\frametitle{machine configs}
+to get a list of currently available machine configs:
 \begin{verbatim}
-# PACKAGECONFIG_pn-qemu-native = "sdl"
-# PACKAGECONFIG_pn-nativesdk-qemu = "sdl"
-# ASSUME_PROVIDED += "libsdl-native"
+poky/build-ti % grep -r '@NAME' ../meta*/conf/machine
 \end{verbatim}
+if no machine fits your needs, define your own!
 \end{frame}
 
 \subsection{Machines}
@@ -955,13 +614,258 @@ IMAGE_FSTYPES += "sdcard"
 \end{verbatim}
 \end{frame}
 
+\subsection{Define a distribution}
+\begin{frame}
+\frametitle{why define a distribution?}
+\begin{itemize}
+\item naming of the toolchain (codenames, vendor)
+		\pause
+\item version numbers
+		\pause
+\item enable default features
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{distro features: file-systems}
+\begin{description}
+\item[cramfs] CramFS support
+\item[ext2] tools for supporting for devices with internal HDD/Microdrive
+	for storing files (instead of Flash only devices)
+\item[nfs] NFS client support (for mounting NFS exports on device)
+\item[smbfs] SMB networks client support
+	(for mounting Samba/Microsoft Windows shares on device)
+\end{description}
+\end{frame}
+
+\begin{frame}
+\frametitle{distro features: hardware support}
+\begin{description}
+\item[alsa] ALSA/sound support
+	(OSS compatibility kernel modules installed if available)
+\item[bluetooth] bluetooth support (integrated BT only)
+\item[irda] IrDA support
+		\pause
+\item[wifi] WiFi support (integrated only).
+\item[keyboard] keyboard support (e.g. keymaps will be loaded during boot)
+\end{description}
+\end{frame}
+
+\begin{frame}
+\frametitle{distro features: grahpics}
+\begin{description}
+\item[opengl] the Open Graphics Library, which is a cross-language,
+	multi-platform application programming interface used for rendering two
+	and three-dimensional graphics
+\item[directfb] DirectFB support
+\end{description}
+\end{frame}
+
+\begin{frame}
+\frametitle{distro features: networking}
+\begin{description}
+\item[ipsec] IPSec support
+\item[ipv6] IPv6 support
+\item[ppp] PPP dialup support
+\end{description}
+\end{frame}
+
+\begin{frame}
+\frametitle{distro features: bus support}
+\begin{description}
+\item[pci] PCI bus support
+\item[pcmcia] PCMCIA/CompactFlash support
+\item[usbgadget] USB Gadget Device support (for USB networking/serial/storage)
+\item[usbhost] USB Host support
+	(allows to connect external keyboard, mouse, storage, network etc)
+\end{description}
+\end{frame}
+
+\begin{frame}
+\frametitle{distro features: software}
+\begin{description}
+\item[systemd] support for this init manager, which is a full replacement of
+	for init with parallel starting of services, reduced shell overhead,
+	and other features. This init manager is used by many distributions
+\item[wayland] the Wayland display server protocol
+	and the library that supports it
+\item[x11] X server and libraries
+\end{description}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{use a DISTRO\_FEATURE}
+Normally the distro features are used in package groups in a core layer.
+e.g. 'meta/recipes-core/packagegroups/packagegroup-base.bb':
+\begin{verbatim}
+PACKAGES = ' \
+	..
+	${@base_contains("DISTRO_FEATURES", \
+	                 "opengl", "packagegroup-opengl", "", d)} \
+	..
+	'
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{EXCURSUS: package groups}
+are recipes that are used to group packages together:
+\begin{verbatim}
+DESCRIPTION = “My Package Group”
+LICENSE = “MIT”
+LIC_FILES_CHECKSUM = “file://<licfile>;md5=<chksum>
+inherit packagegroup
+PROVIDES = “${PACKAGES}”
+PACKAGES = “packagegroup-mypkg-apps packagegroup-mypkg-tools”
+RDEPENDS_packagegroup-mypkg-apps = “sqlite3 python-core python-sqlite3”
+RDEPENDS_pacakgegroup-mypkg-tools = “sudo gzip tar”
+\end{verbatim}
+it can be used, to simplify image definitions
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{minimal distribution}
+distros are defined in a layer, e.g.
+
+meta-linutronix/conf/distro/mini.conf:
+\begin{verbatim}
+meta-mini/conf/distro/mini.conf:
+DISTRO = "mini"
+DISTRO_NAME = "mini 1.0 (for foo devices)"
+DISTRO_VERSION = "1.0"
+DISTRO_CODENAME = "mal"
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\begin{verbatim}
+SDK_VENDOR = "-linutronix"
+SDK_VERSION := "${@'${DISTRO_VERSION}'}"
+SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
+SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\begin{verbatim}
+MAINTAINER = "Manuel Traut <manut@linutronix.de>"
+TARGET_VENDOR = "-linutronix"
+LOCALCONF_VERSION = "1"
+LAYER_CONF_VERSION ?= "6"
+DISTRO_FEATURES ?= "opengl ${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"
+DISTRO_FEATURES_append = " systemd"
+TCLIBCAPPEND = ""
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\begin{verbatim}
+CONNECTIVITY_CHECK_URIS ?= " \
+             https://eula-downloads.yoctoproject.org/index.php \
+             http://bugzilla.yoctoproject.org/report.cgi"
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\begin{verbatim}
+SANITY_TESTED_DISTROS ?= " \
+            Ubuntu-14.04 \n \
+            Debian-7.0 \n \
+            Debian-7.1 \n \
+            Debian-7.2 \n \
+            Debian-7.3 \n \
+            Debian-7.4 \n \
+            "
+
+BB_SIGNATURE_HANDLER ?= 'OEBasicHash'
+OELAYOUT_ABI = "8"
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{add distro to git repo}
+\begin{verbatim}
+poky/meta-mini % git add conf/distro/mini.conf
+poky/meta-mini % git commit -sam 'add mini distro'
+\end{verbatim}
+\end{frame}
+
+\subsection{Creating images}
+\begin{frame}[fragile]
+\frametitle{based on core-image class}
+build image with ssh support
+\begin{verbatim}
+poky/build-ti % bitbake-layers show-recipes | grep ssh
+Parsing recipes..done.
+libssh:
+openssh:
+packagegroup-core-ssh-dropbear:
+packagegroup-core-ssh-openssh:
+\end{verbatim}
+\pause
+create the file
+'meta-mini/recipes-bsp/mini-image/mini-image.bb'
+\begin{verbatim}
+IMAGE_INSTALL += "openssh"
+inherit core-image
+\end{verbatim}
+\end{frame}
+
+
+\begin{frame}
+\frametitle{build configuration}
+local.conf is used to configure
+\begin{itemize}
+	\item the target machine
+	\item paths
+	\item the used distribution
+	\item package formats
+	\item arch of developer machine
+	\item additional image features
+	\item use additional classes
+	\item enable testing
+	\item devshell terminal
+	\item patch resolver
+	\item disk monitoring
+	\item sstate mirrors
+	\item qemu configuration
+	\item incompatible licenses, e.g. INCOMPATIBLE\_LICENSE = “GPLv3”
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{override default config files}
+default templates can be overridden by setting TEMPLATECONF
+to e.g. meta-mini/conf during ./oe-init-buildenv.
+
+Then meta-mini/conf bblayers.conf.sample and local.conf.sample will
+be used.
+
+The default location is specified in
+
+\begin{verbatim}
+% cat .templateconf
+# Template settings
+TEMPLATECONF=${TEMPLATECONF:-meta-yocto/conf}
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+	\frametitle{Excercise}
+	1) Add sample configs to the meta-mini layer providing a valid
+	layer configuration and a build configuration that creates a
+	debug RFS for our self defined machine, by using our distribution.
+	The configus should Use packages in deb format and the shared
+	download directory from the poky directory.
+
+
+	2) create a new build directory, e.g. build-bbb and build our self
+	defined image.
+\end{frame}
+
 \begin{frame}
 \frametitle{adding an own application}
 \begin{itemize}
 	\item recipe already available? check http://layers.openembedded.org
-\pause
 	\item look for a similar recipe
-\pause
 	\item proper bbclass available?
 \end{itemize}
 on the next slides, we have a look what is useful for very simple applications,
@@ -1134,15 +1038,23 @@ PNBLACKLIST[exoticware] = "Not supported by our organization."
 \end{verbatim}
 \end{frame}
 
+\begin{frame}
+	\frametitle{Application Development Excercise}
+\begin{itemize}
+\item generate a standalone or integrated SDK
+\item configure the SDK in eclipse
+\item build and remote debug yesterdays application on the beaglebone-black
+\item integrate the application into the image
+\item build the image including your application
+\end{itemize}
+\end{frame}
+
 \subsection{Resume}
 \begin{frame}
 	\begin{itemize}
 		\item Yocto is a huge collection of tools
-		\pause
 		\item Bitbake can be used to create Images
-		\pause
 		\item The quality of the Images depend on the maintainance of the Layers
-		\pause
 		\item Only build your own distribution if you really need to!
 	\end{itemize}
 \end{frame}
-- 
cgit v1.2.3


From e11da41853ddb36745c68adaab352fbe00bebc16 Mon Sep 17 00:00:00 2001
From: Manuel Traut <manut@linutronix.de>
Date: Wed, 18 May 2016 09:44:42 +0200
Subject: split yocto advanced training

use several tex files and include them in the presentation

Signed-off-by: Manuel Traut <manut@linutronix.de>
---
 .../yocto-advanced/pres_yocto-advanced.tex         | 1062 +-------------------
 .../yocto-advanced/yocto-add-autools-based-src.tex |   19 +
 .../yocto-advanced/yocto-add-own-kernel.tex        |   74 ++
 .../yocto-advanced/yocto-add-qt-cmake-projects.tex |   45 +
 .../yocto-add-simple-application.tex               |   47 +
 .../yocto-advanced/yocto-bbb-machine-conf.tex      |   31 +
 .../yocto-advanced/yocto-create-own-layer.tex      |   89 ++
 .../yocto-advanced/yocto-distro-definitions.tex    |   92 ++
 .../yocto-excercise-build-bbb-img.tex              |   12 +
 distribution/yocto-advanced/yocto-extend-image.tex |   20 +
 .../yocto-advanced/yocto-flash-official-bb-img.tex |   31 +
 .../yocto-advanced/yocto-img-customization.tex     |   74 ++
 distribution/yocto-advanced/yocto-layer-imx6.tex   |   99 ++
 distribution/yocto-advanced/yocto-layers.tex       |   69 ++
 distribution/yocto-advanced/yocto-local-conf.tex   |   37 +
 distribution/yocto-advanced/yocto-resume.tex       |   10 +
 .../yocto-advanced/yocto-sdcard-generation.tex     |  109 ++
 distribution/yocto-advanced/yocto-ti-layer.tex     |  103 ++
 .../yocto-advanced/yocto-u-boot-integration.tex    |   35 +
 19 files changed, 1014 insertions(+), 1044 deletions(-)
 create mode 100644 distribution/yocto-advanced/yocto-add-autools-based-src.tex
 create mode 100644 distribution/yocto-advanced/yocto-add-own-kernel.tex
 create mode 100644 distribution/yocto-advanced/yocto-add-qt-cmake-projects.tex
 create mode 100644 distribution/yocto-advanced/yocto-add-simple-application.tex
 create mode 100644 distribution/yocto-advanced/yocto-bbb-machine-conf.tex
 create mode 100644 distribution/yocto-advanced/yocto-create-own-layer.tex
 create mode 100644 distribution/yocto-advanced/yocto-distro-definitions.tex
 create mode 100644 distribution/yocto-advanced/yocto-excercise-build-bbb-img.tex
 create mode 100644 distribution/yocto-advanced/yocto-extend-image.tex
 create mode 100644 distribution/yocto-advanced/yocto-flash-official-bb-img.tex
 create mode 100644 distribution/yocto-advanced/yocto-img-customization.tex
 create mode 100644 distribution/yocto-advanced/yocto-layer-imx6.tex
 create mode 100644 distribution/yocto-advanced/yocto-layers.tex
 create mode 100644 distribution/yocto-advanced/yocto-local-conf.tex
 create mode 100644 distribution/yocto-advanced/yocto-resume.tex
 create mode 100644 distribution/yocto-advanced/yocto-sdcard-generation.tex
 create mode 100644 distribution/yocto-advanced/yocto-ti-layer.tex
 create mode 100644 distribution/yocto-advanced/yocto-u-boot-integration.tex

(limited to 'distribution/yocto-advanced/pres_yocto-advanced.tex')

diff --git a/distribution/yocto-advanced/pres_yocto-advanced.tex b/distribution/yocto-advanced/pres_yocto-advanced.tex
index 1a2b644..7e94bff 100644
--- a/distribution/yocto-advanced/pres_yocto-advanced.tex
+++ b/distribution/yocto-advanced/pres_yocto-advanced.tex
@@ -14,1049 +14,23 @@
 \end{itemize}
 \end{frame}
 
-\subsection{Using BSP layers}
-
-\begin{frame}[fragile]
-\frametitle{folder layout}
-\begin{verbatim}
-meta-mylayer
-+ conf
-|  + layer.conf
-+ classes
-|  + class1.bbclass
-|  + class2.bbclass
-+ recipes-category1
-|  + package-1
-|      + package-1.bb
-|  + package-2
-|      + package-2.bb
-+ recipes-category2
-| ..
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-	\frametitle{meta-*/conf/layer.conf}
-	each layer needs a configuration file
-	\begin{itemize}
-		\item add conf and class directories to BBPATH
-			\begin{verbatim}BBPATH =. "${LAYERDIR}"\end{verbatim}
-		\item add recipe directories to BBFILES
-			\begin{verbatim}BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
-			${LAYERDIR}/recipes-*/*/*.bbappend"\end{verbatim}
-		\item add layer name to BBFILE\_COLLECTIONS
-			\begin{verbatim}BBFILE_COLLECTIONS += "mylayer"\end{verbatim}
-		\item set root of the layer
-			\begin{verbatim}BBFILE_PATTERN_mylayer = "^${LAYERDIR}/"\end{verbatim}
-		\item set default priority of the layer
-			\begin{verbatim}BBFILE_PRIORITY_mylayer = "5"\end{verbatim}
-		\item set version of layer (only increment if dependencies with other
-			layers are affected)
-			\begin{verbatim}LAYERVERSION_mylayer = "2"\end{verbatim}
-		\item set dependencies to other layers
-			\begin{verbatim}LAYERDEPENDS_mylayer = "meta-yocto"\end{verbatim}
-	\end{itemize}
-\end{frame}
-
-\begin{frame}
-\frametitle{bitbake-layers}
-is useful to debug relations between different layers, options are:
-\begin{description}
-\item [show-layers] shows the current configured layers
-\item [show-recipes] lists available recipes and the layers that provide them.
-\item [show-overlayed] lists overlayed recipes
-\item [show-appends] lists .bbappend files
-	and the recipe files to which they apply
-\item [show-cross-depends] lists dependency relationships
-	between recipes that cross layer boundaries
-\item [flatten] flattens the layer configuration
-	into a separate output directory.
-\end{description}
-\end{frame}
-
-\begin{frame}
-\frametitle{definitions}
-\begin{itemize}
-	\item It is possible for a recipe with a lower version number PV in a layer
-that has a higher priority to take precedence.
-	\item Also, the layer priority does not currently affect the precedence
-order of .conf or .bbclass files. Future versions of BitBake might address this.
-\end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{get an existing layer}
-retrive the layer from your BSP/SoC vendor
-\begin{verbatim}
-poky % git clone git://git.yoctoproject.org/meta-ti
-poky % cd meta-ti
-poky/meta-ti % git branch -r
-poky/meta-ti % git checkout -t origin/fido -b fido
-poky/meta-ti % cd ..
-poky % git checkout -t origin/fido -b fido
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{layer dependencies}
-have a look at it's dependencies
-\begin{verbatim}
-poky % cat meta-ti/conf/layer.conf | grep LAYERDEPENDS
-\end{verbatim}
-no dependencies, so we are safe to continue, otherwise
-retrive more layers.
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{generate a new build environment}
-\begin{verbatim}
-poky % . oe-init-build-env build-ti
-poky/build-ti %
-\end{verbatim}
-\end{frame}
-
-\subsection{configure build environment}
-\begin{frame}
-\frametitle{overview}
-builds are configured using two configuration files
-\begin{itemize}
-	\item /home/devel/poky/build-ti/conf/bblayers.conf
-	\item /home/devel/poky/build-ti/conf/local.conf
-\end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{bblayers.conf}
-additional layers are added with absolute! path to the BBLAYERS variable
-\begin{verbatim}
-BBLAYERS ?= " \
-  /home/devel/poky/meta \
-  /home/devel/poky/meta-yocto \
-  /home/devel/poky/meta-yocto-bsp \
-  "
-\end{verbatim}
-\pause
-\begin{verbatim}
-% bitbake-layers show-layers
-layer                 path                                  priority
-=====================================================================
-meta                  /home/devel/poky/meta                 5
-meta-yocto            /home/devel/poky/meta-yocto           5
-meta-yocto-bsp        /home/devel/poky/meta-yocto-bsp       5
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{add ti and meta-mini layers}
-modify the BBLAYERS variable in bblayers.conf
-\begin{verbatim}
-BBLAYERS ?= " \
-  /home/devel/poky/meta \
-  /home/devel/poky/meta-yocto \
-  /home/devel/poky/meta-yocto-bsp \
-  /home/devel/poky/meta-ti \
-  "
-\end{verbatim}
-\pause
-\begin{verbatim}
-% bitbake-layers show-layers
-layer                 path                                  priority
-=====================================================================
-meta                  /home/devel/poky/meta                 5
-meta-yocto            /home/devel/poky/meta-yocto           5
-meta-yocto-bsp        /home/devel/poky/meta-yocto-bsp       5
-meta-ti               /home/devel/poky/meta-ti              6
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{overlayed recipes}
-to see which recipes replace official ones:
-\begin{verbatim}
-poky/build-ti % bitbake-layers show-overlayed
-Parsing recipes..done.
-=== Overlayed recipes ===
-directfb:
-  meta-ti              1.6.3
-  meta                 1.7.1
-directfb-examples:
-  meta-ti              1.6.0
-  meta                 1.7.0
-xserver-xorg:
-  meta-ti              2:1.14.4
-  meta                 2:1.15.0
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{EXCURSUS: build an imx.6 image \#1}
-use
-\begin{verbatim}
-ls ../*/*/images/
-\end{verbatim}
-to get a list of predefined images; image, you want to build an imx6 image, so
-none of them fits your needs\dots
-		\pause
-\begin{verbatim}
-poky/build-fsl % cd ..
-poky % git clone -b fido https://github.com/Freescale/meta-fsl-demos.git
-poky % git clone -b fido git://git.openembedded.org/meta-openembedded
-poky % cd -
-\end{verbatim}
-		\pause
-and edit conf/bblayers.conf, to match
-\begin{verbatim}
-BBLAYERS ?= " \
-  /home/devel/poky/meta \
-  /home/devel/poky/meta-yocto \
-  /home/devel/poky/meta-yocto-bsp \
-  /home/devel/poky/meta-fsl-arm \
-  /home/devel/poky/meta-fsl-arm-extra \
-  /home/devel/poky/meta-openembedded/meta-oe \
-  /home/devel/poky/meta-fsl-demos \
-  "
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{EXCURSUS: build an imx.6 image \#2}
-build a qt demo image
-\begin{verbatim}
-poky/build-imx6 % bitbake qt4e-demo-image
-Currently 4 running tasks (26 of 4459):
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{EXCURSUS: build an imx.6 image \#3}
-\dots back from coffee break
-\begin{verbatim}
-ERROR: No new tasks can be executed since
-       the disk space monitor action is "STOPTASKS"!
-\end{verbatim}
-what happened??
-		\pause
-\begin{verbatim}
-poky/build-imx6 % df -h
-Filesystem      Size  Used Avail Use% Mounted on
-/dev/sda4       367G  348G  850M 100% /
-poky/build-imx6 % du -sm .
-31026   .
-poky/build-imx6 % du -sm ../build
-29172   ../build/
-\end{verbatim}
-		\pause
-\dots so the solution is to cleanup the disk and run
-\begin{verbatim}
-poky/build-imx6 % bitbake qt4e-demo-image
-\end{verbatim}
-again.
-
-A different behaviour can be configured in 'conf/local.conf'.
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{EXCURSUS: build an imx.6 image \#4}
-example of an issue with a sabrelite board
-\begin{verbatim}
-ERROR: To use 'gpu-viv-bin-mx6q'
-  you need to accept the Freescale EULA
-  at '/home/local/src/poky/meta-ti-arm/EULA'.
-  Please read it and in case you accept it, write:
-  ACCEPT_FSL_EULA = "1" in your local.conf.
-ERROR: Function failed: do_unpack
-ERROR: Logfile of failure stored in:
-  /home/local/src/poky/build-ti/tmp/work/
-   cortexa9hf-vfp-neon-mx6-poky-linux-gnueabi/
-   gpu-viv-bin-mx6q/1_3.10.17-1.0.0-hfp-r0/temp/
-   log.do_unpack.6795
-ERROR: Task 1105 (/home/local/src/poky/meta-ti-arm/
-  recipes-graphics/gpu-viv-bin-mx6q/
-  gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb, do_unpack) failed
-  with exit code '1'
-\end{verbatim}
-		\pause
-to solve this issue:
-\begin{verbatim}
-poky/build-fsl % echo 'ACCEPT_FSL_EULA = "1"' >> conf/local.conf
-\end{verbatim}
-		\pause
-\dots and run
-\begin{verbatim}
-poky/build-ti % bitbake qt4e-demo-image
-\end{verbatim}
-again.
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{EXCURSUS: flash the official beaglebone image \#1}
-\begin{verbatim}
-poky/build-ti % sudo fdisk /dev/mmcblk0
-# create a
-# * bootable
-# * primary partition with
-# * about 100 MB and
-# * Windows vFat format
-# and another primary partition with Linux Ext format
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{EXCURSUS: flash the official beaglebone image \#2}
-\begin{verbatim}
-poky/build-ti % sudo mkfs.vfat -F 16 -n boot /dev/mmcblk0p1
-poky/build-ti % sudo mke2fs -j -L "root" /dev/mmcblk0p2
-poky/build-ti % sudo mount /dev/mmcblk0p1 /mnt
-poky/build-ti % sudo cp -a tmp/deploy/images/beaglebone/MLO-beaglebone \
-  /mnt/MLO
-poky/build-ti % sudo cp -a \
-  tmp/deploy/images/beaglebone/u-boot-beaglebone.img \
-  /mnt/u-boot.img
-poky/build-ti % sudo umount /mnt
-poky/build-ti % sudo mount /dev/mmcblk0p2 /mnt
-poky/build-ti % sudo tar xjf \
-  tmp/deploy/images/qt4e-demo-image-beaglebone.tar.bz2 -C /mnt
-poky/build-ti % sudo umount /mnt
-\end{verbatim}
-\end{frame}
-
-\subsection{Creating a layer}
-\begin{frame}[fragile]
-\frametitle{with yocto helper script}
-\begin{verbatim}
-poky/build-ti % cd ..
-poky % yocto-layer create mini
-Please enter the layer priority you'd like to use for the layer:
-[default: 6] <return>
-Would you like to have an example recipe created? (y/n)
-[default: n] <return>
-Would you like to have an example bbappend file created? (y/n)
-[default: n] <return>
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{manage the layer with git}
-\begin{verbatim}
-poky % cd meta-mini
-poky/meta-mini % git init .
-poky/meta-mini % git add *
-poky/meta-mini % git commit -sam 'inital version'
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{machine configs}
-to get a list of currently available machine configs:
-\begin{verbatim}
-poky/build-ti % grep -r '@NAME' ../meta*/conf/machine
-\end{verbatim}
-if no machine fits your needs, define your own!
-\end{frame}
-
-\subsection{Machines}
-\begin{frame}[fragile]
-\frametitle{create a beaglebone-black machine config}
-create the file 'meta-mini/conf/machine/beaglebone-black.conf':
-\begin{verbatim}
-#@TYPE: Machine
-#@NAME: BeagleBone Black
-#@DESCRIPTION: Machine configuration for the http://beagleboard.org/bone board 
-
-require conf/machine/include/ti33x.inc
-
-IMAGE_FSTYPES += "ext3 tar.gz"
-EXTRA_IMAGEDEPENDS += "u-boot"
-SERIAL_CONSOLE = "115200 ttyO0"
-
-SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
-
-SPL_BINARY = "MLO"
-UBOOT_SUFFIX = "img"
-UBOOT_MACHINE = "am335x_boneblack_config"
-UBOOT_ENTRYPOINT = "0x80008000"
-UBOOT_LOADADDRESS = "0x80008000"
-\end{verbatim}
-\end{frame}
-
-\subsection{Writing recipes}
-\begin{frame}[fragile]
-\frametitle{adding a kernel}
-create the file 'meta-mini/recipes-bsp/linux-vanilla/linux-vanilla\_3.16.1.bb':
-\begin{verbatim}
-SECTION = "kernel"
-DESCRIPTION = "Linux vanilla kernel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
-KERNEL_IMAGETYPE ?= "uImage"
-
-inherit kernel
-require recipes-kernel/linux/linux-dtb.inc
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{adding a kernel \#2}
-\begin{verbatim}
-COMPATILBE_MACHINE_imx6qsabrelite = "imx6qsabrelite"
-KERNEL_DEVICETREE_imx6qsabrelite = "arch/arm/boot/dts/imx6q-sabrelite.dts"
-COMPATILBE_MACHINE_beaglebone-black = "beaglebone-black"
-KERNEL_DEVICETREE_beaglebone-black = "arch/arm/boot/dts/am335x-boneblack.dts"
-
-S = "${WORKDIR}/git
-
-BRANCH = "master"
-SRC_URI = "https://www.kernel.org/pub/linux/kernel/v3.x/linux-${PV}.tar.xz \
-	file://defconfig"
-
-SRC_URI[md5sum] = "e7a985a243b7941b6bc6240fcbc797fc"
-SRC_URI[sha256sum] = "be37dda8ea090525661d64e5c7fc8580f313b7f9ba8592e32120f1332b
-
-KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
-LINUX_VERSION_EXTENSION = "-linutronix"
-
-do_configure_prepend() {
-	cp '${WORKDIR}/defconfig' '${S}/.config'
-}
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{adding a defconfig}
-copy your .config file to
-'meta-mini/recipes-bsp/linux-vanilla/files/beaglebone-black/defconfig'
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{using a specific kernel}
-add
-\begin{verbatim}
-PREFERRED_PROVIDER_virtual/kernel = "linux-vanilla"
-\end{verbatim}
-to meta-mini/machine/beaglebone-black.conf
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{Providers}
-\begin{verbatim}
---8<- meta/classos/kernel.bbclass --
-PROVIDES += "virtual/kernel"
---8<--------------------------------
-\end{verbatim}
-
-PREFERRED\_PROVIDER\_virtual/kernel = "linux-vanilla"
-
-
-\pause
-\vspace{2em}
-also a preferred version can be set:
-
-PREFERRED\_VERSION\_virtual/kernel = "3.18.5"
-\end{frame}
-
-\begin{frame}
-\frametitle{Preferences}
-\begin{itemize}
-\item by default, files have a preference of "0"
-\pause
-\item setting DEFAULT\_PREFERENCE to "-1" makes the recipe unlikely to be used
-	unless it is explicitly referenced.
-\pause
-\item setting DEFAULT\_PREFERENCE to "1" makes it likely the recipe is used
-\pause
-\item PREFERRED\_VERSION overrides any DEFAULT\_PREFERENCE setting
-\end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{using a specific bootloader}
-add
-\begin{verbatim}
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
-PREFERRED_PROVIDER_virtual/u-boot = "u-boot"
-\end{verbatim}
-to meta-mini/machine/beaglebone-black.conf
-\end{frame}
-
-\subsection{generate a sdcard image}
-\begin{frame}[fragile]
-\frametitle{sdcard generation}
-create the file: 'meta-mini/classes/image\_sdcard.bbclass':
-\begin{verbatim}
-inherit image_types
-
-IMAGE_BOOTLOADER ?= "u-boot"
-
-# Handle u-boot suffixes
-UBOOT_SUFFIX ?= "bin"
-UBOOT_PADDING ?= "0"
-UBOOT_SUFFIX_SDCARD ?= "${UBOOT_SUFFIX}"
-
-# Linux bootstream
-IMAGE_DEPENDS_linux.sb = "virtual/kernel:do_deploy"
-
-# Boot partition volume id
-BOOTDD_VOLUME_ID ?= "Boot ${MACHINE}"
-# Boot partition size [in KiB]
-BOOT_SPACE ?= "8192"
-# Set alignment to 4MB [in KiB]
-IMAGE_ROOTFS_ALIGNMENT = "4096"
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{sdcard generation \#2}
-\begin{verbatim}
-IMAGE_DEPENDS_sdcard = "parted-native:do_populate_sysroot \
-  dosfstools-native:do_populate_sysroot \
-  mtools-native:do_populate_sysroot \
-  virtual/kernel:do_deploy \
-  ${@d.getVar('IMAGE_BOOTLOADER', True) and \
-    'd.getVar('IMAGE_BOOTLOADER', True) + ':do_deploy' or ''}"
-
-SDCARD = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sdcard"
-SDCARD_GENERATION_COMMAND_ti33x = "generate_ti_sdcard"
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{sdcard generation \#3}
-\begin{verbatim}
-generate_ti_sdcard () {
-  parted -s ${SDCARD} mklabel msdos
-
-  parted -s ${SDCARD} unit KiB mkpart primary fat32 \
-   ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ \
-   ${BOOT_SPACE_ALIGNED})
-
-  parted -s ${SDCARD} unit KiB mkpart primary \
-   $(expr  ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) \
-   $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ \
-     $ROOTFS_SIZE)
-
-  parted -s ${SDCARD} set 1 boot on
-  parted ${SDCARD} print
-
-  BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDCARD} unit b print \
-    | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 1024 }')
-
-  mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C \
-    ${WORKDIR}/boot.img $BOOT_BLOCKS
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{sdcard generation \#4}
-\begin{verbatim}
-  # copy files to /boot
-  mcopy -i ${WORKDIR}/boot.img -s \
-    ${DEPLOY_DIR_IMAGE}/MLO-${MACHINE} ::/MLO
-  mcopy -i ${WORKDIR}/boot.img -s \
-    ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.img ::/u-boot.img
-  mmd -i ${WORKDIR}/boot.img  ::/boot
-  mcopy -i ${WORKDIR}/boot.img -s \
-    ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin \
-    ::/boot/${KERNEL_IMAGETYPE}
-  mcopy -i ${WORKDIR}/boot.img -s \
-    ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-am335x-boneblack.dtb \
-    ::/boot/am335x-boneblack.dtb
-  mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/uEnv.txt \
-    ::/uEnv.txt
-
-  # Burn Partition
-  dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc seek=1 \
-    bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
-  sync
-  dd if=${SDCARD_ROOTFS} of=${SDCARD} conv=notrunc seek=1 \
-    bs=$(expr ${BOOT_SPACE_ALIGNED} \* 1024 + \
-         ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
-  sync
-}
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{sdcard generation \#5}
-\begin{verbatim}
-IMAGE_CMD_sdcard () {
-  if [ -z "${SDCARD_ROOTFS}" ]; then
-    bberror "SDCARD_ROOTFS is undefined."
-    exit 1
-  fi
-
-  # Align boot partition and calculate total SD card image size
-  BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
-  BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - \
-    ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
-  SDCARD_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + \
-    ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
-
-  # Initialize a sparse file
-  dd if=/dev/zero of=${SDCARD} bs=1 count=0 \
-    seek=$(expr 1024 \* ${SDCARD_SIZE})
-
-  ${SDCARD_GENERATION_COMMAND}
-}
-
-# The sdcard requires the rootfs filesystem to be built before using
-# it so we must make this dependency explicit.
-IMAGE_TYPEDEP_sdcard = "${@d.getVar('SDCARD_ROOTFS', 1).split('.')[-1]}"
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{configure machine to use sdcard imagetype}
-add the following lines to 'meta-mini/conf/machine/beaglebone-black.conf':
-\begin{verbatim}
-IMAGE_CLASSES += "image_sdcard"
-SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
-IMAGE_FSTYPES += "sdcard"
-\end{verbatim}
-\end{frame}
-
-\subsection{Define a distribution}
-\begin{frame}
-\frametitle{why define a distribution?}
-\begin{itemize}
-\item naming of the toolchain (codenames, vendor)
-		\pause
-\item version numbers
-		\pause
-\item enable default features
-\end{itemize}
-\end{frame}
-
-\begin{frame}
-\frametitle{distro features: file-systems}
-\begin{description}
-\item[cramfs] CramFS support
-\item[ext2] tools for supporting for devices with internal HDD/Microdrive
-	for storing files (instead of Flash only devices)
-\item[nfs] NFS client support (for mounting NFS exports on device)
-\item[smbfs] SMB networks client support
-	(for mounting Samba/Microsoft Windows shares on device)
-\end{description}
-\end{frame}
-
-\begin{frame}
-\frametitle{distro features: hardware support}
-\begin{description}
-\item[alsa] ALSA/sound support
-	(OSS compatibility kernel modules installed if available)
-\item[bluetooth] bluetooth support (integrated BT only)
-\item[irda] IrDA support
-		\pause
-\item[wifi] WiFi support (integrated only).
-\item[keyboard] keyboard support (e.g. keymaps will be loaded during boot)
-\end{description}
-\end{frame}
-
-\begin{frame}
-\frametitle{distro features: grahpics}
-\begin{description}
-\item[opengl] the Open Graphics Library, which is a cross-language,
-	multi-platform application programming interface used for rendering two
-	and three-dimensional graphics
-\item[directfb] DirectFB support
-\end{description}
-\end{frame}
-
-\begin{frame}
-\frametitle{distro features: networking}
-\begin{description}
-\item[ipsec] IPSec support
-\item[ipv6] IPv6 support
-\item[ppp] PPP dialup support
-\end{description}
-\end{frame}
-
-\begin{frame}
-\frametitle{distro features: bus support}
-\begin{description}
-\item[pci] PCI bus support
-\item[pcmcia] PCMCIA/CompactFlash support
-\item[usbgadget] USB Gadget Device support (for USB networking/serial/storage)
-\item[usbhost] USB Host support
-	(allows to connect external keyboard, mouse, storage, network etc)
-\end{description}
-\end{frame}
-
-\begin{frame}
-\frametitle{distro features: software}
-\begin{description}
-\item[systemd] support for this init manager, which is a full replacement of
-	for init with parallel starting of services, reduced shell overhead,
-	and other features. This init manager is used by many distributions
-\item[wayland] the Wayland display server protocol
-	and the library that supports it
-\item[x11] X server and libraries
-\end{description}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{use a DISTRO\_FEATURE}
-Normally the distro features are used in package groups in a core layer.
-e.g. 'meta/recipes-core/packagegroups/packagegroup-base.bb':
-\begin{verbatim}
-PACKAGES = ' \
-	..
-	${@base_contains("DISTRO_FEATURES", \
-	                 "opengl", "packagegroup-opengl", "", d)} \
-	..
-	'
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{EXCURSUS: package groups}
-are recipes that are used to group packages together:
-\begin{verbatim}
-DESCRIPTION = “My Package Group”
-LICENSE = “MIT”
-LIC_FILES_CHECKSUM = “file://<licfile>;md5=<chksum>
-inherit packagegroup
-PROVIDES = “${PACKAGES}”
-PACKAGES = “packagegroup-mypkg-apps packagegroup-mypkg-tools”
-RDEPENDS_packagegroup-mypkg-apps = “sqlite3 python-core python-sqlite3”
-RDEPENDS_pacakgegroup-mypkg-tools = “sudo gzip tar”
-\end{verbatim}
-it can be used, to simplify image definitions
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{minimal distribution}
-distros are defined in a layer, e.g.
-
-meta-linutronix/conf/distro/mini.conf:
-\begin{verbatim}
-meta-mini/conf/distro/mini.conf:
-DISTRO = "mini"
-DISTRO_NAME = "mini 1.0 (for foo devices)"
-DISTRO_VERSION = "1.0"
-DISTRO_CODENAME = "mal"
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\begin{verbatim}
-SDK_VENDOR = "-linutronix"
-SDK_VERSION := "${@'${DISTRO_VERSION}'}"
-SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
-SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\begin{verbatim}
-MAINTAINER = "Manuel Traut <manut@linutronix.de>"
-TARGET_VENDOR = "-linutronix"
-LOCALCONF_VERSION = "1"
-LAYER_CONF_VERSION ?= "6"
-DISTRO_FEATURES ?= "opengl ${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"
-DISTRO_FEATURES_append = " systemd"
-TCLIBCAPPEND = ""
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\begin{verbatim}
-CONNECTIVITY_CHECK_URIS ?= " \
-             https://eula-downloads.yoctoproject.org/index.php \
-             http://bugzilla.yoctoproject.org/report.cgi"
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\begin{verbatim}
-SANITY_TESTED_DISTROS ?= " \
-            Ubuntu-14.04 \n \
-            Debian-7.0 \n \
-            Debian-7.1 \n \
-            Debian-7.2 \n \
-            Debian-7.3 \n \
-            Debian-7.4 \n \
-            "
-
-BB_SIGNATURE_HANDLER ?= 'OEBasicHash'
-OELAYOUT_ABI = "8"
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{add distro to git repo}
-\begin{verbatim}
-poky/meta-mini % git add conf/distro/mini.conf
-poky/meta-mini % git commit -sam 'add mini distro'
-\end{verbatim}
-\end{frame}
-
-\subsection{Creating images}
-\begin{frame}[fragile]
-\frametitle{based on core-image class}
-build image with ssh support
-\begin{verbatim}
-poky/build-ti % bitbake-layers show-recipes | grep ssh
-Parsing recipes..done.
-libssh:
-openssh:
-packagegroup-core-ssh-dropbear:
-packagegroup-core-ssh-openssh:
-\end{verbatim}
-\pause
-create the file
-'meta-mini/recipes-bsp/mini-image/mini-image.bb'
-\begin{verbatim}
-IMAGE_INSTALL += "openssh"
-inherit core-image
-\end{verbatim}
-\end{frame}
-
-
-\begin{frame}
-\frametitle{build configuration}
-local.conf is used to configure
-\begin{itemize}
-	\item the target machine
-	\item paths
-	\item the used distribution
-	\item package formats
-	\item arch of developer machine
-	\item additional image features
-	\item use additional classes
-	\item enable testing
-	\item devshell terminal
-	\item patch resolver
-	\item disk monitoring
-	\item sstate mirrors
-	\item qemu configuration
-	\item incompatible licenses, e.g. INCOMPATIBLE\_LICENSE = “GPLv3”
-\end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{override default config files}
-default templates can be overridden by setting TEMPLATECONF
-to e.g. meta-mini/conf during ./oe-init-buildenv.
-
-Then meta-mini/conf bblayers.conf.sample and local.conf.sample will
-be used.
-
-The default location is specified in
-
-\begin{verbatim}
-% cat .templateconf
-# Template settings
-TEMPLATECONF=${TEMPLATECONF:-meta-yocto/conf}
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-	\frametitle{Excercise}
-	1) Add sample configs to the meta-mini layer providing a valid
-	layer configuration and a build configuration that creates a
-	debug RFS for our self defined machine, by using our distribution.
-	The configus should Use packages in deb format and the shared
-	download directory from the poky directory.
-
-
-	2) create a new build directory, e.g. build-bbb and build our self
-	defined image.
-\end{frame}
-
-\begin{frame}
-\frametitle{adding an own application}
-\begin{itemize}
-	\item recipe already available? check http://layers.openembedded.org
-	\item look for a similar recipe
-	\item proper bbclass available?
-\end{itemize}
-on the next slides, we have a look what is useful for very simple applications,
-autotools and cmake based projects and qt applications.
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{as simple as posible}
-use this folder layout
-\begin{verbatim}
-poky/meta-mini/recipes-hello % tree
-hello
-├── files
-│   └── hello.c
-└── hello.bb
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{as simple as posible \#2}
-this is the content of hello.bb
-\begin{verbatim}
-DESCRIPTION = "Simple helloworld application"
-SECTION = "examples"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT; \
-  md5=0835ade698e0bcf8506ecda2f7b4f302"
-PR = "r0"
-SRC_URI = "file://hello.c"
-S = "${WORKDIR}"
-
-do_compile() {
-  ${CC} hello.c -o hello
-}
-
-do_install() {
-  install -d ${D}${bindir}
-  install -m 0755 hello ${D}${bindir}
-}
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{autools based project}
-\begin{verbatim}
-├── autohello_1.0.bb
-└── files
-    └── autohello-1.0.tar.gz
-\end{verbatim}
-\pause
-\begin{verbatim}
-DESCRIPTION = "GNU Helloworld application"
-SECTION = "examples"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-PR = "r0"
-SRC_URI = "file://autohello-${PV}.tar.gz"
-SRC_URI[md5sum] = "4bfc9bed4d5d67a266d93e99e5883211"
-inherit autotools
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{cmake based project}
-\begin{verbatim}
-.
-├── files
-│   └── hellocm-0.1.tar.bz2
-└── hellocm_0.1.bb
-\end{verbatim}
-\pause
-\begin{verbatim}
-DESCRIPTION = "hellocm cmake example"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-SECTION = "examples"
-SRC_URI = "file://${BPN}-${PV}.tar.bz2"
-inherit cmake
-
-#export EXTRA_OECMAKE = '-DBLUBB="bla"
-
-FILES_{PN} = "${bindir}/hellocm"
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{qt application}
-\begin{verbatim}
-├── files
-│   └── helloqt-1.0.tar.bz2
-└── helloqt_1.0.bb
-\end{verbatim}
-\pause
-\begin{verbatim}
-DESCRIPTION = "helloqt QT example"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-SECTION = "examples"
-SRC_URI = "file://${BPN}-${PV}.tar.bz2"
-inherit qt4e
-PR = "r4"
-do_install() {
-        install -d ${D}${bindir}
-        install -m 0755 helloqt ${D}${bindir}
-}
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{adding a bootscript}
-\begin{itemize}
-	\item add 'systemd' to DISTRO\_FEATURES
-\pause
-	\item inherit from systemd.bbclass
-\pause
-	\item your package needs to set SYSTEMD\_SERVICE variable; e.g.
-		\begin{verbatim}
-SYSTEMD_SERVICE_${PN} = "connman.service"
-		\end{verbatim}
-\pause
-	\item to disable the service, set  SYSTEMD\_AUTO\_ENABLE to 'disable'
-\end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{user and group configuration}
-use this in an image recipe:
-\begin{verbatim}
-inherit extrausers
-EXTRA_USERS_PARAMS = "\
-    useradd -p '' tester; \
-    groupadd developers; \
-    userdel nobody; \
-    groupdel -g video; \
-    groupmod -g 1020 developers; \
-    usermod -s /bin/sh tester; \
-    "
-\end{verbatim}
-or the useradd class, for an example see useradd-example.bb
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{external sources}
-e.g. for a heavily customized kernel
-\begin{itemize}
-\item kernel source directory on the development machine
-\item inherit externalsrc class
-\item set EXTERNALSRC variable to point to your external source code
-\end{itemize}
-
-this local.conf extension:
-\begin{verbatim}
-INHERIT += "externalsrc"
-EXTERNALSRC_pn-myrecipe = "/some/path/to/your/source/tree"
-\end{verbatim}
-overrides the SOURCE\_URI of pn-myrecipe.bb
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{blacklist packages}
-To blacklist a package, inherit the blacklist.bbclass globally and set
-PNBLACKLIST for each recipe you wish to blacklist.
-
-
-Specify the PN value as a variable flag (varflag) and provide a reason,
-which is reported, if the package is requested to be built as the value:
-\begin{verbatim}
-INHERIT += "blacklist"
-PNBLACKLIST[exoticware] = "Not supported by our organization."
-\end{verbatim}
-\end{frame}
-
-\begin{frame}
-	\frametitle{Application Development Excercise}
-\begin{itemize}
-\item generate a standalone or integrated SDK
-\item configure the SDK in eclipse
-\item build and remote debug yesterdays application on the beaglebone-black
-\item integrate the application into the image
-\item build the image including your application
-\end{itemize}
-\end{frame}
-
-\subsection{Resume}
-\begin{frame}
-	\begin{itemize}
-		\item Yocto is a huge collection of tools
-		\item Bitbake can be used to create Images
-		\item The quality of the Images depend on the maintainance of the Layers
-		\item Only build your own distribution if you really need to!
-	\end{itemize}
-\end{frame}
+\input{yocto-layers}
+\input{yocto-ti-layer}
+\input{yocto-layer-imx6}
+\input{yocto-flash-official-bb-img}
+\input{yocto-bbb-machine-conf}
+\input{yocto-add-own-kernel}
+\input{yocto-u-boot-integration}
+\input{yocto-sdcard-generation}
+\input{yocto-distro-definitions}
+\input{yocto-create-own-layer}
+\input{yocto-extend-image}
+\input{yocto-local-conf}
+\input{yocto-excercise-build-bbb-img}
+\input{yocto-add-simple-application}
+\input{yocto-add-autools-based-src}
+\input{yocto-add-qt-cmake-projects}
+\input{yocto-img-customization}
+\input{yocto-resume}
 
 \input{tailpres}
diff --git a/distribution/yocto-advanced/yocto-add-autools-based-src.tex b/distribution/yocto-advanced/yocto-add-autools-based-src.tex
new file mode 100644
index 0000000..7c99f69
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-add-autools-based-src.tex
@@ -0,0 +1,19 @@
+\begin{frame}[fragile]
+\frametitle{autools based project}
+\begin{verbatim}
+├── autohello_1.0.bb
+└── files
+    └── autohello-1.0.tar.gz
+\end{verbatim}
+\pause
+\begin{verbatim}
+DESCRIPTION = "GNU Helloworld application"
+SECTION = "examples"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+PR = "r0"
+SRC_URI = "file://autohello-${PV}.tar.gz"
+SRC_URI[md5sum] = "4bfc9bed4d5d67a266d93e99e5883211"
+inherit autotools
+\end{verbatim}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-add-own-kernel.tex b/distribution/yocto-advanced/yocto-add-own-kernel.tex
new file mode 100644
index 0000000..7f86ecc
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-add-own-kernel.tex
@@ -0,0 +1,74 @@
+\subsection{Writing recipes}
+\begin{frame}[fragile]
+\frametitle{adding a kernel}
+create the file 'meta-mini/recipes-bsp/linux-vanilla/linux-vanilla\_3.16.1.bb':
+\begin{verbatim}
+SECTION = "kernel"
+DESCRIPTION = "Linux vanilla kernel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+KERNEL_IMAGETYPE ?= "uImage"
+
+inherit kernel
+require recipes-kernel/linux/linux-dtb.inc
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{adding a kernel \#2}
+\begin{verbatim}
+COMPATILBE_MACHINE_imx6qsabrelite = "imx6qsabrelite"
+KERNEL_DEVICETREE_imx6qsabrelite = "arch/arm/boot/dts/imx6q-sabrelite.dts"
+COMPATILBE_MACHINE_beaglebone-black = "beaglebone-black"
+KERNEL_DEVICETREE_beaglebone-black = "arch/arm/boot/dts/am335x-boneblack.dts"
+
+S = "${WORKDIR}/git
+
+BRANCH = "master"
+SRC_URI = "https://www.kernel.org/pub/linux/kernel/v3.x/linux-${PV}.tar.xz \
+	file://defconfig"
+
+SRC_URI[md5sum] = "e7a985a243b7941b6bc6240fcbc797fc"
+SRC_URI[sha256sum] = "be37dda8ea090525661d64e5c7fc8580f313b7f9ba8592e32120f1332b
+
+KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
+LINUX_VERSION_EXTENSION = "-linutronix"
+
+do_configure_prepend() {
+	cp '${WORKDIR}/defconfig' '${S}/.config'
+}
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{adding a defconfig}
+copy your .config file to
+'meta-mini/recipes-bsp/linux-vanilla/files/beaglebone-black/defconfig'
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{using a specific kernel}
+add
+\begin{verbatim}
+PREFERRED_PROVIDER_virtual/kernel = "linux-vanilla"
+\end{verbatim}
+to meta-mini/machine/beaglebone-black.conf
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Providers}
+\begin{verbatim}
+--8<- meta/classos/kernel.bbclass --
+PROVIDES += "virtual/kernel"
+--8<--------------------------------
+\end{verbatim}
+
+PREFERRED\_PROVIDER\_virtual/kernel = "linux-vanilla"
+
+
+\pause
+\vspace{2em}
+also a preferred version can be set:
+
+PREFERRED\_VERSION\_virtual/kernel = "3.18.5"
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-add-qt-cmake-projects.tex b/distribution/yocto-advanced/yocto-add-qt-cmake-projects.tex
new file mode 100644
index 0000000..2e5fa41
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-add-qt-cmake-projects.tex
@@ -0,0 +1,45 @@
+\begin{frame}[fragile]
+\frametitle{cmake based project}
+\begin{verbatim}
+.
+├── files
+│   └── hellocm-0.1.tar.bz2
+└── hellocm_0.1.bb
+\end{verbatim}
+\pause
+\begin{verbatim}
+DESCRIPTION = "hellocm cmake example"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+SECTION = "examples"
+SRC_URI = "file://${BPN}-${PV}.tar.bz2"
+inherit cmake
+
+#export EXTRA_OECMAKE = '-DBLUBB="bla"
+
+FILES_{PN} = "${bindir}/hellocm"
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{qt application}
+\begin{verbatim}
+├── files
+│   └── helloqt-1.0.tar.bz2
+└── helloqt_1.0.bb
+\end{verbatim}
+\pause
+\begin{verbatim}
+DESCRIPTION = "helloqt QT example"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+SECTION = "examples"
+SRC_URI = "file://${BPN}-${PV}.tar.bz2"
+inherit qt4e
+PR = "r4"
+do_install() {
+        install -d ${D}${bindir}
+        install -m 0755 helloqt ${D}${bindir}
+}
+\end{verbatim}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-add-simple-application.tex b/distribution/yocto-advanced/yocto-add-simple-application.tex
new file mode 100644
index 0000000..cf7fa57
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-add-simple-application.tex
@@ -0,0 +1,47 @@
+\begin{frame}
+\frametitle{adding an own application}
+\begin{itemize}
+	\item recipe already available? check http://layers.openembedded.org
+	\item look for a similar recipe
+	\item proper bbclass available?
+\end{itemize}
+on the next slides, we have a look what is useful for very simple applications,
+autotools and cmake based projects and qt applications.
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{as simple as posible}
+use this folder layout
+\begin{verbatim}
+poky/meta-mini/recipes-hello % tree
+hello
+├── files
+│   └── hello.c
+└── hello.bb
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{as simple as posible \#2}
+this is the content of hello.bb
+\begin{verbatim}
+DESCRIPTION = "Simple helloworld application"
+SECTION = "examples"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT; \
+  md5=0835ade698e0bcf8506ecda2f7b4f302"
+PR = "r0"
+SRC_URI = "file://hello.c"
+S = "${WORKDIR}"
+
+do_compile() {
+  ${CC} hello.c -o hello
+}
+
+do_install() {
+  install -d ${D}${bindir}
+  install -m 0755 hello ${D}${bindir}
+}
+\end{verbatim}
+\end{frame}
+
diff --git a/distribution/yocto-advanced/yocto-bbb-machine-conf.tex b/distribution/yocto-advanced/yocto-bbb-machine-conf.tex
new file mode 100644
index 0000000..7345952
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-bbb-machine-conf.tex
@@ -0,0 +1,31 @@
+\subsection{Machines}
+\begin{frame}[fragile]
+\frametitle{machine configs}
+to get a list of currently available machine configs:
+\begin{verbatim}
+poky/build-ti % grep -r '@NAME' ../meta*/conf/machine
+\end{verbatim}
+if no machine fits your needs, define your own!
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{create a beaglebone-black machine config}
+create the file 'meta-mini/conf/machine/beaglebone-black.conf':
+\begin{verbatim}
+#@TYPE: Machine
+#@NAME: BeagleBone Black
+#@DESCRIPTION: Machine configuration for the http://beagleboard.org/bone board 
+
+require conf/machine/include/ti33x.inc
+
+IMAGE_FSTYPES += "ext3 tar.gz"
+EXTRA_IMAGEDEPENDS += "u-boot"
+SERIAL_CONSOLE = "115200 ttyO0"
+
+SPL_BINARY = "MLO"
+UBOOT_SUFFIX = "img"
+UBOOT_MACHINE = "am335x_boneblack_config"
+UBOOT_ENTRYPOINT = "0x80008000"
+UBOOT_LOADADDRESS = "0x80008000"
+\end{verbatim}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-create-own-layer.tex b/distribution/yocto-advanced/yocto-create-own-layer.tex
new file mode 100644
index 0000000..95d4916
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-create-own-layer.tex
@@ -0,0 +1,89 @@
+\subsection{Creating a layer}
+\begin{frame}[fragile]
+\frametitle{with yocto helper script}
+\begin{verbatim}
+poky/build-ti % cd ..
+poky % yocto-layer create mini
+Please enter the layer priority you'd like to use for the layer:
+[default: 6] <return>
+Would you like to have an example recipe created? (y/n)
+[default: n] <return>
+Would you like to have an example bbappend file created? (y/n)
+[default: n] <return>
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{manage the layer with git}
+\begin{verbatim}
+poky % cd meta-mini
+poky/meta-mini % git init .
+poky/meta-mini % git add *
+poky/meta-mini % git commit -sam 'inital version'
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{minimal distribution}
+distros are defined in a layer, e.g.
+
+meta-linutronix/conf/distro/mini.conf:
+\begin{verbatim}
+meta-mini/conf/distro/mini.conf:
+DISTRO = "mini"
+DISTRO_NAME = "mini 1.0 (for foo devices)"
+DISTRO_VERSION = "1.0"
+DISTRO_CODENAME = "mal"
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\begin{verbatim}
+SDK_VENDOR = "-linutronix"
+SDK_VERSION := "${@'${DISTRO_VERSION}'}"
+SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
+SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\begin{verbatim}
+MAINTAINER = "Manuel Traut <manut@linutronix.de>"
+TARGET_VENDOR = "-linutronix"
+LOCALCONF_VERSION = "1"
+LAYER_CONF_VERSION ?= "6"
+DISTRO_FEATURES ?= "opengl ${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"
+DISTRO_FEATURES_append = " systemd"
+TCLIBCAPPEND = ""
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\begin{verbatim}
+CONNECTIVITY_CHECK_URIS ?= " \
+             https://eula-downloads.yoctoproject.org/index.php \
+             http://bugzilla.yoctoproject.org/report.cgi"
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\begin{verbatim}
+SANITY_TESTED_DISTROS ?= " \
+            Ubuntu-14.04 \n \
+            Debian-7.0 \n \
+            Debian-7.1 \n \
+            Debian-7.2 \n \
+            Debian-7.3 \n \
+            Debian-7.4 \n \
+            "
+
+BB_SIGNATURE_HANDLER ?= 'OEBasicHash'
+OELAYOUT_ABI = "8"
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{add distro to git repo}
+\begin{verbatim}
+poky/meta-mini % git add conf/distro/mini.conf
+poky/meta-mini % git commit -sam 'add mini distro'
+\end{verbatim}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-distro-definitions.tex b/distribution/yocto-advanced/yocto-distro-definitions.tex
new file mode 100644
index 0000000..d556131
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-distro-definitions.tex
@@ -0,0 +1,92 @@
+\subsection{Define a distribution}
+\begin{frame}
+\frametitle{why define a distribution?}
+\begin{itemize}
+\item naming of the toolchain (codenames, vendor)
+		\pause
+\item version numbers
+		\pause
+\item enable default features
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{distro features: file-systems}
+\begin{description}
+\item[cramfs] CramFS support
+\item[ext2] tools for supporting for devices with internal HDD/Microdrive
+	for storing files (instead of Flash only devices)
+\item[nfs] NFS client support (for mounting NFS exports on device)
+\item[smbfs] SMB networks client support
+	(for mounting Samba/Microsoft Windows shares on device)
+\end{description}
+\end{frame}
+
+\begin{frame}
+\frametitle{distro features: hardware support}
+\begin{description}
+\item[alsa] ALSA/sound support
+	(OSS compatibility kernel modules installed if available)
+\item[bluetooth] bluetooth support (integrated BT only)
+\item[irda] IrDA support
+		\pause
+\item[wifi] WiFi support (integrated only).
+\item[keyboard] keyboard support (e.g. keymaps will be loaded during boot)
+\end{description}
+\end{frame}
+
+\begin{frame}
+\frametitle{distro features: grahpics}
+\begin{description}
+\item[opengl] the Open Graphics Library, which is a cross-language,
+	multi-platform application programming interface used for rendering two
+	and three-dimensional graphics
+\item[directfb] DirectFB support
+\end{description}
+\end{frame}
+
+\begin{frame}
+\frametitle{distro features: networking}
+\begin{description}
+\item[ipsec] IPSec support
+\item[ipv6] IPv6 support
+\item[ppp] PPP dialup support
+\end{description}
+\end{frame}
+
+\begin{frame}
+\frametitle{distro features: bus support}
+\begin{description}
+\item[pci] PCI bus support
+\item[pcmcia] PCMCIA/CompactFlash support
+\item[usbgadget] USB Gadget Device support (for USB networking/serial/storage)
+\item[usbhost] USB Host support
+	(allows to connect external keyboard, mouse, storage, network etc)
+\end{description}
+\end{frame}
+
+\begin{frame}
+\frametitle{distro features: software}
+\begin{description}
+\item[systemd] support for this init manager, which is a full replacement of
+	for init with parallel starting of services, reduced shell overhead,
+	and other features. This init manager is used by many distributions
+\item[wayland] the Wayland display server protocol
+	and the library that supports it
+\item[x11] X server and libraries
+\end{description}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{use a DISTRO\_FEATURE}
+Normally the distro features are used in package groups in a core layer.
+e.g. 'meta/recipes-core/packagegroups/packagegroup-base.bb':
+\begin{verbatim}
+PACKAGES = ' \
+	..
+	${@base_contains("DISTRO_FEATURES", \
+	                 "opengl", "packagegroup-opengl", "", d)} \
+	..
+	'
+\end{verbatim}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-excercise-build-bbb-img.tex b/distribution/yocto-advanced/yocto-excercise-build-bbb-img.tex
new file mode 100644
index 0000000..d1b003a
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-excercise-build-bbb-img.tex
@@ -0,0 +1,12 @@
+\begin{frame}[fragile]
+	\frametitle{Excercise}
+	1) Add sample configs to the meta-mini layer providing a valid
+	layer configuration and a build configuration that creates a
+	debug RFS for our self defined machine, by using our distribution.
+	The configus should Use packages in deb format and the shared
+	download directory from the poky directory.
+
+
+	2) create a new build directory, e.g. build-bbb and build our self
+	defined image.
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-extend-image.tex b/distribution/yocto-advanced/yocto-extend-image.tex
new file mode 100644
index 0000000..a8a86ad
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-extend-image.tex
@@ -0,0 +1,20 @@
+\subsection{Creating images}
+\begin{frame}[fragile]
+\frametitle{based on core-image class}
+build image with ssh support
+\begin{verbatim}
+poky/build-ti % bitbake-layers show-recipes | grep ssh
+Parsing recipes..done.
+libssh:
+openssh:
+packagegroup-core-ssh-dropbear:
+packagegroup-core-ssh-openssh:
+\end{verbatim}
+\pause
+create the file
+'meta-mini/recipes-bsp/mini-image/mini-image.bb'
+\begin{verbatim}
+IMAGE_INSTALL += "openssh"
+inherit core-image
+\end{verbatim}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-flash-official-bb-img.tex b/distribution/yocto-advanced/yocto-flash-official-bb-img.tex
new file mode 100644
index 0000000..94c408c
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-flash-official-bb-img.tex
@@ -0,0 +1,31 @@
+\begin{frame}[fragile]
+\frametitle{EXCURSUS: flash the official beaglebone image \#1}
+\begin{verbatim}
+poky/build-ti % sudo fdisk /dev/mmcblk0
+# create a
+# * bootable
+# * primary partition with
+# * about 100 MB and
+# * Windows vFat format
+# and another primary partition with Linux Ext format
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{EXCURSUS: flash the official beaglebone image \#2}
+\begin{verbatim}
+poky/build-ti % sudo mkfs.vfat -F 16 -n boot /dev/mmcblk0p1
+poky/build-ti % sudo mke2fs -j -L "root" /dev/mmcblk0p2
+poky/build-ti % sudo mount /dev/mmcblk0p1 /mnt
+poky/build-ti % sudo cp -a tmp/deploy/images/beaglebone/MLO-beaglebone \
+  /mnt/MLO
+poky/build-ti % sudo cp -a \
+  tmp/deploy/images/beaglebone/u-boot-beaglebone.img \
+  /mnt/u-boot.img
+poky/build-ti % sudo umount /mnt
+poky/build-ti % sudo mount /dev/mmcblk0p2 /mnt
+poky/build-ti % sudo tar xjf \
+  tmp/deploy/images/qt4e-demo-image-beaglebone.tar.bz2 -C /mnt
+poky/build-ti % sudo umount /mnt
+\end{verbatim}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-img-customization.tex b/distribution/yocto-advanced/yocto-img-customization.tex
new file mode 100644
index 0000000..85599b7
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-img-customization.tex
@@ -0,0 +1,74 @@
+\begin{frame}[fragile]
+\frametitle{adding a bootscript}
+\begin{itemize}
+	\item add 'systemd' to DISTRO\_FEATURES
+\pause
+	\item inherit from systemd.bbclass
+\pause
+	\item your package needs to set SYSTEMD\_SERVICE variable; e.g.
+		\begin{verbatim}
+SYSTEMD_SERVICE_${PN} = "connman.service"
+		\end{verbatim}
+\pause
+	\item to disable the service, set  SYSTEMD\_AUTO\_ENABLE to 'disable'
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{user and group configuration}
+use this in an image recipe:
+\begin{verbatim}
+inherit extrausers
+EXTRA_USERS_PARAMS = "\
+    useradd -p '' tester; \
+    groupadd developers; \
+    userdel nobody; \
+    groupdel -g video; \
+    groupmod -g 1020 developers; \
+    usermod -s /bin/sh tester; \
+    "
+\end{verbatim}
+or the useradd class, for an example see useradd-example.bb
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{external sources}
+e.g. for a heavily customized kernel
+\begin{itemize}
+\item kernel source directory on the development machine
+\item inherit externalsrc class
+\item set EXTERNALSRC variable to point to your external source code
+\end{itemize}
+
+this local.conf extension:
+\begin{verbatim}
+INHERIT += "externalsrc"
+EXTERNALSRC_pn-myrecipe = "/some/path/to/your/source/tree"
+\end{verbatim}
+overrides the SOURCE\_URI of pn-myrecipe.bb
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{blacklist packages}
+To blacklist a package, inherit the blacklist.bbclass globally and set
+PNBLACKLIST for each recipe you wish to blacklist.
+
+
+Specify the PN value as a variable flag (varflag) and provide a reason,
+which is reported, if the package is requested to be built as the value:
+\begin{verbatim}
+INHERIT += "blacklist"
+PNBLACKLIST[exoticware] = "Not supported by our organization."
+\end{verbatim}
+\end{frame}
+
+\begin{frame}
+	\frametitle{Application Development Excercise}
+\begin{itemize}
+\item generate a standalone or integrated SDK
+\item configure the SDK in eclipse
+\item build and remote debug yesterdays application on the beaglebone-black
+\item integrate the application into the image
+\item build the image including your application
+\end{itemize}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-layer-imx6.tex b/distribution/yocto-advanced/yocto-layer-imx6.tex
new file mode 100644
index 0000000..557afe2
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-layer-imx6.tex
@@ -0,0 +1,99 @@
+\begin{frame}[fragile]
+\frametitle{EXCURSUS: build an imx.6 image \#1}
+use
+\begin{verbatim}
+ls ../*/*/images/
+\end{verbatim}
+to get a list of predefined images; image, you want to build an imx6 image, so
+none of them fits your needs\dots
+		\pause
+\begin{verbatim}
+poky/build-fsl % cd ..
+poky % git clone -b fido https://github.com/Freescale/meta-fsl-demos.git
+poky % git clone -b fido git://git.openembedded.org/meta-openembedded
+poky % cd -
+\end{verbatim}
+		\pause
+and edit conf/bblayers.conf, to match
+\begin{verbatim}
+BBLAYERS ?= " \
+  /home/devel/poky/meta \
+  /home/devel/poky/meta-yocto \
+  /home/devel/poky/meta-yocto-bsp \
+  /home/devel/poky/meta-fsl-arm \
+  /home/devel/poky/meta-fsl-arm-extra \
+  /home/devel/poky/meta-openembedded/meta-oe \
+  /home/devel/poky/meta-fsl-demos \
+  "
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{EXCURSUS: build an imx.6 image \#2}
+build a qt demo image
+\begin{verbatim}
+poky/build-imx6 % bitbake qt4e-demo-image
+Currently 4 running tasks (26 of 4459):
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{EXCURSUS: build an imx.6 image \#3}
+\dots back from coffee break
+\begin{verbatim}
+ERROR: No new tasks can be executed since
+       the disk space monitor action is "STOPTASKS"!
+\end{verbatim}
+what happened??
+		\pause
+\begin{verbatim}
+poky/build-imx6 % df -h
+Filesystem      Size  Used Avail Use% Mounted on
+/dev/sda4       367G  348G  850M 100% /
+poky/build-imx6 % du -sm .
+31026   .
+poky/build-imx6 % du -sm ../build
+29172   ../build/
+\end{verbatim}
+		\pause
+\dots so the solution is to cleanup the disk and run
+\begin{verbatim}
+poky/build-imx6 % bitbake qt4e-demo-image
+\end{verbatim}
+again.
+
+A different behaviour can be configured in 'conf/local.conf'.
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{EXCURSUS: build an imx.6 image \#4}
+example of an issue with a sabrelite board
+\begin{verbatim}
+ERROR: To use 'gpu-viv-bin-mx6q'
+  you need to accept the Freescale EULA
+  at '/home/local/src/poky/meta-ti-arm/EULA'.
+  Please read it and in case you accept it, write:
+  ACCEPT_FSL_EULA = "1" in your local.conf.
+ERROR: Function failed: do_unpack
+ERROR: Logfile of failure stored in:
+  /home/local/src/poky/build-ti/tmp/work/
+   cortexa9hf-vfp-neon-mx6-poky-linux-gnueabi/
+   gpu-viv-bin-mx6q/1_3.10.17-1.0.0-hfp-r0/temp/
+   log.do_unpack.6795
+ERROR: Task 1105 (/home/local/src/poky/meta-ti-arm/
+  recipes-graphics/gpu-viv-bin-mx6q/
+  gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb, do_unpack) failed
+  with exit code '1'
+\end{verbatim}
+		\pause
+to solve this issue:
+\begin{verbatim}
+poky/build-fsl % echo 'ACCEPT_FSL_EULA = "1"' >> conf/local.conf
+\end{verbatim}
+		\pause
+\dots and run
+\begin{verbatim}
+poky/build-ti % bitbake qt4e-demo-image
+\end{verbatim}
+again.
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-layers.tex b/distribution/yocto-advanced/yocto-layers.tex
new file mode 100644
index 0000000..1c6dc53
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-layers.tex
@@ -0,0 +1,69 @@
+\subsection{Using BSP layers}
+
+\begin{frame}[fragile]
+\frametitle{folder layout}
+\begin{verbatim}
+meta-mylayer
++ conf
+|  + layer.conf
++ classes
+|  + class1.bbclass
+|  + class2.bbclass
++ recipes-category1
+|  + package-1
+|      + package-1.bb
+|  + package-2
+|      + package-2.bb
++ recipes-category2
+| ..
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+	\frametitle{meta-*/conf/layer.conf}
+	each layer needs a configuration file
+	\begin{itemize}
+		\item add conf and class directories to BBPATH
+			\begin{verbatim}BBPATH =. "${LAYERDIR}"\end{verbatim}
+		\item add recipe directories to BBFILES
+			\begin{verbatim}BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+			${LAYERDIR}/recipes-*/*/*.bbappend"\end{verbatim}
+		\item add layer name to BBFILE\_COLLECTIONS
+			\begin{verbatim}BBFILE_COLLECTIONS += "mylayer"\end{verbatim}
+		\item set root of the layer
+			\begin{verbatim}BBFILE_PATTERN_mylayer = "^${LAYERDIR}/"\end{verbatim}
+		\item set default priority of the layer
+			\begin{verbatim}BBFILE_PRIORITY_mylayer = "5"\end{verbatim}
+		\item set version of layer (only increment if dependencies with other
+			layers are affected)
+			\begin{verbatim}LAYERVERSION_mylayer = "2"\end{verbatim}
+		\item set dependencies to other layers
+			\begin{verbatim}LAYERDEPENDS_mylayer = "meta-yocto"\end{verbatim}
+	\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{bitbake-layers}
+is useful to debug relations between different layers, options are:
+\begin{description}
+\item [show-layers] shows the current configured layers
+\item [show-recipes] lists available recipes and the layers that provide them.
+\item [show-overlayed] lists overlayed recipes
+\item [show-appends] lists .bbappend files
+	and the recipe files to which they apply
+\item [show-cross-depends] lists dependency relationships
+	between recipes that cross layer boundaries
+\item [flatten] flattens the layer configuration
+	into a separate output directory.
+\end{description}
+\end{frame}
+
+\begin{frame}
+\frametitle{definitions}
+\begin{itemize}
+	\item It is possible for a recipe with a lower version number PV in a layer
+that has a higher priority to take precedence.
+	\item Also, the layer priority does not currently affect the precedence
+order of .conf or .bbclass files. Future versions of BitBake might address this.
+\end{itemize}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-local-conf.tex b/distribution/yocto-advanced/yocto-local-conf.tex
new file mode 100644
index 0000000..b8dd222
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-local-conf.tex
@@ -0,0 +1,37 @@
+\begin{frame}
+\frametitle{build configuration}
+local.conf is used to configure
+\begin{itemize}
+	\item the target machine
+	\item paths
+	\item the used distribution
+	\item package formats
+	\item arch of developer machine
+	\item additional image features
+	\item use additional classes
+	\item enable testing
+	\item devshell terminal
+	\item patch resolver
+	\item disk monitoring
+	\item sstate mirrors
+	\item qemu configuration
+	\item incompatible licenses, e.g. INCOMPATIBLE\_LICENSE = “GPLv3”
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{override default config files}
+default templates can be overridden by setting TEMPLATECONF
+to e.g. meta-mini/conf during ./oe-init-buildenv.
+
+Then meta-mini/conf bblayers.conf.sample and local.conf.sample will
+be used.
+
+The default location is specified in
+
+\begin{verbatim}
+% cat .templateconf
+# Template settings
+TEMPLATECONF=${TEMPLATECONF:-meta-yocto/conf}
+\end{verbatim}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-resume.tex b/distribution/yocto-advanced/yocto-resume.tex
new file mode 100644
index 0000000..1db1e87
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-resume.tex
@@ -0,0 +1,10 @@
+\subsection{Resume}
+\begin{frame}
+	\begin{itemize}
+		\item Yocto is a huge collection of tools
+		\item Bitbake can be used to describe/build a distribution
+		\item The quality of the Images depend on the maintainance of the Layers
+		\item Only build your own distribution if you really need to!
+		\item Poky can be used as an example / reference.
+	\end{itemize}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-sdcard-generation.tex b/distribution/yocto-advanced/yocto-sdcard-generation.tex
new file mode 100644
index 0000000..a36e213
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-sdcard-generation.tex
@@ -0,0 +1,109 @@
+\begin{frame}[fragile]
+\frametitle{sdcard generation \#2}
+\begin{verbatim}
+IMAGE_DEPENDS_sdcard = "parted-native:do_populate_sysroot \
+  dosfstools-native:do_populate_sysroot \
+  mtools-native:do_populate_sysroot \
+  virtual/kernel:do_deploy \
+  ${@d.getVar('IMAGE_BOOTLOADER', True) and \
+    'd.getVar('IMAGE_BOOTLOADER', True) + ':do_deploy' or ''}"
+
+SDCARD = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sdcard"
+SDCARD_GENERATION_COMMAND_ti33x = "generate_ti_sdcard"
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{sdcard generation \#3}
+\begin{verbatim}
+generate_ti_sdcard () {
+  parted -s ${SDCARD} mklabel msdos
+
+  parted -s ${SDCARD} unit KiB mkpart primary fat32 \
+   ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ \
+   ${BOOT_SPACE_ALIGNED})
+
+  parted -s ${SDCARD} unit KiB mkpart primary \
+   $(expr  ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) \
+   $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ \
+     $ROOTFS_SIZE)
+
+  parted -s ${SDCARD} set 1 boot on
+  parted ${SDCARD} print
+
+  BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDCARD} unit b print \
+    | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 1024 }')
+
+  mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C \
+    ${WORKDIR}/boot.img $BOOT_BLOCKS
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{sdcard generation \#4}
+\begin{verbatim}
+  # copy files to /boot
+  mcopy -i ${WORKDIR}/boot.img -s \
+    ${DEPLOY_DIR_IMAGE}/MLO-${MACHINE} ::/MLO
+  mcopy -i ${WORKDIR}/boot.img -s \
+    ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.img ::/u-boot.img
+  mmd -i ${WORKDIR}/boot.img  ::/boot
+  mcopy -i ${WORKDIR}/boot.img -s \
+    ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin \
+    ::/boot/${KERNEL_IMAGETYPE}
+  mcopy -i ${WORKDIR}/boot.img -s \
+    ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-am335x-boneblack.dtb \
+    ::/boot/am335x-boneblack.dtb
+  mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/uEnv.txt \
+    ::/uEnv.txt
+
+  # Burn Partition
+  dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc seek=1 \
+    bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
+  sync
+  dd if=${SDCARD_ROOTFS} of=${SDCARD} conv=notrunc seek=1 \
+    bs=$(expr ${BOOT_SPACE_ALIGNED} \* 1024 + \
+         ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
+  sync
+}
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{sdcard generation \#5}
+\begin{verbatim}
+IMAGE_CMD_sdcard () {
+  if [ -z "${SDCARD_ROOTFS}" ]; then
+    bberror "SDCARD_ROOTFS is undefined."
+    exit 1
+  fi
+
+  # Align boot partition and calculate total SD card image size
+  BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
+  BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - \
+    ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
+  SDCARD_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + \
+    ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
+
+  # Initialize a sparse file
+  dd if=/dev/zero of=${SDCARD} bs=1 count=0 \
+    seek=$(expr 1024 \* ${SDCARD_SIZE})
+
+  ${SDCARD_GENERATION_COMMAND}
+}
+
+# The sdcard requires the rootfs filesystem to be built before using
+# it so we must make this dependency explicit.
+IMAGE_TYPEDEP_sdcard = "${@d.getVar('SDCARD_ROOTFS', 1).split('.')[-1]}"
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{configure machine to use sdcard imagetype}
+add the following lines to 'meta-mini/conf/machine/beaglebone-black.conf':
+\begin{verbatim}
+IMAGE_CLASSES += "image_sdcard"
+SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
+IMAGE_FSTYPES += "sdcard"
+\end{verbatim}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-ti-layer.tex b/distribution/yocto-advanced/yocto-ti-layer.tex
new file mode 100644
index 0000000..5b5daa9
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-ti-layer.tex
@@ -0,0 +1,103 @@
+\begin{frame}[fragile]
+\frametitle{get an existing layer}
+retrive the layer from your BSP/SoC vendor
+\begin{verbatim}
+poky % git clone git://git.yoctoproject.org/meta-ti
+poky % cd meta-ti
+poky/meta-ti % git branch -r
+poky/meta-ti % git checkout -t origin/fido -b fido
+poky/meta-ti % cd ..
+poky % git checkout -t origin/fido -b fido
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{layer dependencies}
+have a look at it's dependencies
+\begin{verbatim}
+poky % cat meta-ti/conf/layer.conf | grep LAYERDEPENDS
+\end{verbatim}
+no dependencies, so we are safe to continue, otherwise
+retrive more layers.
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{generate a new build environment}
+\begin{verbatim}
+poky % . oe-init-build-env build-ti
+poky/build-ti %
+\end{verbatim}
+\end{frame}
+
+\subsection{configure build environment}
+\begin{frame}
+\frametitle{overview}
+builds are configured using two configuration files
+\begin{itemize}
+	\item /home/devel/poky/build-ti/conf/bblayers.conf
+	\item /home/devel/poky/build-ti/conf/local.conf
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{bblayers.conf}
+additional layers are added with absolute! path to the BBLAYERS variable
+\begin{verbatim}
+BBLAYERS ?= " \
+  /home/devel/poky/meta \
+  /home/devel/poky/meta-yocto \
+  /home/devel/poky/meta-yocto-bsp \
+  "
+\end{verbatim}
+\pause
+\begin{verbatim}
+% bitbake-layers show-layers
+layer                 path                                  priority
+=====================================================================
+meta                  /home/devel/poky/meta                 5
+meta-yocto            /home/devel/poky/meta-yocto           5
+meta-yocto-bsp        /home/devel/poky/meta-yocto-bsp       5
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{add ti and meta-mini layers}
+modify the BBLAYERS variable in bblayers.conf
+\begin{verbatim}
+BBLAYERS ?= " \
+  /home/devel/poky/meta \
+  /home/devel/poky/meta-yocto \
+  /home/devel/poky/meta-yocto-bsp \
+  /home/devel/poky/meta-ti \
+  "
+\end{verbatim}
+\pause
+\begin{verbatim}
+% bitbake-layers show-layers
+layer                 path                                  priority
+=====================================================================
+meta                  /home/devel/poky/meta                 5
+meta-yocto            /home/devel/poky/meta-yocto           5
+meta-yocto-bsp        /home/devel/poky/meta-yocto-bsp       5
+meta-ti               /home/devel/poky/meta-ti              6
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{overlayed recipes}
+to see which recipes replace official ones:
+\begin{verbatim}
+poky/build-ti % bitbake-layers show-overlayed
+Parsing recipes..done.
+=== Overlayed recipes ===
+directfb:
+  meta-ti              1.6.3
+  meta                 1.7.1
+directfb-examples:
+  meta-ti              1.6.0
+  meta                 1.7.0
+xserver-xorg:
+  meta-ti              2:1.14.4
+  meta                 2:1.15.0
+\end{verbatim}
+\end{frame}
diff --git a/distribution/yocto-advanced/yocto-u-boot-integration.tex b/distribution/yocto-advanced/yocto-u-boot-integration.tex
new file mode 100644
index 0000000..6b1421e
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-u-boot-integration.tex
@@ -0,0 +1,35 @@
+\begin{frame}[fragile]
+\frametitle{using a specific bootloader}
+add
+\begin{verbatim}
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
+PREFERRED_PROVIDER_virtual/u-boot = "u-boot"
+\end{verbatim}
+to meta-mini/machine/beaglebone-black.conf
+\end{frame}
+
+\subsection{generate a sdcard image}
+\begin{frame}[fragile]
+\frametitle{sdcard generation}
+create the file: 'meta-mini/classes/image\_sdcard.bbclass':
+\begin{verbatim}
+inherit image_types
+
+IMAGE_BOOTLOADER ?= "u-boot"
+
+# Handle u-boot suffixes
+UBOOT_SUFFIX ?= "bin"
+UBOOT_PADDING ?= "0"
+UBOOT_SUFFIX_SDCARD ?= "${UBOOT_SUFFIX}"
+
+# Linux bootstream
+IMAGE_DEPENDS_linux.sb = "virtual/kernel:do_deploy"
+
+# Boot partition volume id
+BOOTDD_VOLUME_ID ?= "Boot ${MACHINE}"
+# Boot partition size [in KiB]
+BOOT_SPACE ?= "8192"
+# Set alignment to 4MB [in KiB]
+IMAGE_ROOTFS_ALIGNMENT = "4096"
+\end{verbatim}
+\end{frame}
-- 
cgit v1.2.3

