forked from rosa/hakurei
52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
package rosa
|
|
|
|
import (
|
|
"hakurei.app/fhs"
|
|
"hakurei.app/internal/pkg"
|
|
)
|
|
|
|
func init() {
|
|
meta := Metadata{
|
|
Name: "system-image",
|
|
Description: "Rosa OS system image",
|
|
Version: Unversioned,
|
|
}
|
|
native.MustRegister(meta.Name, func(t Toolchain) (*Metadata, pkg.Artifact) {
|
|
return &meta, t.New("system.img", TNoToolchain, t.Append(nil,
|
|
H("squashfs-tools"),
|
|
), nil, nil, `
|
|
mksquashfs /mnt/system /work/system.img
|
|
`, pkg.Path(fhs.AbsRoot.Append("mnt"), false, t.Append(nil,
|
|
_musl,
|
|
_mksh,
|
|
_toybox,
|
|
|
|
H("kmod"),
|
|
H("kernel"),
|
|
H("firmware"),
|
|
)...))
|
|
})
|
|
}
|
|
|
|
func init() {
|
|
meta := Metadata{
|
|
Name: "initramfs-image",
|
|
Description: "Rosa OS initramfs image",
|
|
Version: Unversioned,
|
|
}
|
|
native.MustRegister(meta.Name, func(t Toolchain) (*Metadata, pkg.Artifact) {
|
|
return &meta, t.New("initramfs", TNoToolchain, t.Append(nil,
|
|
_zstd,
|
|
H("earlyinit"),
|
|
H("gen_init_cpio"),
|
|
), 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
|
|
nod /dev/null 0666 0 0 c 1 3
|
|
nod /dev/console 0600 0 0 c 5 1
|
|
file /init /system/libexec/hakurei/earlyinit 0555 0 0
|
|
`))))
|
|
})
|
|
}
|