Commit Graph

576 Commits

Author SHA1 Message Date
Andrius Štikonas f531e1cc5f Remove -nostdlib when linking mes. 2023-06-09 23:22:30 +01:00
Paul Dersey 247b2a2a89 gzip: Regenerate crc table in util.c using makecrc 2023-06-05 10:50:57 -04:00
Paul Dersey 87601931b2 Write simple-patch binary to ${bindir} and remove hard coded paths 2023-06-05 10:50:57 -04:00
Emily Trau a8752029f6 Backport `uniq` fopen patch 2023-05-22 21:30:22 +10:00
rick-masters ef08891401 Convert file size to 32-bit type before writing. 2023-05-21 00:11:37 +00:00
rick-masters 1603b81602 Fix printf calls and use puts when possible. 2023-05-20 15:20:01 +00:00
rick-masters 0d4394aa0d Build kexec-linux later as a package for musl lib calls instead of asm. 2023-05-20 15:16:27 +00: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 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 724c6cca13
Merge pull request #293 from fosslinux/gcc-13
GCC 13
2023-05-10 07:30:40 +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
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
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
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 dbc6a25be1 Move checksum transcriber checksum to x86 specific name. 2023-04-30 18:45:41 +01: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 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 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
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
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 d98f97e214 Introduce parallelism
By using --cores argument to rootfs.py, JOBS= is set in the
live-bootstrap environment, and -j${JOBS} is used on builds. This speeds
larger packages up significantly.

A fair number of packages do not build properly with parallelism. Most
of these, at least for now, are disabled with -j1.
2023-04-13 17:13:53 +10:00
fosslinux f2a0d74bfb Update to Guile 3.0.9
This is achieved by transplanting 3.0.7's psyntax-pp.scm into 3.0.9
which works flawlessly.

This is required for parallelism, since <3.0.8 is irreproducible when
-jN is used.
2023-04-13 17:13:51 +10:00
Andrius Štikonas 343843dfdd Fix whitespace. 2023-04-12 23:25:08 +01:00
Andrius Štikonas b6fe5bc499
Merge pull request #276 from eduardosm/update-dhcpcd
Update dhcpcd to version 9.5.0
2023-04-12 23:24:39 +01:00
rick-masters 6b2d04d00e Always regenerate help2man man pages. 2023-04-12 11:27:55 +00:00
Eduardo Sánchez Muñoz 787cc9c45a Update dhcpcd to version 9.5.0
Also fixes broken download link
2023-04-11 23:37:59 +02:00
rick-masters fb4930c2f9 Remove ifdef BOOTSTRAP from musl patches. 2023-04-07 12:57:24 +00:00
rick-masters c1ceabb9c4 Use links for copies of patches. 2023-04-05 11:59:39 +00:00
rick-masters 9c016405ef Place open braces for functions consistently. 2023-04-05 11:57:41 +00:00
rick-masters 6468ff7ff1 Use replace instead of simple-patch to set base address for mes. 2023-04-03 18:16:44 +00:00
rick-masters cb046ff1c0 Use alias to build make_fiwix_initrd and run from bindir. 2023-04-03 18:14:38 +00:00
rick-masters 9846c4bb82 Build kexec-fiwix in bindir and run it from run.kaem. 2023-04-03 18:13:42 +00:00
rick-masters c19ca08f15 Use alias to build Fiwix and make checksums work. 2023-04-03 18:10:23 +00:00
rick-masters ecf99ab08b Implement kernel bootstrap up to building Linux. 2023-03-31 18:08:50 +00:00
Eduardo Sánchez Muñoz dcd43599a7 Build both stages of curl in sysc
The source tarball is provided as part of sysa distfiles and copied to sysc, which resolves the issue of finding a reliable plain HTTP mirror for curl.

Splitted from https://github.com/fosslinux/live-bootstrap/pull/253.
2023-03-23 18:35:38 +01:00
Eduardo Sánchez Muñoz bc4ecd9ed4 Update curl to 7.88.1
Patches have been regenerated to update hunk line numbers
2023-03-19 18:58:52 +01:00