Commit graph

1280 commits

Author SHA1 Message Date
Andrius Štikonas
26552a928f Increase disk size to 16G. 2023-05-20 12:46:22 +01:00
rick-masters
8604871997 Pull builder-hex0-x86-stage1 from updated stage0-posix and lint fixes. 2023-05-18 10:59:46 +00:00
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