summaryrefslogtreecommitdiffstats
path: root/meta-oe/classes/kernel.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* kernel bbclass: deleteKoen Kooi2012-11-291-555/+0
| | | | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
* kernel.bbclass: remove explicit version.h targetBruce Ashfield2012-11-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* kernel.bbclass: convert tab indentation in python functions into four-spaceRichard Purdie2012-07-191-171/+171
| | | | | | 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>
* kernel.bbclass: fix external module buildingDenis Carikli2012-07-191-0/+3
| | | | | | | | | | 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>
* kernel.bbclass: replace os.system with subprocess.callRobert Yang2012-07-181-2/+2
| | | | | | | | | | | | | | | 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>
* kernel.bbclass: add deploy link to KERNEL_IMAGETYPEChristopher Larson2012-07-181-0/+1
| | | | | | | | | 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>
* kernel.bbclass: Dont package kxgettext.oKhem Raj2012-07-181-1/+1
| | | | | | | | | | | | | | 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>
* kernel.bbclass: add non-santized kernel providesBruce Ashfield2012-07-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* kernel: Add kernel headers to kernel-dev packageDarren Hart2012-07-181-15/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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>
* recipes-kernel: make perf a standalone packageLiang Li2012-07-181-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* kernel: save $kerndir/tools and $kerndir/lib from pruningBruce Ashfield2012-07-181-1/+1
| | | | | | | | | | | | | | | | | | | 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>
* kernel.bbclass: pass KERNEL_VERSION to depmod calls in postinstMartin Jansa2012-06-201-2/+2
| | | | | | | | | | * 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>
* kernel.bbclass: Use kmod-native instead of module-init-tools-crossKhem Raj2012-05-071-4/+3
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* kernel.bbclass: move kernel-vmlinux up in PACKAGESChristopher Larson2012-05-071-1/+1
| | | | | | | | | | 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>
* kernel bbclass: recreate uImage unless KEEPUIMAGE is setKoen Kooi2012-04-271-1/+1
| | | | | | | | | | | 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>
* kernel: Fix packaging issueSaul Wold2012-04-261-1/+1
| | | | | | | | | | | | | 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>
* {kernel, module}.bbclass: don't run depmod for module packages during do_rootfsAndreas Oberritter2012-04-261-3/+1
| | | | | | | | | | | | | | | | * 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>
* kernel.bbclass: resync with oe-core versionMartin Jansa2012-04-261-31/+33
| | | | | | | * 4 spaces for anonymous python * don't recreate uImage if it already exists Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* kernel.bbclass: unify white spacesMartin Jansa2012-03-291-39/+39
| | | | | | | | * 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>
* kernel.bbclass: Allow do_compile_kernelmodules to use PARALLEL_MAKERichard Purdie2012-03-291-1/+1
| | | | | | | | 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>
* kernel.bbclass: touch .scmversion also in ${S}Martin Jansa2012-03-291-1/+1
| | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* kernel.bbclass: don't create /etc/modutils/*Martin Jansa2012-03-261-8/+4
| | | | | | * update-modules was updated to read /etc/modules-load.d/*.conf Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* kernel.bbclass: use symlinks for modutils filesMartin Jansa2012-03-261-5/+3
| | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* kernel.bbclass: fix extra + in kernelreleaseMartin Jansa2012-03-261-0/+6
| | | | | | * see http://lists.linuxtogo.org/pipermail/openembedded-core/2011-December/014308.html Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* kernel.bbclass: use better number for KERNEL_PRIORITYMartin Jansa2012-03-261-1/+3
| | | | | | | | | | * 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>
* kernel.bbclass: populate /etc/modules-load.d/ with module_autoload entries tooMartin Jansa2012-03-231-2/+8
| | | | | | | * /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>
* kernel.bbclass: import QA warning fix for unpackaged files from oe-coreMartin Jansa2012-03-231-0/+10
| | | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
* kernel.bbclass: import s/1/True/ changes from oe-core versionMartin Jansa2012-03-231-23/+23
| | | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
* kernel.bbclass: fix pkg_postinst and pkg_postrm (from oe-core)Andrea Adami2012-01-091-2/+2
| | | | | | | | | | * 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>
* kernel bbclass: sync with OE-coreKoen Kooi2011-12-111-44/+61
| | | | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
* kernel.bbclass: save kernel image name into $kerneldirOtavio Salvador2011-08-221-0/+6
| | | | | | | | 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>
* kernel.bbclass: fix spacing to reduce delta between oe-core and meta-oeOtavio Salvador2011-08-221-5/+4
| | | | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* kernel: copy defconfig to {B} vs {S}Bruce Ashfield2011-08-051-2/+2
| | | | | | | | | | | | | | | | | | | | | 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>
* kernel,module-base.bbclass: Improve KERNEL_LD & KERNEL_AR variablesNitin A Kamble2011-08-051-1/+1
| | | | | | | | | | | | 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>
* kernel.bbcalss: Added do_savedefconfig task.Noor, Ahsan2011-08-051-0/+6
| | | | | | | * 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>
* kernel,cml1.bbclass: Move menuconfig to cml1Noor, Ahsan2011-08-051-15/+0
| | | | | | | * 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>
* kernel.bbclass: sync with oe-core after recent initramfs mergesKoen Kooi2011-07-151-6/+5
| | | | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
* base/kernel/image.bbclass: Clean up do_deploy ordering to ensure it just ↵Richard Purdie2011-07-151-1/+1
| | | | | | | happens before a build completes Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
* kernel: move menuconfig task after configureDarren Hart2011-07-151-1/+1
| | | | | | | | | | | | | | 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>
* kernel.bbclass, task-base: remove references to obsolete bluez-dtl1-workaroundPhil Blundell2011-07-151-5/+0
| | | | | | 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>
* kernel.bbclass: blacklist 'perf-dbg' as well for the modules meta packageKoen Kooi2011-07-021-1/+1
| | | | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
* kernel.bbclass: sync with OE-coreKoen Kooi2011-07-021-4/+3
| | | | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
* kernel.bbclass: Add support for perf-dbg packageMark Hatle2011-07-021-1/+2
| | | | | | | | | | 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>
* image|kernel.bblass|module-init-tools: do not use depmod-2.6Anders Darander2011-07-021-6/+4
| | | | | | | | | | 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>
* Remove support for building 2.4 kernelsAnders Darander2011-07-021-10/+2
| | | | | Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: Ensure kernel/* internal sysroot working directory don't get ↵Richard Purdie2011-07-011-0/+6
| | | | | | | | | 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>
* kernel.bbclass: Stop do_install poking directly into the sysroot and evading ↵Richard Purdie2011-06-231-1/+1
| | | | | | | | | | | | | | 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>
* kernel.bbclass: Stage System.map with KERNEL_VERSION suffixTom Rini2011-06-231-0/+1
| | | | | | | 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>
* kernel.bbclass: restore kernel-abiversion fileKoen Kooi2011-06-221-0/+6
| | | | | | | | | | | | | | 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>
* kernel.bbclass: pass KERNEL_VERSION through legitimize_package_nameAndreas Oberritter2011-05-201-2/+2
| | | | | | | | | | - 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>