aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/linux-yocto.inc
AgeCommit message (Collapse)Author
2015-03-31kernel-yocto: merge duplicate kernel_configme task definitionsRoss Burton
The kernel_configme task was added twice (once in the .bbclass, one in a .inc) with different ordering constraints. Change this to be just one definition in the bbclass with the stronger ordering constraints. (From OE-Core rev: b9646b9d31c3e0c70337a8c10ebfc087a0e2b829) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31linux-yocto: add kern-tools-native to kernel_metadata dependsRoss Burton
The autobuilder failed like this: temp/run.do_kernel_metadata.25242: line 165: createme: command not found createme is provided by kern-tools-native. do_patch has a dependency on kern-tools-native, but do_kernel_metadata runs before do_patch. So move the dependency from do_patch to do_kernel_metadata, moving the statement from the .inc to the class so it's alongside the task definition. [ YOCTO #7531 ] (From OE-Core rev: 4a0371847ff0c30d9b60db63559d89dddfcb009f) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-02kernel-yocto: inhibit BSP description warnings for custom linux-yocto kernelsBruce Ashfield
We don't require that a yocto custom kernel + defconfig have a full BSP description (but of course it would be better if they did). Since this isn't a requirement, we shouldn't alarm users by generating a BSP description warning. To implement this, we add a bsp audit level flag (like the one that exists for kconfig audits), and only set it to activate in the versioned linux-yocto recipes. [YOCTO: #7370] (From OE-Core rev: d2fb7fff291b83700d487be093223c1533d915ce) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21linux-yocto: make kernel configuration audit user visibleBruce Ashfield
After a linux-yocto style kernel is configured, a kernel configuration audit is executed to detect common errors or issues with the config. This output used to be visible, but was made less obvious to not alarm users unnecessarily (since some configuration issues are acceptable). There are some classes of configuration issue that are worth being visible, and that is specified configuration values that do not make the final .config. These dropped options can result in any number of runtime failures, so flagging them at build time makes sense. The visibility of auditing is controlled by KCONF_AUDIT_LEVEL: 0: no reporting 1: report options that are specified, but not in the final config 2: report options that are not hardware related, but set by a BSP The default level is 1, with level 2 and above being for BSP development only. If these conditions are detected, warnings will be generated as follows: WARNING: [kernel config]: specified values did not make it into the kernel's final configuration: Value requested for CONFIG_SND_PCSP not in final ".config" Requested value: "CONFIG_SND_PCSP=y" Actual value set: "" or WARNING: [kernel config]: BSP specified non-hw configuration: CONFIG_BLOCK CONFIG_CFG80211_WEXT CONFIG_CORDIC CONFIG_CRC8 CONFIG_EFIVAR_FS CONFIG_EFI_PARTITION CONFIG_NET CONFIG_NETDEVICES CONFIG_PARTITION_ADVANCED CONFIG_WEXT_CORE CONFIG_WEXT_PROC CONFIG_WIRELESS At this point thse are only a warnings, since there needs to be time for layers and configuration fragments to be validated against this new check. [YOCTO: #6943] (From OE-Core rev: ad4d59495194b37bc510e9891bd14c0a2ac30dba) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23linux-yocto: Fixup linux-yocto for aarch64Mark Hatle
linux-yocto is updated to pass the sysroot path to the compiler when necessary. linux-yocto_ver.bb are updated to reference the correct linux-yocto branchs and SRCREVs. (From OE-Core rev: af67a2938e007e08fd1d082a0932c78deaedb527) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23linux-yocto: depend on libgcc for aarch64Kai Kang
Make aarch aarch64 kernel depend on libgcc. In arch/arm64/Makefile, it adds LIBGCC to libs-y: LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) libs-y += $(LIBGCC) In file Makefile in top directory, libs-y is assigned to to var KBUILD_VMLINUX_MAIN. It uses script link-vmlinux.sh to link vmlinux.o, and when execute function vmlinux_link() in link-vmlinux.sh, KBUILD_VMLINUX_MAIN is passed to ${LD}. If build without libgcc, the value of LIBGCC is just libgcc.a without parent directory. linux-yocto fails to build: | LD vmlinux.o | aarch64-poky-linux-ld.bfd: cannot find libgcc.a: No such file or directory Add libgcc to aarch64 kernel dependency. (From OE-Core rev: 69ab638adcd8d30f35bb863254d9b112ad12b925) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11linux-yocto: Use PACKAGE_ARCH in build dirDarren Hart
The current linux-yocto build dir (B) includes MACHINE. This has been appropriate as kernels are typically built machine-specific. We have recently introduced an intel-common type kernel which can be shared across multiple machines sharing a common base (intel-core2-32, intel-corei7-64). In these cases, the kernel is built for a something more generic than MACHINE, and the current mechanism results in something like this when building for MACHINE=sys940x (using intel-common): tmp/work/core2-32-intel-common-poky-linux/linux-yocto-dev/ \ 3.13++gitAUTOINC+e5d23e7879_889c6bec6b-r0/linux-sys940x-noemgd-standard-build Note the descrepancy between core2-32-intel-common and linux-sys940x-noemgd-standard-build. This becomes counterintuitive at the very least when switching to another machine and attempting to reuse this build. This patch swaps MACHINE for PACKAGE_ARCH (which is typically MACHINE_ARCH for linux-yocto), resulting in the following build path: tmp/work/core2-32-intel-common-poky-linux/linux-yocto-dev/ \ 3.13++gitAUTOINC+e5d23e7879_889c6bec6b-r0/linux-core2-32-intel-common-standard-build The impact to existing MACHINEs is a replace of - with _ if MACHINE contains one or more - charachters. (From OE-Core rev: 54590cdb940b6145ac92729ebf9bb7e7e537f5e2) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-27linux-yocto: add bc-native dependency, and move to linux-yocto.incBruce Ashfield
As reported by Martin Jansa <martin.jansa@gmail.com>, the following error happens when building in a minimal environment: | BC kernel/timeconst.h | /bin/sh: bc: command not found | make[3]: *** [kernel/timeconst.h] Error 127 | make[2]: *** [kernel] Error 2 | make[2]: *** Waiting for unfinished jobs.... kernel commit 70730bca [kernel: Replace timeconst.pl with a bc script] added a kernel dependency on bc. To support the build of linux-yocto recipes in these configurations, we add bc-native to the common dependencies. (From OE-Core rev: c888857b060f04b8689f393ec2d77a950da40f5a) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-04kernel: Add kernel headers to kernel-dev packageDarren Hart
[YOCTO #1614] Add the kernel headers to the kernel-dev package. This packages what was already built and kept in sysroots for building modules with bitbake. Making this available on the target requires removing some additional host binaries. Move the location to /usr/src/kernel Before use on the target, the user will need to: # cd /usr/src/kernel # make scripts This renders the kernel-misc recipe empty, so remove it. As we use /usr/src/kernel in several places (and I missed one in the previous version), add a KERNEL_SRC_DIR variable and use that throughout the class to avoid update errors in the future. Now that we package the kernel headers, drop the kernel_package_preprocess function which removed them from PKGD. All *-sdk image recipes include dev-pkgs, so the kernel-dev package will be installed by default on all such images. (From OE-Core rev: 6125ea40d4483965f793bd847b3ce14b668a5b1e) Signed-off-by: Darren Hart <dvhart@linux.intel.com> CC: Bruce Ashfield <bruce.ashfield@windriver.com> CC: Tom Zanussi <tom.zanussi@intel.com> CC: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29linux-yocto: Use INC_PR and move kernel require to linux-yocto.incDarren Hart
When making changes to kernel.bbclass, it would be nice not to have to manually change the PR of every linux-yocto*.bb file that requires it. Move the "require kernel" line to linux-yocto.inc and update the linux-yocto recipes to use INC_PR. (From OE-Core rev: 7a41d96c946029aeec03cd26f326bc6ca26e74fd) Signed-off-by: Darren Hart <dvhart@linux.intel.com> CC: Bruce Ashfield <bruce.ashfield@windriver.com> CC: Tom Zanussi <tom.zanussi@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08linux-yocto: streamline support for multiple upstream repo typesBruce Ashfield
In order to support repositories of various types (with or without meta data, branched, pristine, custom, etc) information about the type of processing that is required was passed to the processing phases via variables. The combination of variables involved in coordinating the processing creates a learning curve and overly complicates recipe extensions. With minor tweaks to the kern-tools, adding flexibility and keying off the existence of the meta branch it is possible to remove all of the variables that were added to support different repository types. (From OE-Core rev: 06e5f45c8f38925cd5902a3a3f436f5e9451dd16) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26More quoting fixesMartin Jansa
* We have various variables which are either not quoted at all or are half quoted. This patch fixes the bad exmaples so everything is consistent. (From OE-Core rev: 960ee8076e860353a05eb2eb7f825a455c54698d) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15linux-yocto: move common tasks to a common locationBruce Ashfield
During the initial development of the linux-yocto recipes there were several additional tasks that needed to be run in any inheriting recipe. At that time, they didn't seem to fire if they were in the include file versus the recipes themselves. As it turns out, these tasks do work fine if placed in the linux-yocto.inc file, and the rest of the recipes can be simplified as a result. (From OE-Core rev: a1ab7c5e03df97e630dfee470ff7959d3143bf41) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23linux-yocto: move more default values into linux-yocto.incBruce Ashfield
During the preparation of some linux-yocto extension documentation it was clear that some variables are being defined in each recipe, when they don't have to be. Moving the defaults into linux-yocto.in and allowing them to be overidden in recipes simpifies the reuse of the base infrastructure. (From OE-Core rev: 0ca26544efe8d650f36db9dc1c3b3a15110d7e31) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-22linux-yocto: update LICENSE to GPLv2Bruce Ashfield
As reported by Koen Kooi, the LICENSE for linux-yocto can be tightened up to specifiy the particular version of the GPL. cc: Koen Kooi <koen@dominion.thruhere.net> (From OE-Core rev: 0b163efe5536555867f71561914414648b08ed24) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-23kernel/bbclass: rework kernel and module classes to allow for building ↵Darren Hart
out-of-tree modules The existing infrastructure uses an external build tree which references the kernel source in the work dir. If run with rm work, building external modules will fail. This patch places a configured source tree in sysroots. Striking a balance between minimal size and minimal maintenance is difficult. A fully configured tree is about 500MB after a clean. This version leans on the side of caution and removes only the obviously unecessary parts of the source tree to conserve space, resulting in about 170MB. The arch directories would be some additional pruning we could do. Given examples from the devel package from distributions, I suspect this size could be reduced to 75MB or so, but at the cost of a much more complex recipe which is likely to require a great deal more maintenance to keep current with kernel releases. Care is also taken to clean the hostprogs in scripts, and the modules are responsible for building them as needed. Although it is unclear to me if this is really necessary, especially considering that modules put these bits back as soon as they compile. If we are not generating an sstate package, I suspect we can ignore these. Please try this with your modules and let me know how it does. I tried to take non linux-yocto kernel recipes into account, but I have only tested with linux-yocto and the hello-mod recipe so far. (From OE-Core rev: a9d41062e24a6b99661b3a5256f369b557433607) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Acked-by: Koen Kooi <koen@dominion.thruhere.net> Acked-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-09linux: factor dts/dtc/dtb handling into a specific includeBruce Ashfield
Fixes [BUGID #610] The powerpc linux-yocto kernels were not creating dtb images in the deploy directories. This was due to two problems: - the dtb generation rules were not being configured - the boards were not specifying a device tree in their config This change addresses the first point by factoring out the dtb generation routines into a new include that can be used by multiple recipes. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-09linux-yocto: streamline BSP bootstrappingBruce Ashfield
In order to build BSPs that were not already integrated into the upstream linux yocto kernel AND keep the git fetcher happy, some fairly complex anonymous python sections were required. These sections cause problems with variable expansion and SRCREV processing. With the updated git fetcher code, we can streamline the BSP boostrapping process and drop 99% of the anonymous python code. This commit has the following changes to support BSP boot strapping and simplication for existing BSPs. - KMETA is set per-recipe rather than in python code - undefined machines are no longer used, but instead common branch names are set per-recipe - fallback machine SRCREVs are present in the default revisions file - A new variable YOCTO_KERNEL_EXTERNAL_BRANCH should be set in the local.conf for new BSPs instead of being programatically determined in the anonymous python. - No more explicity KMACHINE variable expansion and manipulation, since the tools and build phases no longer require it due to the per-recipe fallbacks. Integrated/merged BSPs are unaffected by the changes and have been regression tested. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> foo Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-01linux-yocto: export kernel configuration audit to the consoleBruce Ashfield
Fixes [BUGID #692] Previously the information dumped by the kernel configuration audit scripts was only placed in log files. This isn't as useful as it could be, since they are rarely checked. This change takes the output from kconf_check and explicitly displays it to the user. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-23linux-yocto: Add LIC_FILES_CHKSUMSaul Wold
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-13linux-yocto: fix machine compatibilityBruce Ashfield
During the last phase of the recipe factoring, the board compatibility lists ended up in the wrong place, which meant we had an incomplete list of boards, and the same set of boards for both kernels (stable and devel). To fix this, I've yanked the compatibility to the recipes themselves and updated the emenlow to have a -stable bbappend. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-10yocto-kernel: factor common routes, update to 2.6.37 and branch renamingBruce Ashfield
In order to extend and create more kernel recipes based on the supported yocto kernel common routines need to be placed in re-usable blocks. To accomplish this meta/recipes-kernel/linux/linux-yocto_git.bb is broken into three parts: - meta/classes/kernel-yocto.bbclass: contains common routines for checking out and configuring a yocto kernel git repository. This should be inherited by recipes that need this functionality. - meta/recipes-kernel/linux/linux-yocto.inc: Contains the machine mappings, compatibility, build directives and common task definitions for a yocto kernel based recipe. This inherits kernel-yocto, and is the typical point of entry for other recipes. - meta/recipes-kernel/linux/linuux-tools.inc: tasks and function definitions for kernel recipes that want to build/export perf It also updates the linux-yocto recipe to default to 2.6.37. As part of the update to 2.6.37 the branch naming and conventions have been modified to show inheritance, and be more generic. For example: master meta yocto/base yocto/standard/arm_versatile_926ejs yocto/standard/base yocto/standard/beagleboard yocto/standard/common_pc/atom-pc yocto/standard/common_pc/base yocto/standard/common_pc_64 yocto/standard/fsl-mpc8315e-rdb yocto/standard/intel_atom_z530 yocto/standard/intel_core_qm57_pch yocto/standard/mti_malta32_be yocto/standard/preempt_rt/base yocto/standard/preempt_rt/common_pc yocto/standard/preempt_rt/common_pc_64 yocto/standard/preempt_rt/intel_atom_z530 yocto/standard/preempt_rt/intel_core_qm57_pch yocto/standard/qemu_ppc32 yocto/standard/routerstationpro In this structure: master: tracks the mainline kernel meta: meta information for the BSPs and kernel features yocto/base: baseline kernel branch yocto/standard/base: 'standard' kernel, contains features and configs for all BSPs yocto/standard/<machine>: represents a BSP with specific features or configurations The tools, tree and libc-headers have all been updated to deal with this new structure. Also in addition to dealing with the new structure, they continue to work with the existing tree and will adapt at runtime to the differences. The linux-yocto-stable_git.bb recipe continues to build the 2.6.34 based tree,and linux-yocto_git.bb builds 2.6.37. As boards are enabled for the new kernel they will move from -stable to the development kernel. As of now, only the emulated targets have moved to 2.6.37-rcX Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>