49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
version = "7.0.9"
|
|
revision = 2
|
|
description = "Linux kernel"
|
|
license = "GPL-2.0-only"
|
|
source = tarball(
|
|
url=f"https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-{version}.tar.xz",
|
|
sha256="ac07acdf76cf4621cc5187a2670270a1a699533c8a6b225e4878c416ad83f1c4",
|
|
)
|
|
host_deps = ["binutils", "gcc"]
|
|
deps = [profile["libc"]]
|
|
|
|
linux_archs = {"aarch64": "arm64"}
|
|
linux_subarchs = {"x86_64": "x86"}
|
|
|
|
|
|
def _make(self, *extra):
|
|
arch = linux_archs.get(self.arch, self.arch)
|
|
subarch = linux_subarchs.get(self.arch)
|
|
subarch_arg = (f"SUBARCH={subarch}",) if subarch else ()
|
|
return (
|
|
"make",
|
|
f"ARCH={arch}",
|
|
*subarch_arg,
|
|
f"CROSS_COMPILE={self.triple}-",
|
|
f"-j{self.jobs}",
|
|
*extra,
|
|
)
|
|
|
|
|
|
def configure(self):
|
|
self.run("cp", "-rp", f"{self.source_dir}/.", self.build_dir)
|
|
self.run(
|
|
"cp", self.files / f"config.{self.arch}", self.build_dir / ".config"
|
|
)
|
|
self.run(*_make(self, "olddefconfig"))
|
|
|
|
|
|
def build(self):
|
|
self.run(*_make(self))
|
|
|
|
|
|
def install(self):
|
|
self.run(
|
|
"install",
|
|
"-Dm644",
|
|
self.build_dir / "arch/x86/boot/bzImage",
|
|
self.dest_dir / f"boot/vmlinuz-{self.version}",
|
|
)
|