Commit Graph

4 Commits (d79bf8526e22c11e194fcc725c0306a404868bc1)

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 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 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 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