aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/classes/kernel.bbclass
AgeCommit message (Collapse)Author
2013-04-05kernel bbclass: return to original directory in do_deployChase Maupin
* During the base kernel_do_deploy function the directory is changed to DEPLOYDIR in order to do some cleanup and symlinking. However, the directory is not changed back to the original starting directory ${S} at the end. For append functions this means that the starting directory is not ${S} as expected but instead ${DEPLOYDIR}. For functions like the do_deploy_append in recipes-kernel/linux/linux-dtb.inc there is an assumption that you are still in the source directory and not the DEPLOYDIR. Without this change the .dtb files are not copied because the check for the existence of ${DTS_FILE} which is a relative path from the ${S} directory fails. This means that the .dtb files are not copied into the deploy directory and subsequently the deploy/images directory. In the log.do_deploy file you will see lines like: Warning: arch/arm/boot/dts/xxxxx.dts is not available! This fix has also been picked up in the oe-core kernel.bbclass: http://cgit.openembedded.org/openembedded-core/commit/?id=fd5d80ab1a405cb4ef94f2cde25f8c251da490f0 Signed-off-by: Chase Maupin <Chase.Maupin@ti.com> Signed-off-by: Eric Bénard <eric@eukrea.com>
2012-11-13kernel.bbclass: remove explicit version.h targetBruce Ashfield
The compilation routine for the kernel has an explicit call to build version.h, which works fine for most kernels, but the location of it has recently changes. commit d183e6f5 [UAPI: Move linux/version.h] commit 10b63956 [UAPI: Plumb the UAPI Kbuilds into the user header installation and checking] moves the file to include/generated/linux/version.h and then to include/generated/uapi/linux/version.h. As a result kernel builds of 3.7 or bisection builds of intermediate kernel commits will fail with: make[2]: *** No rule to make target `include/linux/version.h'. Stop. Making the explicit version.h build conditional on the version, or via a file test would fix the problem, but it introduces some complexity to the build. Even without an explicit call to build version.h, it is always produced by the kernel build, so it can simply be removed. This extra make line was originally so that the kernel version could be determined, so that then different instructions could be executed depending on whether it was a 2.4 or 2.6 kernel. Since we no longer support 2.4, this code is no longer needed. [YOCTO: #3293] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19kernel.bbclass: convert tab indentation in python functions into four-spaceRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-19kernel.bbclass: fix external module buildingDenis Carikli
Without that fix we have the following while compiling compat-wireless. include/linux/mmzone.h:18:30: fatal error: generated/bounds.h: No such file or directory Note that the compat-wireless recipe will be added in another commit. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18kernel.bbclass: replace os.system with subprocess.callRobert Yang
Replace os.system with subprocess.call since the older function would fail (more or less) silently if the executed program cannot be found More info: http://docs.python.org/library/subprocess.html#subprocess-replacements [YOCTO #2454] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18kernel.bbclass: add deploy link to KERNEL_IMAGETYPEChristopher Larson
It's common to provide a non-machine-suffixed link in DEPLOY_DIR_IMAGE, so let's be consistent and do so here as well. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18kernel.bbclass: Dont package kxgettext.oKhem Raj
kxgettext.o is generated when building ppc kernels so we end up with packaging errors like > ERROR: QA Issue: Architecture did not match (20 to 62) on > /work/virtex5-poky-linux/linux-xilinx-2.6.38-r00/packages-split/kernel-dev/usr/src/kernel/scripts/kconfig/kxgettext.o Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18kernel.bbclass: add non-santized kernel providesBruce Ashfield
If the kernel version string uses characters or symbols that need to be santized for the package name, we can end up with a mismatch between module requirements and what the kernel provides. The kernel version is pulled from utsrelease.h, which contains the exact string that was passed to the kernel build, not one that is santized, this can result in: echo "CONFIG_LOCALVERSION="\"MYVER+snapshot_standard\" >> ${B}/.config <build> % rpm -qp kernel-module-uvesafb-3.4-r0.qemux86.rpm --requires update-modules kernel-3.4.3-MYVER+snapshot_standard % rpm -qp kernel-3.4.3-myver+snapshot-standard-3.4-r0.qemux86.rpm --provides kernel-3.4.3-myver+snapshot-standard = 3.4-r0 At rootfs assembly time, we'll have a dependency issue with the kernel providing the santizied string and the modules requiring the utsrelease.h string. To not break existing use cases, we can add a second provides to the kernel packaging with the unsantized version string, and allowing the kernel module packaging to be unchanged. RPROVIDES_kernel-base += "kernel-${KERNEL_VERSION}" % rpm -qp kernel-3.4.3-myver+snapshot-standard-3.4-r0.qemux86.rpm --provides kernel-3.4.3-MYVER+snapshot_standard kernel-3.4.3-myver+snapshot-standard = 3.4-r0 Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18kernel: 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. 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: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18recipes-kernel: make perf a standalone packageLiang Li
perf has been coupled to the kernel packages via kernel.bbclass. While maintaining the build of perf out of the kernel source tree is desired the package coupling has proved to be awkward in several situations such as: - when a kernel recipe doesn't want to build/provide perf - when licensing of dependencies would prohibit perf and hence the kernel from being built. To solve some of these problems, this recipe is the extraction of the linux-tools.inc provided perf compilation into a standalone perf recipe that builds out of the kernel source, but is otherwise independent. No new functionality is provided above what the linux-tools.inc variant provided, but the separate recipe provides baseline for adding new functionality. Signed-off-by: Liang Li <liang.li@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18kernel: save $kerndir/tools and $kerndir/lib from pruningBruce Ashfield
The kernel source tree in the sysroot has all unecessary source code removed. The existing use case is to support module building out of the sysroot, but as more toolsa are moved into the kernel tree itself there are new use cases for the kernel sysroot source. To avoid putting dependencies on the kernel, and to be able to individually build and package these tools out of the source tree, we can save $kerndir/tools and $kernddir/lib from being removed. This enables tools like perf to be built our of the kernel source in the sysroot, without significantly increasing the amount of source in the sysroot. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-06-20kernel.bbclass: pass KERNEL_VERSION to depmod calls in postinstMartin Jansa
* without this, kernel upgrades where KERNEL_VERSION is changed e.g. 3.4.2 -> 3.4.3 generate .dep for running 3.4.2 and after reboot user ends up without any module loaded to make it worse after reboot nothing is upgraded to trigger another kernel(-module) postinst to generate .dep for now running 3.4.3 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-05-07kernel.bbclass: Use kmod-native instead of module-init-tools-crossKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-05-07kernel.bbclass: move kernel-vmlinux up in PACKAGESChristopher Larson
If KERNEL_IMAGETYPE is vmlinux, the expectation is most likely that there will be no kernel image package, but we still want a vmlinux package for debugging, so move kernel-vmlinux in front of kernel-image in PACKAGES. Signed-off-by: Christopher Larson <kergoth@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-04-27kernel bbclass: recreate uImage unless KEEPUIMAGE is setKoen Kooi
The intent of the uImage code in this class includes the following 1) be able to specify custom load addresses without needing to patch the kernel 2) add better information to the uImage description field The current state is a NOP anyway, the kernel will always build a uImage when you tell it to 'make uImage'. Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-04-26kernel: Fix packaging issueSaul Wold
Remove /etc since it is empty, when creating a machine that does not deliver any module config files, the /etc is empty and is then warned about not being shipped, so we remove it. This occurs in the routerstationpro with the following warning: WARNING: For recipe linux-yocto, the following files/directories were installed but not shipped in any package: WARNING: /etc Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-04-26{kernel, module}.bbclass: don't run depmod for module packages during do_rootfsAndreas Oberritter
* depmod already gets executed by pkg_postinst_kernel-image. * If you build a module using module.bbclass, pkg_postinst returns 1 in do_rootfs, causing pkg_postinst to run again on first boot. To improve this situation, I copied pkg_postinst from kernel.bbclass to module.bbclass. This was rejected by Koen, because he doesn't like the code from kernel.bblcass, which uses ${STAGING_DIR_KERNEL}. Richard then suggested that calling depmod during do_rootfs wasn't necessary at all, because it already gets done by kernel-image. Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-04-26kernel.bbclass: resync with oe-core versionMartin Jansa
* 4 spaces for anonymous python * don't recreate uImage if it already exists Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-29kernel.bbclass: unify white spacesMartin Jansa
* indentation was with spaces and tabs, unify to use tabs instead of spaces, because "python populate_packages" expects tabs (or 8 spaces) and we're doing populate_packages_preppend here Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-29kernel.bbclass: Allow do_compile_kernelmodules to use PARALLEL_MAKERichard Purdie
Without this we don't take advantage of any configured multiple CPU cores which seems a shame. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-29kernel.bbclass: touch .scmversion also in ${S}Martin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-26kernel.bbclass: don't create /etc/modutils/*Martin Jansa
* update-modules was updated to read /etc/modules-load.d/*.conf Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-26kernel.bbclass: use symlinks for modutils filesMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-26kernel.bbclass: fix extra + in kernelreleaseMartin Jansa
* see http://lists.linuxtogo.org/pipermail/openembedded-core/2011-December/014308.html Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-26kernel.bbclass: use better number for KERNEL_PRIORITYMartin Jansa
* there is no upgrade from 2.6.X to 3.X.Y last part of PV is used as kernel priority for u-a, but X is usually higher then Y in 3.x.x so use all 3 parts in one bigger number * and make it weak assignment if this scheme doesn't work for some recipe Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-23kernel.bbclass: populate /etc/modules-load.d/ with module_autoload entries tooMartin Jansa
* /etc/modules-load.d/foo.conf is used by systemd like /etc/modutils/foo was with sysvinit Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-03-23kernel.bbclass: import QA warning fix for unpackaged files from oe-coreMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-03-23kernel.bbclass: import s/1/True/ changes from oe-core versionMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-01-09kernel.bbclass: fix pkg_postinst and pkg_postrm (from oe-core)Andrea Adami
* Symptom: kernel symlink in /boot is not created. * Rename in order to create the expected files: * /var/lib/opkg/info/kernel-3.1.4.postinst * /var/lib/opkg/info/kernel-3.1.4.postrm Signed-off-by: Andrea Adami <andrea.adami@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-12-11kernel bbclass: sync with OE-coreKoen Kooi
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-08-22kernel.bbclass: save kernel image name into $kerneldirOtavio Salvador
Save the kernel image name into sysroot so it can be used during image build if need. This is used by O.S. Systems products and probably useful to others. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2011-08-22kernel.bbclass: fix spacing to reduce delta between oe-core and meta-oeOtavio Salvador
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2011-08-05kernel: copy defconfig to {B} vs {S}Bruce Ashfield
For kernel's that use a split source/object build the copy of defconfig to {S} in the base kernel class is problematic. The previous solution for this was to override the do_configure of the base kernel class in a subclass. While this is still a viable/valid option, it does mean that changes to the base do_configure will be missed. The solution to this is to copy a defconfig to {B} which is typically the same as {S}, so most kernel recipes won't see or care about this change. With this change in place, linux-yocto.bbclass can drop its override of do_configure. Tested with linux-yocto and oe linux recipes. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-08-05kernel,module-base.bbclass: Improve KERNEL_LD & KERNEL_AR variablesNitin A Kamble
KERNEL_LD was using ${LD} in it's definition, which is not correct for different ABIs such as x32 or i386 on x86_64 machine. This brings it into sync with the corresponding gcc settings, likewise the same with the KERNEL_AR variable. [RP: Updated commit message] Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-08-05kernel.bbcalss: Added do_savedefconfig task.Noor, Ahsan
* Added do_savedefconfig task to kernel.bbclass. Signed-off-by: Noor, Ahsan <noor_ahsan@mentor.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-08-05kernel,cml1.bbclass: Move menuconfig to cml1Noor, Ahsan
* The menuconfig target exists in places other than the kernel that use kernel style config. Signed-off-by: Noor, Ahsan <noor_ahsan@mentor.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-07-15kernel.bbclass: sync with oe-core after recent initramfs mergesKoen Kooi
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-07-15base/kernel/image.bbclass: Clean up do_deploy ordering to ensure it just ↵Richard Purdie
happens before a build completes Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-07-15kernel: move menuconfig task after configureDarren Hart
Fixes [YOCTO 1136] linux-yocto adds some configure steps that are necessary to prepare the source tree after the do_patch task. This causes a "-c menuconfig" to fail in a clean build tree. Typical use of menuconfig should be to modify the config provided by the recipe being built. It therefor makes sense for the menuconfig task to come after the configure task. This also happens to fix the issue seen with the linux-yocto kernel recipe. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-07-15kernel.bbclass, task-base: remove references to obsolete bluez-dtl1-workaroundPhil Blundell
Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-07-02kernel.bbclass: blacklist 'perf-dbg' as well for the modules meta packageKoen Kooi
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-07-02kernel.bbclass: sync with OE-coreKoen Kooi
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-07-02kernel.bbclass: Add support for perf-dbg packageMark Hatle
The perf component is built with the kernel, so ensure that it gets the debug information associated with it. Also bump the PR in the linux-yocto-* to ensure they get rebuilt. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-07-02image|kernel.bblass|module-init-tools: do not use depmod-2.6Anders Darander
Change to only depend on virtual/*/depmod. Change all calls to only use depmod. Do not install depmod as depmod-2.6 Bump PR in module-init-tools-cross. Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-02Remove support for building 2.4 kernelsAnders Darander
Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-01kernel.bbclass: Ensure kernel/* internal sysroot working directory don't get ↵Richard Purdie
packaged This removes a couple of megabytes of QA warnings! Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-06-23kernel.bbclass: Stop do_install poking directly into the sysroot and evading ↵Richard Purdie
sstate do_install was putting files directly into the sysroot which means sstate had no knowledge of them. This meant they didn't get cleaned along with the other files from the task amongst other issues. This patch puts them in ${D} where they were supposted to be. Tested-by: Tom Rini <tom_rini@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-06-23kernel.bbclass: Stage System.map with KERNEL_VERSION suffixTom Rini
Without this, images will fail now that kernel-abiversion is back. Signed-off-by: Tom Rini <tom_rini@mentor.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-06-22kernel.bbclass: restore kernel-abiversion fileKoen Kooi
This fixes external module recipes that need $KERNEL_VERSION. It got removed by commit a9d41062e24a6b99661b3a5256f369b557433607 Author: Darren Hart <dvhart@linux.intel.com> Date: Tue Mar 8 17:09:10 2011 -0800 kernel/bbclass: rework kernel and module classes to allow for building out-of-tree modules seemingly as an oversight. Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-05-20kernel.bbclass: pass KERNEL_VERSION through legitimize_package_nameAndreas Oberritter
- KERNEL_VERSION may contain characters unsuitable for package names, e.g. underscores. Use legitimize_package_name to replace those characters. Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>