Conversation
Use cache for kernel build output and re-use in downstream steps. Signed-off-by: Noel Georgi <git@frezbo.dev>
| - | | ||
| cd /src | ||
| python3 /toolchain/kconfig-hardened-check/bin/kconfig-hardened-check -c .config -m json | python3 /pkg/scripts/filter-hardened-check.py | ||
| python3 /toolchain/kconfig-hardened-check/bin/kconfig-hardened-check -c ${KBUILD_OUTPUT}/.config -m json | python3 /pkg/scripts/filter-hardened-check.py |
There was a problem hiding this comment.
my concern is how can we be sure that the cache gets properly invalidated? I guess in default make, it's all timestamp-based, so if we have two kernel builds from different branches, it may very well poison the cache?
There was a problem hiding this comment.
The src folder gets changed, but the kernel build objects can still be re-used. I don;t want this going in release-1.4 anyways, targetting for 1.5
There was a problem hiding this comment.
yes, I understand that, but my point is the following, the Makefile is something like:
/src/build/foo.o: /src/foo.c
cc -o /src/build/foo.o /src/foo.cSo what make does is that it compares the timestamps of .c and .o files: if .o is newer, it skips the build
But this is not reliable enough given that we have multiple branches/versions of the kernel, and timestamp for Linux 5.15.x and 6.1.x might be inverted.
There was a problem hiding this comment.
I think the kernel build is intelligent enough to detect that, based on the source. At least when building locally, but I'ven't tried changing versions 😅 . I'll test locally later
There was a problem hiding this comment.
if there's some smartness, let's find some proof on that :) it's definitely not in make itself
|
I've been using this for a few months on RISC-V, haven't tested invalidation across kernel versions yet but I've run into corruption issues. A misconfigured dependent pkg can write to the cache and corrupt it for other pkgs. This doesn't invalidate the cache, and I've had to delete it manually. Would a edit: cache does invalidate forwards (6.15.1 -> 6.16-rc1), not sure about backwards though |
|
This PR is stale because it has been open 45 days with no activity. |
Use cache for kernel build output and re-use in downstream steps.