Commit graph

19 commits

Author SHA1 Message Date
fosslinux
6ed2e09f3a Remove the notion of "sys*"
- This idea originates from very early in the project and was, at the
  time, a very easy way to categorise things.
- Now, it doesn't really make much sense - it is fairly arbitary, often
  occuring when there is a change in kernel, but not from builder-hex0
  to fiwix, and sysb is in reality completely unnecessary.
- In short, the sys* stuff is a bit of a mess that makes the project
  more difficult to understand.
- This puts everything down into one folder and has a manifest file that
  is used to generate the build scripts on the fly rather than using
  coded scripts.
- This is created in the "seed" stage.

stage0-posix -- (calls) --> seed -- (generates) --> main steps

Alongside this change there are a variety of other smaller fixups to the
general structure of the live-bootstrap rootfs.

- Creating a rootfs has become much simpler and is defined as code in
  go.sh. The new structure, for an about-to-be booted system, is

/
-- /steps (direct copy of steps/)
-- /distfiles (direct copy of distfiles/)
-- all files from seed/*
-- all files from seed/stage0-posix/*

- There is no longer such a thing as /usr/include/musl, this didn't
  really make any sense, as musl is the final libc used. Rather, to
  separate musl and mes, we have /usr/include/mes, which is much easier
  to work with.
- This also makes mes easier to blow away later.
- A few things that weren't properly in packages have been changed;
  checksum-transcriber, simple-patch, kexec-fiwix have all been given
  fully qualified package names.
- Highly breaking change, scripts now exist in their package directory
  but NOT WITH THE packagename.sh. Rather, they use pass1.sh, pass2.sh,
  etc. This avoids manual definition of passes.
  - Ditto with patches; default directory is patches, but then any patch
    series specific to a pass are named patches-passX.
2023-12-15 21:43:19 +11:00
fosslinux
1b47720cbc Use uppercase variables in kaem-era
lowercase variables are inconsistent, bring them into line with rest of
live-bootstrap
2023-11-28 16:56:04 +11:00
fosslinux
10a55522a2 Change sources getting method.
- Rather than defining the urls where they are gotten (python sysa,
  python sysc, inside sysc), a spec file is now used that is easily
  interpretable and tool-independent.
- This is interpreted by rootfs.py and inside sysc.
- This is also used to make sources available and extract sources.
- Manual dirname selection is no longer required as is tarball renaming
  upon download - all of this is handled automatically.

Fixes #188
2022-10-02 09:48:20 +11:00
Dor Askayo
653f31b59f Add support for --update-checksums in early bootstrap
This allows creating *.checksums files instead of checking against
them when UPDATE_CHECKSUMS is set to True in bootstrap.cfg.

The checksums are also copied to /usr/src so they can be accessed
easily after the bootstrap completes.
2022-05-21 20:51:41 +03:00
Dor Askayo
18fa642100 Rename checksums to ${pkg}.checksums 2022-05-21 02:34:23 +03:00
Andrius Štikonas
3fd451a909 Swamp make and gzip. 2022-05-14 19:40:52 +01:00
fosslinux
f1600467a7 Variety of improvements
- Rename sources to distfiles for clarity.
- Per sys(a/c) distfiles to reduce rootfs.py processing and reduce RAM
  usage in sysa.
- Canonicalise early kaem mes/tcc files to kaem script conventions.
- Cleanup unused setup in python.
2022-05-05 17:44:47 +10:00
Andrius Štikonas
5b032cb46c rootfs.py refactoring.
Switch to bzip2 packages
Move most of the preprocessing done by rootfs.py
into kaem and bash scripts inside live-bootstrap.
2022-04-21 00:49:56 +01:00
fosslinux
b760b3eb2b Final fixes:
- All QEMU reproducibility issues resolved
- Added SPDX licensing
- Couple other small issues
- Fix guile reproducbility
2022-03-12 16:24:25 +11:00
Dor Askayo
206a31fa4c Use the -f flag in gunzip and bunzip2
It allows unpacking hardlinked archives.
2022-01-17 14:05:16 +02:00
Andrius Štikonas
e3d0191949 Update stage0-posix. 2021-10-08 20:55:06 +01:00
Andrius Štikonas
c8784cbcd3 Split installed files out of /after into /image. 2021-06-29 17:49:34 +01:00
Andrius Štikonas
a301e6fe86 Add bash symlink to /after/bin/sh
Fixes: #101
2021-04-19 00:32:00 +01:00
fosslinux
8724c94d20 Implement sha256summing for all remaining kaem scripts 2021-02-20 10:52:54 +11:00
fosslinux
72b1b30c9b Comply with REUSE 3.0 2021-02-08 20:00:10 +11:00
Andrius Štikonas
707328a15c Add bash based build harness. 2021-01-30 17:56:51 +00:00
Andrius Štikonas
596af33507 Rebuild bash parser. 2021-01-29 00:12:15 +00:00
Andrius Štikonas
a833a051ae Start using available coreutils. 2021-01-21 01:28:41 +00:00
fosslinux
5a369dc783 Restructure 2021-01-20 15:24:37 +11:00