Commit Graph

928 Commits

Author SHA1 Message Date
rick-masters 68429917c0 Use code blocks and capitalize consistently and other improvements. 2023-05-18 10:58:53 +00:00
rick-masters 12026cb100 Document the new builder-hex0-x86 boot stages.
Describe the kernel bootstrap steps first to avoid confusion because
we do not actually start with the stage0-posix binary seeds if the default
kernel bootstrap option is used.
2023-05-10 17:21:16 +00:00
rick-masters a2fcf1ced9 Complete the kernel bootstrap by adding kexec of Linux from Fiwix.
A tiny bootloader bootstrap has been added to compile the builder-hex0 kernel from hex0 source.
The boot compiler is builder-hex0-x86-stage1.hex0 and builder-hex0-x86-stage1.bin.
The builder-hex0 kernel is now named builder-hex0-x86-stage2.hex0.
The inclusion of a binary seed resolves the problem with the previous strategy which used an
architecture-specific hex0 compiler.

If sysb detects a full disk (i.e. DISK=sda) it now partitions the disk unconditionally because
previously fdisk was reporting existing but empty partitions which resulted in no
parititions being created.

e2fsprogs is now built with --disable-tls because musl was built on Fiwix without full threading
support and mkfs.ext4 was crashing without disabling thread local storage.

kexec-linux writes the linux kernel and initramfs to a RAM drive on Fiwix which ensure
a pre-allocated contiguous memory block. The following is written to the ram drive:
a 32-bit number which is the size of the kernel in bytes, a 32-bit number which is the size
of the initramfs in bytes, followed by the Linux kernel image, followed by the initramfs.

kexec-fiwix invokes a sync syscall to ensure all writes are flushed to
the ram drive and then initiates the kexec by shutting down Fiwix with a reboot syscall.
Fiwix knows whether and how to perform the kexec based on kernel parameters passed to it.
2023-05-10 14:33:42 +00:00
fosslinux e86db47b6e
Merge pull request #286 from fosslinux/ci-length
split CI into three (as a temporary solution)
2023-05-10 07:30:52 +00:00
fosslinux 724c6cca13
Merge pull request #293 from fosslinux/gcc-13
GCC 13
2023-05-10 07:30:40 +00:00
fosslinux a4e5829971
Merge pull request #290 from emilytrau/coreutils-pass-1
Enable additional tools in coreutils-5.0 phase 1
2023-05-09 12:45:01 +00:00
fosslinux aa2d6c4137 Update to GCC 13
The latest version of GCC.

Luckily this allows for a bunch of patches to be dropped - apart from
that, no significant change.
2023-05-09 22:41:45 +10:00
fosslinux e2ceb13e57 Expand sysc disk 2023-05-09 22:41:04 +10:00
fosslinux ce33a6e9f9 Actually, split into 3, sysc is too long 2023-05-04 22:15:35 +10:00
fosslinux f124bc86be Work around GH actions time limit
by splitting sysa and sysc into 2
2023-05-04 07:33:17 +10:00
Emily Trau 7a13158e79 Enable additional tools in coreutils-5.0 phase 1
These utilities can be enabled with only a small amount of additional
patches. In particular sort, expr, uniq,and hostname are used by some
./configure.sh scripts.
2023-05-02 23:21:46 +10:00
fosslinux dd7905c05c
Merge pull request #289 from rick-masters/fix-sysc-dhcpcd
Fix dhcpd version in sysc/init.
2023-05-01 21:39:22 +00:00
rick-masters 9b37fa2ed7 Fix dhcpd version in sysc/init. 2023-05-01 21:06:40 +00:00
Andrius Štikonas 7d2a3137dd Use relative paths and variables instead of hardcoding absolute path. 2023-05-01 22:01:13 +01:00
fosslinux d918b984ad
Merge pull request #287 from emilytrau/heirloom-devtools-snprintf
Fix segfault in yacc
2023-05-01 11:35:57 +00:00
Emily Trau 2c0a1d39d9 Fix segfault in yacc
The patch to heirloom-devtool's yacc used sprintf instead of snprintf.
This incompatibility causes a segfault when those code paths are hit.
Fixing this allows yacc to compile more grammars, and may allow some
packages to drop dependency on bison in favor of yacc.
2023-05-01 21:33:15 +10:00
fosslinux 3723747562 Add internal-ci argument for ci passes to rootfs.py 2023-05-01 20:53:48 +10:00
Andrius Štikonas 725522b901 Make sure we pass MES_ARCH and not ARCH to mes. 2023-05-01 11:23:22 +01:00
Andrius Štikonas bd7ad7e8ae Update stage0-posix to pull in newer M2-Planet. 2023-04-30 23:58:31 +01:00
Andrius Štikonas eae8107607 Fix MES_ARCH vs ARCH mixup. 2023-04-30 19:29:58 +01:00
Andrius Štikonas b96b953e9f Fix path to checksum-transcriber.*.SHA256SUM in reuse exceptions. 2023-04-30 19:08:50 +01:00
Andrius Štikonas dbc6a25be1 Move checksum transcriber checksum to x86 specific name. 2023-04-30 18:45:41 +01:00
fosslinux de9f898f85 Make python 3.4.10 -j1
Fix the transient parallelism issues (same as py3.3).

