aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-03-14 15:54:13 +0900
committerOphestra <cat@gensokyo.uk>2026-03-14 15:54:13 +0900
commit988239a2bcdc16ecac95455fb26f49b20de03850 (patch)
tree7b6064ae324350ed617105552df5d5a3780cf88f /internal
parentbc031181421282339a16769f52f6cbdc5f604cba (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.go2
-rw-r--r--internal/rosa/images.go35
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