From 4356f978aa32d903b70f8408375a609091eb0ddb Mon Sep 17 00:00:00 2001 From: Ophestra Date: Mon, 26 Jan 2026 21:20:52 +0900 Subject: [PATCH] internal/rosa: kernel patching The side effect of this is to work around zfs performance issue with chmod on overlay mount. Signed-off-by: Ophestra --- internal/rosa/kernel.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/internal/rosa/kernel.go b/internal/rosa/kernel.go index 7f92490..a61b85e 100644 --- a/internal/rosa/kernel.go +++ b/internal/rosa/kernel.go @@ -8,6 +8,7 @@ import ( // newKernel is a helper for interacting with Kbuild. func (t Toolchain) newKernel( + patches [][2]string, script string, extra ...pkg.Artifact, ) pkg.Artifact { @@ -20,18 +21,20 @@ func (t Toolchain) newKernel( }, extra), nil, nil, ` export LLVM=1 export HOSTLDFLAGS="${LDFLAGS}" -chmod -R +w /usr/src/linux && cd /usr/src/linux -`+script, pkg.Path(AbsUsrSrc.Append("linux"), true, pkg.NewHTTPGetTar( - nil, - "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/"+ - "snapshot/linux-"+version+".tar.gz", - mustDecode(checksum), - pkg.TarGzip, +cd /usr/src/linux +`+script, pkg.Path(AbsUsrSrc.Append("linux"), true, t.NewPatchedSource( + "kernel", pkg.NewHTTPGetTar( + nil, + "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/"+ + "snapshot/linux-"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ), false, patches..., ))) } func (t Toolchain) newKernelHeaders() pkg.Artifact { - return t.newKernel(` + return t.newKernel(nil, ` make "-j$(nproc)" \ INSTALL_HDR_PATH=/work/system \ headers_install