Commit Graph

20 Commits

Author SHA1 Message Date
rick-masters 5e5f309db7 Update Fiwix to v1.4.0-lb3 to pull in timestamp improvements and other fixes. 2023-07-06 23:29:37 +00:00
Paul Dersey 87601931b2 Write simple-patch binary to ${bindir} and remove hard coded paths 2023-06-05 10:50:57 -04: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 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
Andrius Štikonas dbc6a25be1 Move checksum transcriber checksum to x86 specific name. 2023-04-30 18:45:41 +01: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
rick-masters 9846c4bb82 Build kexec-fiwix in bindir and run it from run.kaem. 2023-04-03 18:13:42 +00:00
rick-masters ecf99ab08b Implement kernel bootstrap up to building Linux. 2023-03-31 18:08:50 +00:00
Paul Dersey c67306cfde Update mes to version 0.24.2
A rebuild of mes libc is required after building tcc 0.9.27 for the
first time.
2023-02-21 15:24:14 -05:00
Paul Dersey 91c168bb7d Eliminate make 3.80 and use 3.82 instead when building with tcc
Unlike make 3.80, make 3.82 makes a call to putenv which does not exist
in mes libc so a stub was created for this function.

The checksum for the util-linux package required an update.
When built with original make 3.80 it resulted in an extra file
/usr/share/man/man8/.8 that does not exist when building with 3.82
2023-01-18 11:40:50 -05:00
Andrius Štikonas 20c2d4c36e Build tcc 0.9.27 immediately after tcc 0.9.26. 2022-12-25 01:49:54 +00:00
Andrius Štikonas 70b43cb63c Update to mes 0.24.1 2022-10-17 09:58:03 +02:00
fosslinux 64ae760529 Add checksum-transcriber utility
To convert from sources format to sha256sum format.
2022-10-02 09:47:54 +11:00
Andrius Štikonas 511a0f71c5 Use replace to build mescc.scm. 2022-06-26 16:39:04 +01:00
Dor Askayo 7adff2dcd3 Update mes to the latest git snapshot
This should include a fix for S_ISUID that we "lost" when switching
away from mes-m2's libc.

See http://git.savannah.gnu.org/cgit/mes.git/commit/?id=ce54ccc2c04b0a6ec9105522e4b8b4cc278c5106
2022-05-21 21:48:23 +03:00
Dor Askayo d12d0e0f9c Make bootstrap.cfg available during early bootstrap 2022-05-20 19:49:19 +03:00
Andrius Štikonas 620e10d4be Update stage0-posix. 2021-12-28 11:51:15 +00:00
Andrius Štikonas 9d3b1e2723 Update mes-m2. 2021-12-23 17:59:54 +00:00
Andrius Štikonas cd93a07481 Update mes-m2 and stage0-posix. 2021-11-06 00:07:13 +00:00
Andrius Štikonas 32ec57d62d Unhardcode x86 from initial steps. 2021-10-20 21:16:05 +01:00