Files
hakurei/internal/rosa/kmod.go
Ophestra 2b16d89cdd
Some checks failed
Test / Sandbox (race detector) (push) Has started running
Test / Flake checks (push) Has been cancelled
Test / Hakurei (push) Has been cancelled
Test / Hakurei (race detector) (push) Has been cancelled
Test / ShareFS (push) Has been cancelled
Test / Hpkg (push) Has been cancelled
Test / Create distribution (push) Has been cancelled
Test / Sandbox (push) Has been cancelled
internal/rosa: kmod artifact
Required by the kernel.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-02-13 03:15:11 +09:00

46 lines
998 B
Go

package rosa
import "hakurei.app/internal/pkg"
func (t Toolchain) newKmod() pkg.Artifact {
const (
version = "34.2"
checksum = "0K7POeTKxMhExsaTsnKAC6LUNsRSfe6sSZxWONPbOu-GI_pXOw3toU_BIoqfBhJV"
)
return t.New("kmod-"+version, 0, []pkg.Artifact{
t.Load(Python),
t.Load(Meson),
t.Load(PkgConfig),
t.Load(CMake),
t.Load(Ninja),
t.Load(Zlib),
t.Load(Zstd),
t.Load(OpenSSL),
t.Load(KernelHeaders),
}, nil, nil, `
ln -s ../system/bin/bash /bin/
cd "$(mktemp -d)"
meson setup \
--reconfigure \
--buildtype=release \
--prefix=/system \
-Dsysconfdir=/system/etc \
-Dbashcompletiondir=no \
-Dfishcompletiondir=no \
-Dxz=disabled \
-Dmanpages=false \
. /usr/src/kmod
meson compile
meson install \
--destdir=/work
`, pkg.Path(AbsUsrSrc.Append("kmod"), false, pkg.NewHTTPGetTar(
nil, "https://www.kernel.org/pub/linux/utils/kernel/"+
"kmod/kmod-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
)))
}
func init() { artifactsF[Kmod] = Toolchain.newKmod }