summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/kernel-devsrc.bb
AgeCommit message (Collapse)Author
2024-02-17kernel-devsrc: Improve vdso-offsets handling for qemuriscv64Richard Purdie
Fix: kernel-devsrc-1.0-r0 do_package_qa: QA Issue: File /lib/modules/6.6.15-yocto-standard/build/include/generated/.compat_vdso-offsets.h.cmd in package kernel-devsrc contains reference to TMPDIR [buildpaths] by adding to the list of files we do this with. Also drop the conditional since rm -f handles this. This only apppears for qemurisc*. (From OE-Core rev: a8fde81958fef39589e0df3f57c1dffd028d1631) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-08kernel-devsrc: Clean up whitespaceRichard Purdie
This file had a function full of mixed tabs and spaces. Our policy says tabs, some layers use spaces but this function matched nothing. It makes sense to clean this up, I'm torn between which to use. I've gone with the lesser invasive change (despite what the diff looks like) and used spaces as the code was clearly written with that partly in mind and tabs would have changed every line. Hopefully this makes future patches a little less weird looking. (From OE-Core rev: 34f0b22978a81abe891b00f716a56533504161d7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-08kernel-devsrc: Add needed fixes for 6.1+ kernel build on target on RISCVKhem Raj
(From OE-Core rev: 0b1e8df551d50331fc26048209b759a199bd964d) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-03kernel-devsrc: RDEPENDS on gawkClaus Stovgaard
In reality all architectures have been depending on awk / gawk for significant time. gawk directly since v5.10 as it introduced scripts/check-sysctl-docs grep for /usr/bin/awk results in * arch/x86/tools/gen-insn-attr-x86.awk:#!/usr/bin/awk -f * scripts/ver_linux:#!/usr/bin/awk -f * tools/arch/x86/tools/gen-insn-attr-86.awk:#!/usr/bin/awk -f So instead of relying on other recipes adding gawk - RDEPEND on it. (From OE-Core rev: b55b07cd3660c7ff151e9456e85c5163978a1027) Signed-off-by: Claus Stovgaard <claus.stovgaard@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-03kernel-devsrc: fix RDEPENDS for makeClaus Stovgaard
Since kernel version 6.6 the debian package rules has been split up into a separate rules file, resulting in a runtime requirement for make. See scripts/package/debian/rules Remove the rules file, for not RDEPENDS on make for something we are not using for building modules. For reproducing the issue on a normal qemux86-64 machine, change to the linux-yocto-dev kernel, add the kernel-devsrc to the toolchain target task and disable ptest in distro features. (Notice ptest adds make as RDEPENDS for other packages hiding the issue) when populating sdk you will see dnf failing. Problem: conflicting requests - nothing provides /usr/bin/make needed by kernel-devsrc-1.0-r0.qemux86_64 from oe-repo (From OE-Core rev: 711fc671012820458a7a28717ee0456fa850a523) Signed-off-by: Claus Stovgaard <claus.stovgaard@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-07kernel-devsrc: Fixed missing loongarch64 kernel source code when ↵Zang Ruochen
test_kernelmodules (From OE-Core rev: 754cf445b2670442cf94c9432b0a69141cc2a67d) Signed-off-by: Zang Ruochen <zangruochen@loongson.cn> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-13kernel-devsrc: depend on python3-core instead of python3bkylerussell@gmail.com
Avoids pulling in potential GPLv3 packages through python3-misc catch-all. python3-core is the intended minimal RDEPENDS for packages requiring python3 support. Other python3 module dependencies should be listed explicitly. (From OE-Core rev: 231f93becad619f6afa383f9b1132f1d4b02fa64) Signed-off-by: Kyle Russell <bkylerussell@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-26kernel/kernel-devsrc: powerpc: add elfutils dependencyBruce Ashfield
When working on 6.3+ kernel support powerpc started to fail when doing on target kerne module builds, and in some cases when building the kernel itself. This was due to crtsavres requiring objtool to build, which was missing required development headers. So in a similar manner to x86, we add elfutils as an arch specific dependency in these recipes. (From OE-Core rev: 14b815b0beb6edc14b4fcc016201ade967875e28) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-26kernel-devsrc: fix mismatched compiler warningBruce Ashfield
When building a module on target, we use the native compiler (always "gcc") versus the same compiler, but named in a cross compiler manner, for the kernel build. The kernel captures the compiler string in several places, some of which we are already fixing, but others we are not (as they don't cause issues). But when building an on target module, the main kernel Makefile compares compiler strings and outputs a warning similar to: warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-poky-linux-gcc (GCC) 11.3.0 You are using: gcc (GCC) 11.3.0 We drop the cross compilation prefix from the captured compiler string, and we avoid the warning. RP: tweaked one sed expression to fix quoting issue with 5.15 (From OE-Core rev: 70419f281a4571d01975bd79a47a6ed7ae70b1ae) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-15kernel-devsrc: powerpc: add missed dependency for modules_prepareDenys Zagorui
There is an issue during 'make modules_prepare' execution for PPC_85xx: arch/powerpc/kernel/asm-offsets.c:58:10: fatal error: head_booke.h: No such file or directory 58 | #include "head_booke.h" | ^~~~~~~~~~~~~~ compilation terminated. make[1]: *** [scripts/Makefile.build:118: arch/powerpc/kernel/asm-offsets.s] Error 1 asm-offests.c has dependency on head_booke.h so add it to kernel-devsrc package (From OE-Core rev: 46705c47428a8d909518a0ed29dd2051f6321e2f) Signed-off-by: Denys Zagorui <dzagorui@cisco.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-11-22kernel-devsrc: fix for v6.1+Bruce Ashfield
The 6.1 kernel has a number of Kbuild and architecture changes that required us to update our devsrc recipe. With these changes we are once again able to build on target modules for all supported archectures. (From OE-Core rev: a3972b3f919400a12bb9a546ae98092cbfdcdbb8) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-09kern-devsrc: Drop auto.conf creationRichard Purdie
After this commit in the mainline kernel, the quoting is different in auto.conf compared to .config: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=129ab0d2d9f38b9d43df35235fc66c6740d6928b We therefore can't just copy one over the other or it leads to syntax/quoting errors. We end up running make prepare anyway in all our tests so drop this copy for fix 5.19 kernels. (From OE-Core rev: 8edbb540be564cebb72d7af38429405aca662bc9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-08kernel-devsrc: support powerpc on v5.19+Bruce Ashfield
The on-target/scripts requirements have expanded for powerpc on v5.19+ we copy the required .S and .sh files as part of devsrc to support the archtecture. (From OE-Core rev: 9fb466612bd735046a4037b0d62f24a9d6f35628) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-08kernel-devsrc: support arm v5.19+ on target buildBruce Ashfield
Adding two new tools required for 'scripts prepare' on arch arm and arm64. (From OE-Core rev: 7b195d7be1d0db1ad8024494ff990717bd30aea4) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-12kernel-devsrc: ppc32: fix reproducibilityBruce Ashfield
In a similar manner to the arm/arm32 reprodicibility fixes, we can also fix ppc32. The file .vdso32-offsets.h.cmd has captured paths, but we don't need it on target or SDKs to regenerate a build enviroment. We add it to our vdso-offsets list of files to delete and we no longer have files patckaged with buildpaths. (From OE-Core rev: 2a142b68b232ff7728f4eb945eea923c64e7ebd5) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-08kernel-devsrc: fix reproducibility and buildpaths QA warningBruce Ashfield
We've been removing .vdso-offsets.h.cmd for quite some time, as it is not required to regenerate scripts or to satisfy the prepare target in the kernel source. That being said, there is a secondary location that this file may be found, and since we aren't detecting or removing it, we end up with embedded build paths, which cause both reproducibility and buildpaths QA warnings. We can test for both files, and force remove them if present, and we'll fix this new location of the file and not risk breaking any old kernels. (From OE-Core rev: e0a9433685397b716920fa9ad5d5a7be95c496f7) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-14kernel-devsrc: Check for gen_vdso_offsets.sh before copying on riscvKhem Raj
This file is introduced in newer kernels >= 5.15 but some RISCV machines still use 5.13 kernels, this ensures that kernel-devsrc can build on older kernels for RISCV (From OE-Core rev: b4d3c2c03495730a2253669ad8a438288629a1c8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-27kernel-devsrc: do not copy Module.symvers file during installOleksandr Ocheretnyi
When CONFIG_MODULES is not enabled in kernel config - Module.symvers generation is not done, which causes the file not to be created. This fails later in do_install() due to the fact that copy command in executed for non-existing Module.symvers file. Check for Module.symvers existence before copy command in executed. (From OE-Core rev: deacceac6461400037b152260c8edbc819f6309a) Signed-off-by: Oleksandr Ocheretnyi <oocheret@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-20meta/meta-selftest/meta-skeleton: Update LICENSE variable to use SPDX ↵Richard Purdie
license identifiers An automated conversion using scripts/contrib/convert-spdx-licenses.py to convert to use the standard SPDX license identifiers. Two recipes in meta-selftest were not converted as they're that way specifically for testing. A change in linux-firmware was also skipped and may need a more manual tweak. (From OE-Core rev: ceda3238cdbf1beb216ae9ddb242470d5dfc25e0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-10meta: use ln -rs instead of lnrRoss Burton
lnr is a script in oe-core that creates relative symlinks, with the same behaviour as `ln --relative --symlink`. It was added back in 2014[1] as not all of the supported host distributions at the time shipped coreutils 8.16, the first release with --relative. However the oldest coreutils release in the supported distributions is now 8.22 in CentOS 7, so lnr can be deprecated and users switched to ln. [1] 6ae3b85eaffd1b0b6914422e8de7c1230723157d (From OE-Core rev: 1ca455a98de4c713f58df0a537d4c982d256cd68) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-05kernel-devsrc: Add vdso.lds and other build files for riscv64 as wellKhem Raj
These additional bits are needed on riscv64 as well Fixes make[1]: *** No rule to make target 'arch/riscv/kernel/vdso/vdso.lds', needed by 'arch/riscv/kernel/vdso/vdso.so.dbg'. Stop. make: *** [arch/riscv/Makefile:114: vdso_prepare] Error 2 (From OE-Core rev: 446972600ed51ca75a2a4e579cdc3e6dd2e05195) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18kernel-devsrc: fix 5.14+ objtool compilationBruce Ashfield
In v5.14+, x86 requires not just elfutils, but the elf headers on the target to build objtool (required for 'scripts parepare'), so we tweak our RDEPENDS to ensure that the right headers are on the target. (From OE-Core rev: 03ccc234386f753e1b0129ec557e67bcd04cc69e) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18kernel-devsrc: 5.14+ updatesBruce Ashfield
commit 6218d0f6b8dec [x86/syscalls: Switch to generic syscalltbl.sh] means that x86 no longer has a syscall script to copy, which causes a build error. We already copy the generic syscall script (in scripts), so we just catch errors for the copies to support older and 5.14+ kernels in the same devsrc recipe. (From OE-Core rev: 5debc9bc25110b836b76927c61b2455e5e235a84) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-02Convert to new override syntaxRichard Purdie
This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". (From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-05kernel-devsrc: powerpc64 add scripts prepare supportBruce Ashfield
Similar to 32bit powerpc, we need more vdso bits in devsrc to support on target scripts prepare for powerpc64. (From OE-Core rev: 412186e001c66f943e10d787e9b826f1ca987402) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-05kernel-devsrc: fix scripts prepare for powerpcBruce Ashfield
5.13 introduces some new tweaks required to get on target scripts and prepare working for powerpc: - 'nm' is detected as 'nm --synthetic', so we adjust our replacement - more vdso is required on target, so we copy those files (like arm64 does) - grep is required during processing, so we add it to the redpends (From OE-Core rev: c43baf3a0e41b41a64f450fd03810306c8ddd314) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-05kernel-devsrc: fix scripts/prepare for ARM64Bruce Ashfield
There are two new tools in 5.13+ required for on target recreation of the build environment. We conditionally add them to the devsrc recipe to support both 5.13 and older kernels. (From OE-Core rev: cb1b7e76f20dc7f11a667fa00958ab56e680c632) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18kernel-devsrc: adjust NM and OBJTOOL variables for targetBruce Ashfield
v5.13 has started storting the values for NM and OBJTOOL in auto.conf.cmd Just as we've done for other tools, we need to adjust NM and OBJTOOL to the names of the on-target executables. With this adjustment, 'make scripts prepare' continues to work without user intervention on the target. (From OE-Core rev: e749b81ece1f94f99ca26028a2f6f891aa14bda9) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-20kernel-devsrc: fix on-target scripts/prepare for v5.12+Bruce Ashfield
AR is now captured are part of the build environment. If we don't subtitute our on-target variant for the cross version, we'll end up getting a prompted configure when preparing to build modules. (From OE-Core rev: 09bf40bf890a9d56c8365eb93a4baf467dc3308c) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-30kernel-devsrc: fix 32bit ARM devsrc buildsBruce Ashfield
As a follow up to commit: 0fc66a0b64953 [kernel: provide module.lds for out of tree builds in v5.10+], we must not only copy module.lds from its new location, we have to not error when it isn't found in the old location. With this tweak, we have coverage on all supported arches for the new location of module.lds, and backwards compatibility through kernel versions. (From OE-Core rev: cb940d8af359fa370254bd4c2b36ba26708bb54b) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-24kernel-devsrc: improve reproducibility for arm64INC@Cisco)
.vdso-offsets.h.cmd contains command that was used to produce vdso-offsets.h. It breaks reproducibility because it has an absolute path in it. There is no any value to package such files so it can be dropped. (From OE-Core rev: d31b4db24643b0867c654af34c684b4de2f8122b) Signed-off-by: Denys Zagorui <dzagorui@cisco.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-16kernel: provide module.lds for out of tree builds in v5.10+Bruce Ashfield
The upstream commit 596b0474d3d [kbuild: preprocess module linker script], adds a dependency on module.lds for external module building. Since module.lds is generated as part of 'modules_prepare', we must make it available with the other kernel artifacts in the kernel shared workdir, otherwise out of tree builds fail. This fixes errors like: | make[4]: *** No rule to make target 'scripts/module.lds', needed by 'build/tmp/work/qemuarm64-poky-linux/cryptodev-module/1.11-r0/git/cryptodev.ko'. Stop. | make[4]: *** Waiting for unfinished jobs.... We also ensure that kernel-devsrc has a copy to support on target module builds that are often prepared with 'make scripts prepare'. Those targets won't regenerate it, so the build fails. If 'make modules_prepare' is used, the file will be regenerated and overwrite our copy (as expected). (From OE-Core rev: 0fc66a0b64953aae38d0124b57615fffaec8de52) Signed-off-by: Pan, Kris <kris.pan@intel.com> Signed-off-by: Lili Li <lili.li@intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-12kernel-devsrc: account for HOSTCC and HOSTCXXBruce Ashfield
Since commit 740d87766cb87f75c477 [kernel.bbclass: Configuration for environment with HOSTCXX], both HOSTCC and HOSTCXX are pickedup by the kernel build system as triggers to reconfigure if changed. As with previous changes to devsrc, we replace the cross build variant, with what will be on target, so operations such as 'make scripts prepare' won't trigger a reconfiguration. (From OE-Core rev: d7981babc55845914f20e7deb11b81aa2dbfcff3) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-13kernel-devsrc: 5.8 + gcc10 require gcc-plugins + libmpc-devBruce Ashfield
In order to execute 'make scripts prepare' on target with the 5.8 kernel and gcc 10, we need to have the gcc-plugins and libmpc-dev on target. Although not strictly required for all kernel versions, they don't do any harm when included. We add them to the RDEPENDS of devsrc to avoid the errors: scripts/gcc-plugins/gcc-common.h:5:10: fatal error: bversion.h: No such file or directory | #include "bversion.h" and /usr/lib/gcc/arm-poky-linux-gnueabi/10.1.0/plugin/include/builtins.h:23:10: fatal error: mpc.h: No such file or directory (From OE-Core rev: a69746351029a878d4d41baeb3f679d65118d5e3) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-13kernel-devsrc: fix on target modules prepare for ARMBruce Ashfield
The arm compiler and linker weren't matching the replacement regex's in devsrc. We make the expressions a bit more generic to catch the triplets for ARM. (From OE-Core rev: 36b848118fc4963118c96b0c3211e7ee017790eb) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-06kernel-devsrc: fix x86 (32bit) on target module buildBruce Ashfield
The previous devsrc v5.8 on target build fixup [532ae127c kernel-devsrc: fix on-target module build for v5.8+], missed on condition: the defconfig On 32bit x86 the arch can be queried differently on the host and target. We aren't building against the defconfig, so we remove it from auto.conf.cmd and we can again prepare to build modules on target. (From OE-Core rev: 368537ab94e141e02eb981fa0fb44548b4be297e) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-20kernel-devsrc: fix on-target module build for v5.8+Bruce Ashfield
The kernel build is now more sensitive to changing build inputs, like the compiler, linker, source tree location, versions, file timestamps, etc. When a difference is detected, the kernel build invokes a syncconfig to update/regenerate files as required. That process may prompt, and hence breaks automated tested and other workflows. By default, we don't want this to happen so we make sure that auto* timestamps are newer or equal to the .config timestap, we ensure that autoconf.h is in the filesystem and that we've substituted the cross tools used to build the kernel with the names that will be on the target. (From OE-Core rev: 532ae127c52c9f7b1d2e4ca5cbca91881d23a2ac) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-03kernel-devsrc: support 4.4+ ARM/ARM64 kernelsRuslan Bilovol
Linux Kernel 4.4 is an LTS kernel so people may still build it with OE. Thus make copying of some files optional: - arm64 module.lds file first appeared with kernel v4.6 commit fd045f6cd98e arm64: add support for module PLTs" - arm32 *.tbl files first appeared in kernel v4.10 in commit 96a8fae0fe09 "ARM: convert to generated system call tables" (From OE-Core rev: 3329dd6ea914c5fadbf63ecbfde9c66472df19ee) Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22devsrc: fix objtool generation for v5.4+Bruce Ashfield
commit 6ec14aa7a58a1c2fb303692f8cb1ff82d9abd10a [objtool: Silence build output] was added to -stable in v5.4.19. This change was meant to ensure that build output was truly silent when required. But the trailing "cd -" in the tools script was ensuring that a success return code was always returned from the sync script. As such, some missing files for x86 were being masked. We add those files to ensure that objtool can be regenerated as required (From OE-Core rev: 3009e82f65bcf0988b4400552afd554ff91f024b) Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03kernel-devsrc: update to v5.4+Bruce Ashfield
To support on-target module building, we need to include syscall.tbl for ARM64 (just like we do for other architectures). We also copy .config with -a to ensure that we don't trigger extra processing and regen configs. (From OE-Core rev: 1be199f79479d9c8125bd3548cd4f2354f597640) Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-28kernel-devsrc: fix error with old (<4.2) x86 kernelsPeter Bergin
When using kernel-devsrc for older kernels do_install fails with: | cp: failed to get attributes of 'arch/x86/entry': No such file or directory In the Linux kernel commit 1f57d5d85 "x86/asm/entry: Move the arch/x86/syscalls/ definitions to arch/x86/entry/syscalls/" moved some files copied in the kernel-devsrc recipe. Commit 1f57d5d85 was added in v4.2. To be able to use kernel-devsrc for kernels older than v4.2 this commit make use of find for the files that shall be copied. (From OE-Core rev: 53cccd5b5145c23cac3e227ef71edaf4609c11b5) Signed-off-by: Peter Bergin <peter@berginkonsult.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-30devsrc: update arm64 scripts/prepare for kernels 5.3+Bruce Ashfield
We need to include a few more small files for on target module builds for 5.3+ kernels. (From OE-Core rev: 9b3134995cf054679d573f28f916a629332ce126) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-30kernel-devsrc: remove python2 dependencyBruce Ashfield
Witht the approaching EOL of python2, the kernel packages need to be updated to depend on python3. The core kernel scripts are now python3 safe, making the RDEPENDS change relatively simple. but There are some scripts that are captured in the devsrc files that are not used, but reference /usr/bin/python. The python3 package does not provide /usr/bin/python so any package managers with automatic dependency detection will fail to assemble a rootfs due to the missing intepreter. We could drop the scripts from the source capture, but that risks dropping something that we need in certain operations and we'd miss when they are updated in tree to explicitly call python3 (since they won't be revisited often). Light testing shows that the scripts do run with python3, so rather than removing them, we change the interpreter once they are copied, and automatic dependency detection won't cause us rootfs assembly issues. (From OE-Core rev: 6745088b6c9e5c70df59d667347ede470df9a91d) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21kernel-devsrc: tweak for v5.3+Bruce Ashfield
The 5.3 kernel has two changes that require tweaks to the minimal kernel-devsrc package. - 4ce97317f [x86/purgatory: Do not use __builtin_memcpy and __builtin_memset] This change removes the need for arch/x86/purgatory/string.c and instead reuses a copy in arch/x86/boot/compressed/, so we can't copy the file anymore. To support older kernels, we make the copy survive the non-existence of the file. - b1663d7e [docs: Kbuild/Makefile: allow check for missing docs at build time] This change adds the sourceing of Documentation/Kbuild to the top level Kbuild file. So we now leave the copy of Documention/'s Kbuild in the devsrc. (From OE-Core rev: 53e975c18a14ddb8ad7eab23c8e18e05517953cd) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-12kernel-devsrc: check for localversion files in the kernel source treeBeniamin Sandu
The kernel-devsrc rework doesn't take into account localversion files in the kernel source tree. This might result in modules with an incomplete version magic when building out-of-tree using the SDK. Before: root@qemux86:~# insmod hello.ko [ 42.000212] hello: version magic '5.0.3-yocto-standard SMP preempt mod_unload PENTIUMM ' should be '5.0.3-my-custom-release-yocto-standard SMP preempt mod_unload PENTIUMM ' [ 42.008200] hello: version magic '5.0.3-yocto-standard SMP preempt mod_unload PENTIUMM ' should be '5.0.3-my-custom-release-yocto-standard SMP preempt mod_unload PENTIUMM ' insmod: can't insert 'hello.ko': invalid module format After: root@qemux86:~# insmod hello.ko [ 39.094288] hello: loading out-of-tree module taints kernel. [ 39.108044] Hello World! (From OE-Core rev: 68b9243729ac1982c9f1d30980cf979267bbc7c3) Signed-off-by: Beniamin Sandu <beniamin.sandu@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-02kernel-devsrc: fix /usr/src/kernel symlink to also work for SDKHenrik Nymann Jensen (HNJE)
If kernel-devsrc is used in a SDK context, the symlink from usr/src/kernel points to an absolute path '/lib/modules/${KERNEL_VERSION}/build', which ends up pointing to the local machine's build directory. To address this issue change the symlink to be realtive to ${D}/lib/modules/${KERNEL_VERSION}/build. (From OE-Core rev: 95bc738e7f10d492f5db33fc581e9796e52a9d3f) Signed-off-by: Henrik Nymann Jensen <hnje@triax.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-09kernel-devsrc: make mips devsrc files backward compatbileBruce Ashfield
The additions done to devsrc to support the 5.0 kernel should have had a graceful failure mode, since the files/directories won't be present on older (or different) kernel versions. (From OE-Core rev: 3f0cada40a9f70704a3dc78daddb4a8cbd7dee80) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-07kernel-devsrc: add files required for on-target build with 5.xBruce Ashfield
Both powerpc and mips require a few new files for the scripts and prepare targets to work with a 5.0 kernel. We add the required files to the architecture specific blocks, with appropriate backwards compatibility considerations. (From OE-Core rev: 124c6bf5a0a5cc20d2ebbf04dc7b577cb4f5153a) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06kernel-devsrc: restore compatibility with kernel < v4.10S. Lockwood-Childs
The kernel commit that added the syscall table generation tools for ARM platform (ARM: convert to generated system call tables) wasn't merged until kernel release v4.10. Current assumption in kernel-devsrc recipe is that these syscall scripts exist, which breaks the build for external board layers that are still using 4.9.x kernels: cp: cannot stat ‘arch/arm/tools/syscall*’: No such file or directory so only try to install the scripts when they actually exist. (From OE-Core rev: 7b4d77d7f909c0ae27553fd9c480f069f12e468f) Signed-off-by: S. Lockwood-Childs <sjl@vctlabs.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-18kernel-devsrc: fix usrmerge install pathAllen Wild
Update /lib to $nonarch_base_libdir to fix package QA errors when usermerge is enabled in DISTRO_FEATURES. ERROR: kernel-devsrc-1.0-r0 do_package_qa: QA Issue: kernel-devsrc package is not obeying usrmerge distro feature. /lib should be relocated to /usr. [usrmerge] (From OE-Core rev: a62085b5047e7943bdcc9d4ce3480d100618eeb1) Signed-off-by: Allen Wild <allenwild93@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>