aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/kernel.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/rosa/kernel.go')
-rw-r--r--internal/rosa/kernel.go97
1 files changed, 50 insertions, 47 deletions
diff --git a/internal/rosa/kernel.go b/internal/rosa/kernel.go
index def556ce..5d9bf6ff 100644
--- a/internal/rosa/kernel.go
+++ b/internal/rosa/kernel.go
@@ -21,7 +21,9 @@ chmod -R +w /work/usr/src/linux/
func init() { artifactsF[KernelSource] = Toolchain.newKernelSource }
func (t Toolchain) newKernelHeaders() pkg.Artifact {
- return t.NewViaMake("kernel-headers", kernelVersion, kernelSource, &MakeAttr{
+ return t.NewPackage("kernel-headers", kernelVersion, kernelSource, &PackageAttr{
+ Flag: TEarly,
+ }, &MakeHelper{
SkipConfigure: true,
SkipCheck: true,
@@ -33,23 +35,15 @@ func (t Toolchain) newKernelHeaders() pkg.Artifact {
"INSTALL_HDR_PATH=/work/system",
"headers_install",
},
- ScriptInstall: "\n",
-
- Flag: TEarly,
+ Install: "# headers installed during make",
},
- t.Load(Rsync),
+ Rsync,
)
}
func init() { artifactsF[KernelHeaders] = Toolchain.newKernelHeaders }
func (t Toolchain) newKernel() pkg.Artifact {
- return t.NewViaMake("kernel", kernelVersion, kernelSource, &MakeAttr{
- OmitDefaults: true,
- SkipConfigure: true,
-
- // Build, install, and boot kernel before running kselftest on it.
- SkipCheck: true,
-
+ return t.NewPackage("kernel", kernelVersion, kernelSource, &PackageAttr{
Env: []string{
"PATH=/system/sbin",
},
@@ -61,6 +55,28 @@ install -Dm0500 \
/usr/src/.installkernel \
/sbin/installkernel
`,
+
+ Paths: []pkg.ExecPath{
+ pkg.Path(AbsUsrSrc.Append(
+ ".config",
+ ), false, pkg.NewFile(".config", kernelConfig)),
+ pkg.Path(AbsUsrSrc.Append(
+ ".installkernel",
+ ), false, pkg.NewFile("installkernel", []byte(`#!/bin/sh -e
+echo "Installing linux $1..."
+cp -av "$2" "$4"
+cp -av "$3" "$4"
+`))),
+ },
+
+ Flag: TExclusive,
+ }, &MakeHelper{
+ OmitDefaults: true,
+ SkipConfigure: true,
+
+ // Build, install, and boot kernel before running kselftest on it.
+ SkipCheck: true,
+
Make: []string{
"-f /usr/src/kernel/Makefile",
"O=/tmp/kbuild",
@@ -72,7 +88,7 @@ install -Dm0500 \
"KBUILD_BUILD_HOST=localhost",
"all",
},
- ScriptInstall: `
+ Install: `
make \
"-j$(nproc)" \
-f /usr/src/kernel/Makefile \
@@ -84,42 +100,29 @@ make \
modules_install
rm -v /work/lib/modules/` + kernelVersion + `/build
`,
-
- Paths: []pkg.ExecPath{
- pkg.Path(AbsUsrSrc.Append(
- ".config",
- ), false, pkg.NewFile(".config", kernelConfig)),
- pkg.Path(AbsUsrSrc.Append(
- ".installkernel",
- ), false, pkg.NewFile("installkernel", []byte(`#!/bin/sh -e
-echo "Installing linux $1..."
-cp -av "$2" "$4"
-cp -av "$3" "$4"
-`))),
- },
},
- t.Load(Flex),
- t.Load(Bison),
- t.Load(M4),
- t.Load(Tar),
- t.Load(Perl),
- t.Load(BC),
- t.Load(Sed),
- t.Load(Gawk),
- t.Load(Coreutils),
- t.Load(Diffutils),
- t.Load(Python),
+ Flex,
+ Bison,
+ M4,
+ Tar,
+ Perl,
+ BC,
+ Sed,
+ Gawk,
+ Coreutils,
+ Diffutils,
+ Python,
- t.Load(XZ),
- t.Load(Zlib),
- t.Load(Gzip),
- t.Load(Bzip2),
- t.Load(Zstd),
- t.Load(Kmod),
- t.Load(Elfutils),
- t.Load(OpenSSL),
- t.Load(UtilLinux),
- t.Load(KernelHeaders),
+ XZ,
+ Zlib,
+ Gzip,
+ Bzip2,
+ Zstd,
+ Kmod,
+ Elfutils,
+ OpenSSL,
+ UtilLinux,
+ KernelHeaders,
)
}
func init() { artifactsF[Kernel] = Toolchain.newKernel }