From 988239a2bcdc16ecac95455fb26f49b20de03850 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 14 Mar 2026 15:54:13 +0900 Subject: [PATCH] internal/rosa: basic system image This is a simple image for debugging and is not yet set up for dm-verity. Signed-off-by: Ophestra --- internal/rosa/all.go | 2 ++ internal/rosa/images.go | 35 +++++++++++++++++++++++++++++------ 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 49f0ada..7f4f1a9 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -22,6 +22,8 @@ const ( // EarlyInit is the Rosa OS initramfs init program. EarlyInit + // ImageSystem is the Rosa OS /system image. + ImageSystem // ImageInitramfs is the Rosa OS initramfs archive. ImageInitramfs diff --git a/internal/rosa/images.go b/internal/rosa/images.go index bef35d2..e992d52 100644 --- a/internal/rosa/images.go +++ b/internal/rosa/images.go @@ -1,6 +1,9 @@ package rosa -import "hakurei.app/internal/pkg" +import ( + "hakurei.app/container/fhs" + "hakurei.app/internal/pkg" +) func init() { artifactsM[EarlyInit] = Metadata{ @@ -24,12 +27,32 @@ echo } } +func (t Toolchain) newImageSystem() (pkg.Artifact, string) { + return t.New("system.img", TNoToolchain, t.AppendPresets(nil, + SquashfsTools, + ), nil, nil, ` +mksquashfs /mnt/system /work/system.img +`, pkg.Path(fhs.AbsRoot.Append("mnt"), false, + t.Load(Musl), + t.Load(Mksh), + t.Load(Toybox), + )), Unversioned +} +func init() { + artifactsM[ImageSystem] = Metadata{ + Name: "system-image", + Description: "Rosa OS system image", + + f: Toolchain.newImageSystem, + } +} + func (t Toolchain) newImageInitramfs() (pkg.Artifact, string) { - return t.New("initramfs", TNoToolchain, []pkg.Artifact{ - t.Load(Zstd), - t.Load(EarlyInit), - t.Load(GenInitCPIO), - }, nil, nil, ` + return t.New("initramfs", TNoToolchain, t.AppendPresets(nil, + Zstd, + EarlyInit, + GenInitCPIO, + ), nil, nil, ` gen_init_cpio -t 4294967295 -c /usr/src/initramfs | zstd > /work/initramfs.zst `, pkg.Path(AbsUsrSrc.Append("initramfs"), false, pkg.NewFile("initramfs", []byte(` dir /dev 0755 0 0