Fixes #283
2023-04-30 11:47:06 +10:00
fosslinux 37f0832e2a
Merge pull request #285 from fosslinux/multiarch
Make mes build script more multiarch friendly.
2023-04-30 00:26:50 +00:00
Andrius Štikonas 07b11120b2 Make mes build script more multiarch friendly. 2023-04-30 01:23:57 +01:00
Andrius Štikonas 1259e3fa28
Merge pull request #284 from fosslinux/gcc-12
GCC12
2023-04-30 00:05:46 +01:00
Andrius Štikonas 3197781127 Do not hardcode mes version in kaem scripts. 2023-04-29 19:44:19 +01:00
fosslinux 6835ebfaf8 Disable binutils' manpages
I have no idea where this unreproducibility is coming from and I'm not
really bothered to spend more time on it right now :)
2023-04-29 23:41:15 +10:00
fosslinux 2e29ac837a Archive packages of failed builds 2023-04-29 18:37:57 +10:00
fosslinux 05e8e34ad3 Workaround github actions vs nongnu error 2023-04-28 22:19:39 +10:00
fosslinux c063a86bb4 Fix binutils manpage deletion
binutils manpages were, incorrectly, not deleted - this causes issues
with reproducibility in pass2
2023-04-28 21:50:54 +10:00
fosslinux 99bad05173 Update dhcpcd to 10.0.1
There was a bit of churn with the tarballs - hopefully this doesn't
happen again.
2023-04-27 17:36:18 +10:00
fosslinux 1292d6ab9c Consistency in parts.rst 2023-04-27 17:25:51 +10:00
fosslinux 6fb676c8c2 Add GCC 12
The latest version of GCC.
And with this, the glibc-musl-gcc toolchain is complete.

A variety of modern features (default PIE SSP) are enabled.
2023-04-27 17:25:51 +10:00
fosslinux ac4685e886 Rebuild Binutils 2.38 using all modern features
- Rather than using part-by-part build of Binutils, use autogen and full
  ./configure, make build.
- Enable some other modern features, including the gold linker, threaded
  linking and 64-bit linking.
- This allows GCC 12 to build unhindered by binutils.
2023-04-27 17:25:51 +10:00
fosslinux 8ae911162a Move libssp into musl out of GCC
The motivations for this are complicated, but on musl systems, musl
will use its own libssp implementation, so GCC's libssp is not required.

Not to mention that GCC's libssp implementation is questionable at best.

This is the approach taken by the two major musl distributions - Alpine
Linux and Void Linux.
2023-04-25 14:04:42 +10:00
Andrius Štikonas 906b6b8f19 Update stage0-posix. 2023-04-23 17:26:26 +01:00
Andrius Štikonas 1bc4296091
Merge pull request #282 from eduardosm/build-kernels-in-chroot
Add option to build kernels and related tools during chroot and bwrap builds
2023-04-16 16:00:44 +01:00
Eduardo Sánchez Muñoz 55a44d9347 Force building kernels with `--update-checksums` 2023-04-16 12:14:26 +02:00
Eduardo Sánchez Muñoz b96074616f Add `--build-kernels` to CI bwrap build 2023-04-16 12:13:20 +02:00
Eduardo Sánchez Muñoz d11ee97452 Regenerate SHA256SUMS.pkgs so it matches the file produced with `--update-checksums`
No checksum is actually changed, they are simply sorted.
2023-04-16 12:13:20 +02:00
Eduardo Sánchez Muñoz 929eb69d03 Add checksums for kexec-fiwix and lwext4 2023-04-16 12:13:20 +02:00
Eduardo Sánchez Muñoz dd8ce0e516 Add option to build kernels and related tools during chroot and bwrap builds
The main motivations to have this are:
* Detect checksum changes with chroot/bwrap builds
* Avoid removing checksums from `SHA256SUMS.pkgs` when unsing `--update-checksums`
* Find crashes that would otherwise be missed in `builder-hex0`
2023-04-16 12:13:20 +02:00
fosslinux af610ab70b Use portable shebang for download-distfiles.sh 2023-04-16 09:27:59 +10:00
Eduardo Sánchez Muñoz d3477570b8 Explicitly specify i686-pc-linux-gnu build/host/target for kexec-tools
Fixes building in chroot/bwrap. Checksum is not affected.
2023-04-15 13:20:59 +02:00
Eduardo Sánchez Muñoz 86c0be5b67 Fix tcc crash when building lwext4 in chroot/bwrap
Fixes https://github.com/fosslinux/live-bootstrap/issues/281.

This is adding a null pointer check to `fill_local_got_entries` in tcc 0.9.27. This is rather a workaround because I am not sure if it is legit for that pointer to be null.
2023-04-15 13:19:29 +02:00
fosslinux b0a2747ada
Merge pull request #279 from eduardosm/external-sources-without-net
Pass `--unshare-net` to bwrap when building with `--external-sources`
2023-04-14 02:05:48 +00:00
fosslinux 445628d722
Merge pull request #275 from fosslinux/parallelism
Parallelism
2023-04-14 01:33:17 +00:00
Eduardo Sánchez Muñoz c143e65154 Pass `--unshare-net` to bwrap when building with `--external-sources`
Ensures that when `--external-sources` is used, the build does not require a working internet connection.

`--unshare-net` is always passed for the sysa phase.
2023-04-13 18:52:37 +02:00
fosslinux 49045dec0f Use 2 cores in CI 2023-04-13 17:13:53 +10:00