From cefd02e960fa80e4cfba1050148c61cad3f95bd2 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 28 Feb 2026 21:19:03 +0900 Subject: [PATCH] internal/rosa: gen_init_cpio artifact This works much better than hacking around the toybox cpio implementation. Signed-off-by: Ophestra --- internal/rosa/all.go | 2 ++ internal/rosa/kernel.go | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 2634a5d..a56652e 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -43,6 +43,7 @@ const ( GMP GLib Gawk + GenInitCPIO Gettext Git Go @@ -187,6 +188,7 @@ func ResolveName(name string) (p PArtifact, ok bool) { "gmp": GMP, "glib": GLib, "gawk": Gawk, + "gen_init_cpio": GenInitCPIO, "gettext": Gettext, "git": Git, "go": Go, diff --git a/internal/rosa/kernel.go b/internal/rosa/kernel.go index 5dd00b9..bd3a144 100644 --- a/internal/rosa/kernel.go +++ b/internal/rosa/kernel.go @@ -123,3 +123,11 @@ cp -av "$3" "$4" ) } func init() { artifactsF[Kernel] = Toolchain.newKernel } + +func (t Toolchain) newGenInitCPIO() pkg.Artifact { + 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)) +} +func init() { artifactsF[GenInitCPIO] = Toolchain.newGenInitCPIO }