aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/kernel.bbclass
AgeCommit message (Collapse)Author
2014-03-21classes/kernel: move module postinst commands to kernel-basePaul Eggleton
Since kernel-base is the package that contains the files that depmod needs to run, we should be running depmod from the kernel-base postinstall rather than kernel-image. Fixes [YOCTO #5392]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-13kernel.bbclass, base.bbclass: Fix support for old kernel configurationOtavio Salvador
This solves a regression introduced by OE-Core:9b75f6a (kernel: use oldnoconfig before yes '' | make oldconfig). The original oe_runmake explicitly calls 'die' command in case of failure so the fallback code never runs. The fallback code needs to handle the oe_runmake return code to call the backward compatible callback so we introduced a new command called oe_runmake_call which is used by oe_runmake. This does not change the functional behaviour of oe_runmake so it avoids any change except for the code which does need to handle the oe_runmake exit code. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11kernel: use oldnoconfig before yes '' | make oldconfigAlexandre Belloni
When using a defconfig, using yes '' | make oldconfig may not result in the correct configuration being set. For example: $ ARCH=mips make qi_lb60_defconfig # # configuration written to .config # $ grep USB_ETH .config CONFIG_USB_ETH=y # CONFIG_USB_ETH_RNDIS is not set # CONFIG_USB_ETH_EEM is not set $ cp arch/mips/configs/qi_lb60_defconfig .config $ yes '' | make ARCH=mips oldconfig [...] $ grep USB_ETH .config CONFIG_USB_ETH=m # CONFIG_USB_ETH_RNDIS is not set # CONFIG_USB_ETH_EEM is not set Using make olddefconfig solves that but we'll use the oldnoconfig alias for backward compatibility with older kernels. $ cp arch/mips/configs/qi_lb60_defconfig .config $ make ARCH=mips oldnoconfig scripts/kconfig/conf --olddefconfig Kconfig # # configuration written to .config # $ grep USB_ETH .config CONFIG_USB_ETH=y # CONFIG_USB_ETH_RNDIS is not set # CONFIG_USB_ETH_EEM is not set Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11kernel: stop using -exec rm for deleting filesBruce Ashfield
Removing files from the source tree via find, exec and rm is not the most efficient operation, due to (among other things) the many forked processes. If we use -delete, it saves a significant amount of time. But -delete does not work with -prune (since it forces -depth). To maintain the lib, tools and scripts source files, we can hide them temporarily, skip their hidden directories and then finally restore them. Time for install before this change: real 2m48.563s user 0m35.220s sys 0m33.036s Time for install after this change: real 1m21.301s user 0m33.160s sys 0m28.388s We could further speed this up by using inline perl to delete the files, but that complexity is avoided for now. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-02kernel.bbclass: Fix empty modules directory QA issueNathan Rossi
If a kernel is built without any external modules (aka no CONFIG_*=m), then during a modules_install of the kernel an empty directory is created at /lib/modules/${KERNEL_VERIONS}/kernel. This is behaviour of the kernel infrastructure, the directory would normally be populated with the modules that were built. However because of the expectations of kernel-modules-split, no packages are created when there are no modules and an empty directory lingers. This raises QA issues as warning or errors (depending on the distro). The following patch changes the kernel_do_install task to check if the directory is empty and if so removes it. Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-14kernel.bbclass: add support for LZ4 initramfs filesKoen Kooi
Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-12classes/module_strip: removePaul Eggleton
This class has been empty since 2010, so we shouldn't need it anymore. A check of common layers suggests there shouldn't be any references to it outside of OE-Core. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-27Revert "kernel: restore scripts in the sysroot"Richard Purdie
This reverts commit 6a6735cb98d529c8c5376aedb5c951339f54fe96. The module class already ensures the scripts are rebuilt correctly. Running this at sstate installation time is problematic since it can require the cross compiler. Adding such a dependency would cause issues of its own. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-22kernel.bbclass: Stop bundle_initramfs thwarting sstate cache and fix raceMike Crowe
The new do_bundle_initramfs task introduced in 609d5a9ab9e58bb1c2bcc2145399fbc8b701b85a defeats using the sstate cache. The kernel is resurrected from the sstate cache but ends up being built again since do_bundle_initramfs depends on do_compile. The task is no longer nostamp to avoid causing unnecessary rebuilds. The sstate checksum stamps should know when to rebuild. The task now runs before do_deploy and part of the work has been moved to do_deploy where it now writes to ${DEPLOYDIR} rather than ${DEPLOY_DIR_IMAGE} so that the files end up in sstate. The task can also race against do_install since both call into the kernel build system. This is fixed by making do_bundle_initramfs run after do_install (which therefore also fixes the problem that 3baa63b4d588c3262254528b406ede265dd117bf was addressing.) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-22Revert "kernel.bbclass: move bundle_initramfs after kernel_link_vmlinux"Mike Crowe
This reverts commit 3baa63b4d588c3262254528b406ede265dd117bf. It broke builds that aren't using kernel-yocto. Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-20kernel.bbclass: move bundle_initramfs after kernel_link_vmlinuxMing Liu
${KERNEL_OUTPUT} is being renamed/restored in bundle_initramfs task, so we must ensure bundle_initramfs run after kernel_link_vmlinux where the link of vmlinux is created as the bootable image. Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-11-20kernel.bbclass: Use lzma not lzmash for decompressingPhil Blundell
If kernel_do_compile() encounters a .lzma image for the initramfs, it attempts to decompress it using the little-known "lzmash" utility. This may not be present, which will cause the build to fail. Fortunately, it appears that the more mainstream "lzma" tool is compatible so we can use that one instead. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-11-16kernel.bbclass: fix hardlink testBruce Ashfield
The commit [kernel.bbclass: test for hardlinks before installing] doesn't work on all build machines without a space between the ! and the test for hardlink equivalance. The build continues, while the test fails and no copy is made into the sysroot. Eventually tasks like build_hdimg will fail with the missing kernel with the root cause being less than obvious. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-15kernel.bbclass: test for hardlinks before installingBruce Ashfield
commit df564c4 [kernel: Use hardlinks for do_populate_sysroot for speed] does indeed speed up the build, but it also means that the KERNEL_OUPUT and KERNEL_IMAGETYPE may be hardlinks. If they are hardlinks, install complains that they are actually the same file and stops the build. We can easily test and avoid the copy if the file is already in place. [YOCTO #5527] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-12kernel: Use hardlinks for do_populate_sysroot for speedRichard Purdie
The kernel tree is large and doesn't need to be copied. Override the default sysroot handling function to use a hardlink copying function in python. This commit also drops the copying of the /lib directory which just contains the kernel modules. We never use those in the sysroot so there is little point in carrying those around. For linux-yocto this takes the do_populate_sysroot time 24s -> 14s. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-12kernel: Use hardlinks during do_install for speedRichard Purdie
Whilst the comment says we can't do this, its incorrect, install operates on WORKDIR and its hard for different parts of WORKDIR to be on different filesystems. Hardlinking instead of copying is therefore a nice performance gain. Also, completely skip the Documentation directory (adding a dummy Makefile to keep make happy) and tweak the other cp commands to link since if we don't we'd get "this is the same file" type errors from cp for some kernel versions. For do_install on linux-yocto, this takes it from 227s -> 84s. (From OE-Core rev: 0727e510f8533216518563b1533e804a1dc44402) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-04kernel.bbclass: Delay rm_work to run after do_bundle_initramfsXufeng Zhang
Since kernel will build twice when we are trying to bundle kernel and initramfs together after commit 609d5a9ab("kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency and bundling"), thus, the second building for kernel would fail if rm_work is done previously. To fix this problem, we need to make do_bundle_initramfs task run before do_rm_work task. [YOCTO #5416] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-10-14kernel: restore scripts in the sysrootBruce Ashfield
When building against the sysroot, out of tree modules can require modpost and other utilities normally found in the kernel's scripts directory. For the kernel source in the staging dir, these scripts have been removed to avoid mixing archiectures when packaging kernel-dev (among other things). Rather than further complicate the kernel's install rule, or its packaging, we can restore the scripts by building them in the kernel staging directory after the sstate is installed, making them available to packages that need them. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-14kernel.bbclass: unset LDFLAGS when run devshell in kernel recipeNobuhiro Iwamatsu
When user runs devshell in kernel recipe and compiles kernel, this will fail by unrecognized option of LD. ---- $ make ... arm-poky-linux-gnueabi-ld: unrecognized option '-Wl,-O1' arm-poky-linux-gnueabi-ld: use the --help option for usage information ---- This set to empty LDFLAGS when user runs the devshell, and solve this problem. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-30kernel.bbclass: Allow INITRAMFS_TASK to trigger copy initramfs codeJason Wessel
Activating the INITRAMFS_TASK can cause circular dependencies, but that is up to the end user to resolve in recipes. The INITRAMFS_TASK should also trigger immediate linking of the cpio task in the first compile pass. This was a subtle regression introduced by: 609d5a9ab (kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency and bundling). This patch restores the previous behavior and only affects the INITRAMFS_TASK which is not set by any of the default build profiles in oe-core. Reviewed-by: Andrea Adami <andrea.adami@gmail.com> Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency and ↵Jason Wessel
bundling This patch aims to fix the following two cases for the INITRAMFS generation. 1) Allow an image recipe to specify a paired INITRAMFS recipe such as core-image-minimal-initramfs. This allows building a base image which always generates the needed initramfs image in one step 2) Allow building a single binary which contains a kernel and the initramfs. A key requirement of the initramfs is to be able to add kernel modules. The current implementation of the INITRAMFS_IMAGE variable has a circular dependency when using kernel modules in the initramfs image.bb file that is caused by kernel.bbclass trying to build the initramfs before the kernel's do_install rule. The solution for this problem is to have the kernel's do_bundle_initramfs_image task depend on the do_rootfs from the INITRAMFS_IMAGE and not some intermediate point. The image.bbclass will also sets up dependencies to make the initramfs creation task run last. The code to bundle the kernel and initramfs together has been added. At a high level, all it is doing is invoking a second compilation of the kernel but changing the value of CONFIG_INITRAMFS_SOURCE to point to the generated initramfs from the image recipe. [YOCTO #4072] Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Acked-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-13kernel.bbclass: Correct post(inst|rm) package associationDarren Hart
Fixes [YOCTO #4991] The kernel image is installed as part of the kernel-image package, but the symlink creation/removal via alternatives is being done in pkg_post(inst|rm)_kernel-base. Move the postinst alternatives logic into the kernel-image functions. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-05kernel.bbclass: fix typoJavier Viguera
Signed-off-by: Javier Viguera <javier.viguera@digi.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-07kernel.bbclass: Fix link for modules-${MACHINE}.tgzYi Zhao
The modules-${MACHINE}.tgz should link to ${MODULE_TARBALL_BASE_NAME}. But now it links to an invalid file ${MODULE_TARBALL_BASE_NAME}.bin. Remove the extra .bin suffix. [YOCTO #4595] Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-24kernel: Remove unnecessary cd and rm, fix MODULE_TARBALL_SYMLINK_NAME creationMartin Jansa
* DEPLOYDIR is used as target for every other file deployed by do_deploy, this was just unnecessary switching CWD to create relative symlink and I have no idea why rm -f was used together with ln -sf. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-24kernel.bbclass: Add dependency on binutilsMike Crowe
Compiling the Linux kernel requires binutils; kernel.bbclass uses INHIBIT_DEFAULT_DEPS so it had better depend on binutils explicitly. (The lack of this dependency isn't always a problem because binutils is required to build gcc-cross but if gcc-cross is reconstructed from the sstate cache then gcc-cross's dependency on binutils-cross is ignored due to being in the safe dependency list in setscene_depvalid.) Signed-off-by: Mike Crowe <mac@mcrowe.com> Acked-by: Phil Blundell <philb@gnu.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-10kernel.bbclass: make FILES package-specificTom Zanussi
Fix QA warnings seen when using 'traditional' kernel recipes e.g.: WARNING: QA Issue: .../recipes-kernel/linux/linux_3.0.18.bb: Variable FILES is set as not being package specific, please fix this. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-15kernel.bbclass: Ensure we have correct version information in deploy dataRichard Purdie
Currently the names used for the kernel in deploy will contain "AUTOINC" instead of the final incremental numbering. This fixes the problem by ensuring data is obtained from the PR service and using the PKG* variables instead of PE/PV/PR directly. [YOCTO #4293] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-12kernel.bbclass: Optionally create lib dir during deployKhem Raj
when we have multilib and a 64bit machine and initramfs then image/lib directory will not be created and it will end up with errors like | DEBUG: Executing python function sstate_task_prefunc | DEBUG: Python function sstate_task_prefunc finished | DEBUG: Executing shell function do_deploy | tar: lib: Cannot stat: No such file or directory | tar: Exiting with failure status due to previous errors So in order to overcome this shortcoming lets mkdir -p the lib directory so the modules can be happily installed. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-11kernel.bbclass: do_strip: allow recipes to strip the kernelMichel Thebeau
Allow recipes to specify sections to be stripped from the kernel output using KERNEL_IMAGE_STRIP_EXTRA_SECTIONS. For example: KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment .unwanted" The kernel output is stripped in place. Since the toolchain does not give indication when the specified sections are absent, we read the sections first and make this report by issuing a warning to the developer. The toolchain by default strips the image with the -s option (even when -s is not specified): -s --strip-all Remove all symbol and relocation information For example, these sections are always removed: .debug_aranges .debug_info .debug_abbrev .debug_line .debug_frame .debug_str .debug_loc .debug_ranges .symtab .strtab In addition to these, the sections listed in KERNEL_IMAGE_STRIP_EXTRA_SECTIONS will also be removed. Only stripping of vmlinux (elf) is supported at this time. A warning will be given if the image type is not vmlinux. Stripping the image could also be done in the kernel, but that would only work for linux-yocto based kernels, so it's not the route we decided to go. [YOCTO 3515] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-08kernel.bbclass: do_sizecheck: update path to build image and do not deleteMichel Thebeau
do_sizecheck has a few issues especially with vmlinux image type. It breaks because KERNEL_OUTPUT is a path relative to ${B}. When do_sizecheck runs it does not find the file (because the working directory is elsewhere) and does not fail. Also, the image file referenced by KERNEL_OUTPUT may be a link. Finally, when do_sizecheck deletes the oversized kernel image it leaves the previously run do_compile task with inaccurate status. So, do the following: - specify that the working directory should be ${B} - use ls -L to reference to the real file, and ensure that the link file is created - keep the oversized image file so the status of do_compile is valid [YOCTO #3514] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-18kernel 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! Signed-off-by: Chase Maupin <Chase.Maupin@ti.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-04kernel: extract functions for kernel modules to separate bbclassMartin Jansa
* this way we can reuse the same functionality also for external modules including module_autoload_foo and module_conf_foo functionality * MODULE_PACKAGES variable was removed (splited modules are now returned by do_split_packages * KERNEL_MODULES_META_PACKAGE is used to append all splitted packages to RDEPENDS. In kernel.bbclass it's old "kernel-modules" in module.bbclass it defaults to ${PN} for upgrade path from single PN with all modules to PN depending on all new kernel-module-* Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-01Add KERNEL_EXTRA_ARGS parameterWolfgang Denk
With recent kernel versions, some ARM configurations need may fail to build with errors like this: multiple load addresses: 0x80008000 0x80008000 This is incompatible with uImages Specify LOADADDR on the commandline to build an uImage We cannot pass this information in EXTRA_OEMAKE, as "meta/classes/kernel.bbclass" explicitly ignores all EXTRA_OEMAKE settings. So add KERNEL_EXTRA_ARGS parameter so affected boards can add for example KERNEL_EXTRA_ARGS = "LOADADDR=0x80008000" to their configuration. We make this general enough so other needed command line options can be passed as well when compiling the kernel. Signed-off-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-01module.bbclass: Create a new depmodwrapper to assist cross-installsMark Hatle
Previously the build path to STAGING_KERNEL_DIR was being embedded into the package post install scripts. We avoid this behavior by generating a special depmodwrapper script. This script contains that hard-coded path, ensuring that re-use of the sstate-cache (and/or packages) will always run through the wrapper generated by the current build with a checksum that includes STAGING_KERNEL_DIR. [ YOCTO #3962 ] 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>
2013-03-01kernel.bbclass: Add missing modules.order and modules.builtinsMark Hatle
When running depmod, from kmod, warnings about missing modules.order and modules.builtins occur. Looking back it is not clear why these files were being ignored, other then nobody knew what to do with them. Add the files into the kernel-base package, if they exist, ensuring they will always get installed if at least one module is installed. [ YOCTO #3963 ] Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-06package.bbclass: Add PACKAGESPLITFUNCS variableRichard Purdie
Prepending to populate_packages is rather ugly and means its hard to trace errors and also profiling informaiton is summed together in one function. This patch starts to split out the prepends to become separate functions to avoid these issues. This is generally a neater way to write functions than prepending to where there can sometimes be variable scope issues and we've been bitten by whitespace issues in the past. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06kernel.bbclass: Improve populate_packages_prependRichard Purdie
Small performance tweaks for populate_packages_prepend: * Compile the regexps once at the start * Don't keep importing a module which is already imported * No need to check PKG is set, we'd have failed long before now if it wasn't * Don't export PATH, bitbake takes care of this at the task level Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-01kernel: avoid copying unnecessary files during do_installMark Asselstine
kernel_do_install() populates $kerneldir with files needed to build external modules. To accomplish this there are several copy commands to get source from the kernel source tree and build trees after which a 'clean' is performed. Since we are copying from the build tree we get about 1G of .o and .cmd files copied over only to have them removed when we clean. This adds additional IO overhead as well as overhead caused by pseudo. By avoiding copying these files in the first place we get multiple gains: * avoid initial copy * avoid file deletes during clean * reduce pseudo overhead Additionally we are making use of cpio vs cp which tends to be significantly faster at performing copies. With these changes I observe a 15-30% decrease in the time to complete the do_install() operation on the kernel. [YOCTO #3517] Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-20kernel.bbclass, module-base.bbclass: Use CC to form KERNEL_CCKhem Raj
kernel compiler is not special and we currently have it so we want to pass -march and -mtune options as CFLAGS to kernel build so that compiler picks the right subarch flags when compiling assembly files in particular. Otherwise defaults are chosen which may not be right in many case e.g. when compiling kernel for collie machine we should use arch=armv4 but it uses toolchain/as defaults which is armv5te in some case e.g. thumb1 we know that kernel can not be compiled in thumb1 mode so we can provide that information e.g. -marm option through KERNEL_HOST_CC_ARCH variable as we do now Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-18kernel.bbclass: remove references to update-modulesLaurentiu Palcu
Since update-modules is now obsolete, remove it from the bbclass. [YOCTO #3598] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-17kernel.bbclass: don't depend on DATETIMEMartin Jansa
* http://cgit.openembedded.org/openembedded-core/commit/?id=67e77cd948c69798695d5d5f34163ef89339b35a moved DATETIME dependency from MODULE_TARBALL_BASE_NAME to MODULE_IMAGE_BASE_NAME but without copying that vardepsexclude Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-09kernel.bbclass: Define MODULE_IMAGE_BASE_NAME for layer convenience.Robert P. J. Day
Define the additional variable MODULE_IMAGE_BASE_NAME since some layers (like meta-ti) would find it handy for multi-kernel definitions in that they wouldn't have to define their own variable representing exactly the same thing. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-01-09kernel.bbclass: kernel_do_install fails with kernel <2.6.30Marco Cavallini
* kernels <2.6.30 don't have $kerneldir/tools directory * so we got this error: * sed: can't read ...SNIP...linux/2.6.30-r0/image/usr/src/kernel/tools/perf/Makefile: No such file or directory * ERROR: Function failed: do_install Signed-off-by: Marco Cavallini <m.cavallini@koansoftware.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-01-04kernel.bbclass: include PE in KERNEL_IMAGE_BASE_NAMEMartin Jansa
* without this you it's harder to see which kernel is newer version e.g. after branch change LOCALCOUNT in SRCPV is reset to 0, so it needs PE bump for upgrade path but then it's clear why gitr1+HASH has newer DATETIME then gitrN+HASH, so include PE in name * it will sort alphabetically wrong in deploy dir for a while until old images are removed Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-12-18kernel.bbclass: Allow modules*.tar.gz generation to be inhibitedPhil Blundell
The modules.tar.gz archive is sometimes of no value and it can take a noticeable time to build if many modules were enabled in the kernel configuration. The extraneous file also contributes to deploy/ clutter and is a waste of disk space. Allow it to be suppressed by setting MODULE_TARBALL_DEPLOY="0". Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-12-18kernel.bbclass: use the same versioning schema for modules.tgz and provide ↵Martin Jansa
link to latest * so it will work look KERNEL_IMAGE * also we were recreating modules.tgz with every kernel build, but overwritting the same output file Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-22kernel.bbclass: Do not chdir to /boot before running update-alternativesHolger Hans Peter Freyther
The symlink from uImage-3... to uImage is not created at image creation time and not properly update on kernel upgrades. This is fixed by removing the chdir. The other users of update-alternative do not change the directory before calling it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-19kernel.bbclass: add kernel-modules to PACKAGESMartin Jansa
* kernel-modules is always added to PACKAGES later in python code and needed to be defined as PACKAGES_DYNAMIC * add it to PACKAGES directly and set ALLOW_EMPTY_kernel-modules FILES_kernel-modules DESCRIPTION_kernel-modules outside populate_packages_prepend like for other packages and set only RDEPENDS_kernel-modules from python code Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-19PACKAGES_DYNAMIC: use regexp not globMartin Jansa
* bitbake uses PACKAGES_DYNAMIC as regexp ^ could make matching faster (and it will be more clear that we're expecting regexp not glob) * made all those last '-' optional, use .* (or nothing) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>