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.go55
1 files changed, 43 insertions, 12 deletions
diff --git a/internal/rosa/kernel.go b/internal/rosa/kernel.go
index 5d9bf6ff..826aa166 100644
--- a/internal/rosa/kernel.go
+++ b/internal/rosa/kernel.go
@@ -11,16 +11,24 @@ var kernelSource = pkg.NewHTTPGetTar(
pkg.TarGzip,
)
-func (t Toolchain) newKernelSource() pkg.Artifact {
+func (t Toolchain) newKernelSource() (pkg.Artifact, string) {
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, kernelSource))
+`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource)), kernelVersion
}
-func init() { artifactsF[KernelSource] = Toolchain.newKernelSource }
+func init() {
+ artifactsM[KernelSource] = Metadata{
+ f: Toolchain.newKernelSource,
-func (t Toolchain) newKernelHeaders() pkg.Artifact {
+ Name: "kernel-source",
+ Description: "a writable kernel source tree installed to /usr/src/linux",
+ Website: "https://kernel.org/",
+ }
+}
+
+func (t Toolchain) newKernelHeaders() (pkg.Artifact, string) {
return t.NewPackage("kernel-headers", kernelVersion, kernelSource, &PackageAttr{
Flag: TEarly,
}, &MakeHelper{
@@ -38,11 +46,19 @@ func (t Toolchain) newKernelHeaders() pkg.Artifact {
Install: "# headers installed during make",
},
Rsync,
- )
+ ), kernelVersion
+}
+func init() {
+ artifactsM[KernelHeaders] = Metadata{
+ f: Toolchain.newKernelHeaders,
+
+ Name: "kernel-headers",
+ Description: "an installation of kernel headers",
+ Website: "https://kernel.org/",
+ }
}
-func init() { artifactsF[KernelHeaders] = Toolchain.newKernelHeaders }
-func (t Toolchain) newKernel() pkg.Artifact {
+func (t Toolchain) newKernel() (pkg.Artifact, string) {
return t.NewPackage("kernel", kernelVersion, kernelSource, &PackageAttr{
Env: []string{
"PATH=/system/sbin",
@@ -123,14 +139,29 @@ rm -v /work/lib/modules/` + kernelVersion + `/build
OpenSSL,
UtilLinux,
KernelHeaders,
- )
+ ), kernelVersion
}
-func init() { artifactsF[Kernel] = Toolchain.newKernel }
+func init() {
+ artifactsM[Kernel] = Metadata{
+ f: Toolchain.newKernel,
-func (t Toolchain) newGenInitCPIO() pkg.Artifact {
+ Name: "kernel",
+ Description: "the generic Rosa OS linux kernel",
+ Website: "https://kernel.org/",
+ }
+}
+
+func (t Toolchain) newGenInitCPIO() (pkg.Artifact, string) {
return t.New("gen_init_cpio-"+kernelVersion, 0, nil, nil, nil, `
mkdir -p /work/system/bin/
cc -o /work/system/bin/gen_init_cpio /usr/src/linux/usr/gen_init_cpio.c
-`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource))
+`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource)), kernelVersion
+}
+func init() {
+ artifactsM[GenInitCPIO] = Metadata{
+ f: Toolchain.newGenInitCPIO,
+
+ Name: "gen_init_cpio",
+ Description: "a program in the kernel source tree for creating initramfs archive",
+ }
}
-func init() { artifactsF[GenInitCPIO] = Toolchain.newGenInitCPIO }