This repository has been archived on 2025-09-06. You can view files and clone it, but cannot push or open issues or pull requests.
Dustin C. Hatch 67803bada5 split-repo: Remove everything from lib branch
In order to create multiple Jenkins build pipelines for this repository,
I'm splitting it up with branches.  There will be a branch for each
image:

* base/main: The base image
* cross/main: The image with a cross-compiler toolchain
* build/main: The final build image

Note _/main_ in each name.  The intent here is to be able to have
different "sub-branches" for each image, so e.g. there might be a
_base/dev_.

In addition to the branches for each image, there will be branches for
the shared library code as well, named like _lib/main_.  The image
branches will checkout this branch using `git worktree`.
2024-12-15 11:08:59 -06:00
2024-12-02 21:03:08 -06:00
2024-12-02 21:03:08 -06:00
2024-12-08 10:59:28 -06:00

Aimee OS Build Container Images

Prerequisites:

  • buildah

Gentoo Stage 3 Image

This image is used to bootstrap the base layer for Aimee OS build images. To build it, use the gentoo-stage3.sh build script. This script takes a single (optional) positional argument: the name of a Gentoo stage 3 tarball to use to produce the container image. If none is specified, the latest stage3-amd64-nomultilib-openrc tarball is downloaded and used.

sh image-build/gentoo-stage3.sh

Base Image

The Aimee OS base build image is a minimal environment based on Gentoo. It includes Portage and a basic build toolchain. Building it requires a Stage 3 image to bootstrap the environment. By default, aimee-os.org/gentoo/stage3-amd64-nomultilib-openrc:latest is used, but an alternative image can be specified using the -b/--base argument to the base.sh script.

sh image-build/base.sh

Crossdev Image

This image includes a cross-compilation toolchain, generated by crossdev. It is built using the cross.sh script. This script takes a -t/--target argument, which specifies the toolchain to generate. The default is aarch64-unknown-linux-gnu. This image is layered on top of the base image, which can be specified using the -b/--base argument. By default, aimee-os.org/build/base:latest is used.

sh image-build/cross.sh

Build Image

The top-level image is based on the Crossdev image, and includes additional tools for building an Aimee OS project. It is built using the build.sh script. As with the Crossdev image build script, this script accepts -t/--target and -b/--build arguments, which specify the cross-compilation toolchain and base image later, respectively.

sh image-build/build.sh

This image is "squashed," meaning it consists of only a single layer. The Base and Crossdev image layers are merged into the final layer when the image is built. This reduces the final size of the image.

Description
No description provided
Readme 139 KiB