diff --git a/internal/rosa/kernel.go b/internal/rosa/kernel.go index 5aef20e..e9c9dee 100644 --- a/internal/rosa/kernel.go +++ b/internal/rosa/kernel.go @@ -4,35 +4,40 @@ import "hakurei.app/internal/pkg" const kernelVersion = "6.12.73" +var kernelSource = pkg.NewHTTPGetTar( + nil, "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/"+ + "snapshot/linux-"+kernelVersion+".tar.gz", + mustDecode("29oUBJKF1ULIv1-XQLpEUUc3LgjUSmyvOSskG37MYUcBlBjMk7RcbCTLrD7UfSM6"), + pkg.TarGzip, +) + func (t Toolchain) newKernelSource() pkg.Artifact { - const checksum = "29oUBJKF1ULIv1-XQLpEUUc3LgjUSmyvOSskG37MYUcBlBjMk7RcbCTLrD7UfSM6" return t.New("kernel-"+kernelVersion+"-src", 0, nil, nil, nil, ` mkdir -p /work/usr/src/ cp -r /usr/src/linux /work/usr/src/ chmod -R +w /work/usr/src/linux/ -`, pkg.Path(AbsUsrSrc.Append("linux"), false, pkg.NewHTTPGetTar( - nil, "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/"+ - "snapshot/linux-"+kernelVersion+".tar.gz", - mustDecode(checksum), - pkg.TarGzip, - ))) +`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource)) } func init() { artifactsF[KernelSource] = Toolchain.newKernelSource } func (t Toolchain) newKernelHeaders() pkg.Artifact { - return t.New("kernel-headers-"+kernelVersion, TEarly, []pkg.Artifact{ - t.Load(Make), - t.Load(Rsync), + return t.NewViaMake("kernel-headers", kernelVersion, kernelSource, &MakeAttr{ + SkipConfigure: true, - t.Load(KernelSource), - }, nil, nil, ` -cd /usr/src/linux -make \ - "-j$(nproc)" \ - LLVM=1 \ - HOSTLDFLAGS="${LDFLAGS}" \ - INSTALL_HDR_PATH=/work/system \ - headers_install -`) + SkipCheck: true, + Make: []string{ + "-f /usr/src/kernel-headers/Makefile", + "O=/tmp/kbuild", + "LLVM=1", + `HOSTLDFLAGS="${LDFLAGS}"`, + "INSTALL_HDR_PATH=/work/system", + "headers_install", + }, + ScriptInstall: "\n", + + Flag: TEarly, + }, + t.Load(Rsync), + ) } func init() { artifactsF[KernelHeaders] = Toolchain.newKernelHeaders }