docs: update build instructions and foundation (#38)

Reviewed-on: #38
Reviewed-by: vlinkz <vlinkz@snowflakeos.org>
Co-authored-by: KFears <kfearsoff@gmail.com>
Co-committed-by: KFears <kfearsoff@gmail.com>
This commit is contained in:
KFears 2025-10-15 03:21:49 +00:00 • committed by vlinkz
parent cb654dbfd0
commit 76cd63f5fe
2 changed files with 16 additions and 28 deletions

View file

@ -5,8 +5,7 @@ In this folder, the Tidepool package sets are stored.
## Foundation
The package set under `foundation` is a minimal set to start building everything
else. It builds upon and uses packages from [Foundation](https://git.auxolotl.org/auxolotl/foundation),
our early bootstrap chain. It provides a comprehensive set of packages that are
else. It provides a comprehensive set of packages that are
used to build all other basic Linux utilities, and are often transitive dependencies
of higher-level packages.
@ -25,21 +24,10 @@ binaries to point to our dependencies. This "unbreaks" proprietary
binaries by making them point to Tidepool-provided dependencies.
Neat!
The bootstrap chain is based on [full-source](https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building-from-source-all-the-way-down/)
bootstrap, made possible with amazing work by Guix's people,
and Emily Trau's effort on porting it to Nix!
It bootstraps a proper `gcc` for `i686-linux`, which can then
be used to cross-compile a `gcc` for other architectures, such
as `x86_64-linux`.
To build stage1 (`i686-linux`), run:
```console
nix build --system i686-linux .#packages.foundation.glibc.versions."2.38-stage1-passthrough".packages.i686-linux.x86_64-linux.x86_64-linux.package
```
The full bootstrap chain is available in a confusingly-named
[Foundation repository](https://git.auxolotl.org/auxolotl/foundation).
The `foundation` package set builds upon and uses packages from [Foundation](https://git.auxolotl.org/auxolotl/foundation),
our early bootstrap chain. It augments the packages from Foundation with
Tidepool's cross-compilation capabilities, and adds additional flags
to compilers to better support our use case.
## Aux