Skip to content

Container-native images #125

@korewaChino

Description

@korewaChino

Let's start building Ultramarine in a container-native way!

Instead of building individual rootfs images from scratch in our build pipeline everytime, let's take advantage of OCI images and layering.

We build root fs images and pack them inside an OCI container, which also double as fully native bootc images. And for normal distribution, we can simply just pull down those OCI images, artifacts such as EROFS images, disk images, and interactive installer (ISO9660) images out of them for normal usage.

This brings on many benefits:

  • Greatly reduces the scope surface of Katsu, turning it into a simple artifact packer that simply just packs those OCI images into bootable disk images, ready to use
  • Extends the previous experiment with bootc (https://github.com/Ultramarine-Linux/bootc), superseding it.
  • Greatly reduces build times, as we never have to redownload and rebuild images from scratch
  • Allows us to reuse base images, deriving them into other spins easily, and making custom remixes trivial to create (see point above)
  • These images can also be directly booted off a bootc installation, other than simply being a container for the rootfs
  • Gives us an easy way to simply distribute the root FS itself bare, without any partition layout or assumptions about bootloader/environment

An implementation is underway the the ng branch of the bootc repo.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is neededmedium priorityThis issue has a medium priority, and may affect some users

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions