diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-03-14 15:54:13 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-03-14 15:54:13 +0900 |
| commit | 988239a2bcdc16ecac95455fb26f49b20de03850 (patch) | |
| tree | 7b6064ae324350ed617105552df5d5a3780cf88f /internal | |
| parent | bc031181421282339a16769f52f6cbdc5f604cba (diff) | |
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 <cat@gensokyo.uk>
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/rosa/all.go | 2 | ||||
| -rw-r--r-- | 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 49f0ada6..7f4f1a97 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 bef35d2a..e992d520 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 |
