From a611c3cd4dfcc5bc4c69a7bd5f94e52513ce9b05 Mon Sep 17 00:00:00 2001 From: Manuel Traut Date: Fri, 29 Aug 2014 20:20:09 +0200 Subject: yocto: add systemd slide Signed-off-by: Manuel Traut --- 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 Date: Fri, 29 Aug 2014 21:00:16 +0200 Subject: update distro.conf to enable toolchain generation Signed-off-by: Manuel Traut --- .../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 " 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 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 --- 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 " 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 Date: Mon, 1 Sep 2014 13:28:51 +0200 Subject: yocto: rework layout Signed-off-by: Manuel Traut --- .../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 \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 " 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 Date: Tue, 2 Sep 2014 23:57:04 +0200 Subject: yocto-advanced: update kernel build Signed-off-by: Manuel Traut --- .../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 Date: Thu, 4 Sep 2014 01:20:42 +0200 Subject: add a very minimalistic sabrelite layer Signed-off-by: Manuel Traut --- 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 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 --- .../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} _.bbappend \end{verbatim} -\pause - 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 Date: Tue, 12 Jan 2016 14:31:11 +0100 Subject: yocto-advanced: remove duplicated slides Signed-off-by: Manuel Traut --- .../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 Date: Fri, 22 Jan 2016 16:19:44 +0100 Subject: rework yocto advanced slides - improve ordering - add examples Signed-off-by: Manuel Traut --- .../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 +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] -Would you like to have an example recipe created? (y/n) -[default: n] -Would you like to have an example bbappend file created? (y/n) -[default: n] -\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://;md5= -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 " -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] +Would you like to have an example recipe created? (y/n) +[default: n] +Would you like to have an example bbappend file created? (y/n) +[default: n] \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://;md5= +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 " +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 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 --- .../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] -Would you like to have an example recipe created? (y/n) -[default: n] -Would you like to have an example bbappend file created? (y/n) -[default: n] -\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://;md5= -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 " -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] +Would you like to have an example recipe created? (y/n) +[default: n] +Would you like to have an example bbappend file created? (y/n) +[default: n] +\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 " +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