Commit Graph

10 Commits (a67ed592df88248f3a9e167dc65c476741d8fc41)

Author SHA1 Message Date
Dustin a67ed592df tools: Install tini
During development, we leave a container running and `exec` into it
to run multiple commands.  To keep the container running, we need a PID
1 process that never terminates, which we achieved previously with
Python.  This technically works, but ultimately leaves a lot of zombie
processes.  If we use a "true" init process for PID 1, it will clean
these up.
2024-12-14 09:45:50 -06:00
Dustin 3f136a4ad1 crossdev: Build a cross toolchain for Rust
To cross-compile Rust packages, we need a standard library compiled for
the target system.
2024-12-14 09:41:35 -06:00
Dustin aaed7211b2 build: Install QEMU
Aimee OS/container-images/pipeline/head There was a failure building this commit Details
Although most software can be cross-compiled, there are quite a few edge
cases where executables built for the target system need to be run on
the build host.  Notably, `ldconfig` only considers libraries for the
same machine type as the tool itself, so it's impossible to run it in a
cross-compiled root.  In order to get passed these situations, we can
use QEMU in user mode to emulate the target architecture, allowing ARM
executables to run on AMD64 machines.
2024-12-12 18:02:16 -06:00
Dustin 19068af38c ci: Push: Publish all images
Aimee OS/container-images/pipeline/head This commit looks good Details
The _build/cross-{target}_ image only includes the crossdev toolchain.
What we really need is the _build/build-{target}_ image, which contains
all the tools necessary to build an Aimee OS project.
2024-12-09 08:59:32 -06:00
Dustin 20916b48c6 ci: Persist build logs
Aimee OS/container-images/pipeline/head This commit looks good Details
2024-12-08 10:59:30 -06:00
Dustin f99176abf3 tools: emerge shadow first
_sys-apps/shadow_ needs to be installed explicity, otherwise all
_acct-user/*_ and _acct-group/*_ packages will fail to install.
2024-12-08 10:59:30 -06:00
Dustin c13a44c6bf common: Persist binary packages between runs 2024-12-08 10:59:30 -06:00
Dustin 15fbb180d0 ci: Begin Jenkins build pipeline 2024-12-08 10:59:30 -06:00
Dustin 65988b0c32 Rework images into three layers
* Base
* Crossdev
* Build

The *Base* layer is bootstrapped from a regular Gentoo stage 3
environment.  The *Build* layer is the primary artifact, and is
"squashed" into a single layer when built.
2024-12-08 10:59:28 -06:00
Dustin 86330dc292 Initial commit 2024-12-02 21:03:08 -06:00