Commit Graph

70 Commits

Author SHA1 Message Date
fosslinux fcaaad8105 Change linux headers to 4.9.10 instead of 5.10.41
Unifies tarball distfiles.
2023-11-28 16:35:41 +11:00
Paul Dersey 5b9fd08dc0 Don't use serial console with bare metal option and user provided kernel 2023-06-19 09:24:55 -04:00
Andrius Štikonas 914b84377a Update to musl 1.2.4. 2023-06-12 19:31:30 +01: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
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
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
Andrius Štikonas 343843dfdd Fix whitespace. 2023-04-12 23:25:08 +01: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 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
Andrius Štikonas 3a130d4385 Fix initramfs generation.
Fixes #259.
2023-03-11 00:08:45 +00:00
Andrius Štikonas ef2deec60e Use .env file for passing environmental variables in sysa. 2023-03-05 20:27:12 +00:00
Andrius Štikonas 364cacb1ce Pass --no-filename to grep command. 2023-03-05 00:11:47 +00:00
Andrius Štikonas 57719f744f Reduce the size of linux kernel to free up some space. 2023-03-04 15:56:03 +00:00
Andrius Štikonas db9dd4628a Add binutils 2.30. 2023-03-02 22:08:43 +00:00
Andrius Štikonas d8c033aa79 Remove set -x hack. 2023-03-02 22:08:43 +00:00
Andrius Štikonas 241717ee8d Move automake-1.15.1 to sysa. 2023-03-02 22:08:43 +00:00
Andrius Štikonas da9a2c6c50 Move bash rebuild to sysa. 2023-03-02 22:08:43 +00:00
fosslinux 5c88f1c87f Add sysb and sysc scaffolding.
Now that we have the Linux Kernel built, we move to a full-disk (rather
than initramfs) setup in sysc. However, we cannot assume the seed kernel
has support for mounting hard drives. So, first we need to kexec into
sysb, which is used as a jumping off point to create the hard drive for
sysc.

Additionally, since 2.6.16 does not have support for on-demand initramfs
(initramfs must be built into kernel), we will have to rebuild the linux
kernel within sysb without the initramfs.

All of this process is not performed for chroot mode. Instead, we skip
sysb and jump straight to sysc, copying over appropriate data.

The python scripts have been changed slightly. Each sys* inherits
SysGeneral, which contains various functions which are not specific to
any sys* and simplifies those files. rootfs now also handles sysb and
sysc.

bootstrap.cfg also gives an indication whether we are running in a
chroot to avoid attempting to kexec/mount within a chroot.
2021-08-27 14:54:08 +10:00
Andrius Štikonas 8f78796087 Add a trap. 2021-07-17 19:39:07 +01:00
Andrius Štikonas 3d64db72dc gperf 3.1 2021-07-15 17:57:45 +01:00
Andrius Štikonas effa9ba93a Build g++. 2021-07-15 17:57:45 +01:00
Andrius Štikonas 2b69b2dca2 GCC 4.7.4 2021-07-15 17:57:45 +01:00
Andrius Štikonas 740fa5635b zlib-1.2.11. 2021-07-07 20:16:31 +01:00
Andrius Štikonas 4cf20d19ae pkg-config-0.29.2 2021-07-02 22:27:39 +01:00
Andrius Štikonas f9ca617923 libunistring 0.9.10 2021-06-29 17:49:34 +01:00
Andrius Štikonas c8784cbcd3 Split installed files out of /after into /image. 2021-06-29 17:49:34 +01:00
Andrius Štikonas c7a716d661 Texinfo 6.7 2021-05-29 10:49:34 +01:00
Andrius Štikonas 1857439ddd GNU gettext 0.21 2021-05-29 10:49:34 +01:00
Andrius Štikonas 32358fd94f GNU Patch 2.7.6 2021-05-29 10:49:34 +01:00
Andrius Štikonas 22a435ba95 GNU Automake 1.16.3 2021-05-29 10:49:34 +01:00
Andrius Štikonas a4889dfb9e coreutils: various fixes.
* Properly define coreutils versions, so that it is available in --version
* Move after tar. Later we can move this after gettext/texinfo too.
* There are no prebuilt files in git archive, remove function to delete info files.
2021-05-25 23:05:02 +01:00
fosslinux d623b018e4 Add perl 5.32.1. 2021-05-26 07:27:22 +10:00
fosslinux a392b7bac9 Add bison 3.4.2. 2021-05-26 07:27:22 +10:00
fosslinux 170718c823 Add make 4.2.1 2021-05-26 07:27:22 +10:00
fosslinux e773e65f1c Add dist 3.5-236
This is the metaconfig script and co. for perl.
2021-05-26 07:27:22 +10:00
fosslinux cd361e63f7 Add perl 5.10.1
Used as an intermediate before perl 5.32.
2021-05-26 07:27:22 +10:00
fosslinux d943b37962 Add bison 2.3
This is required for perl 5.10.1.
2021-05-26 07:27:22 +10:00
fosslinux 8d57161613 Add flex 2.5.33 2021-05-26 07:27:22 +10:00
fosslinux 981c4857fd run2: Add shellcheck source for helpers.sh 2021-05-26 07:27:22 +10:00
Melg Eight cf4ce56603
Add config file and force timestamp conditional option 2021-05-20 02:04:39 +03:00
Melg Eight fefb33a870
Add coreutils 8.32 2021-05-20 02:04:39 +03:00
Andrius Štikonas 6ea1ff2e54 GNU MPC 1.2.1 2021-04-19 00:32:00 +01:00
Andrius Štikonas 2e5ccce9be GNU MPFR 4.1.0 2021-04-18 13:13:44 +01:00
Andrius Štikonas 8b884b2cf1 GNU Autoconf Archive 2021.02.19 2021-04-18 13:13:44 +01:00
Andrius Štikonas 6e2f42c6a4 Remove automake 1.12 and 1.13.
automake 1.15 needs autoconf 2.69, which needs automake 1.11 but
we can skip intermediate versions.

Fixes: #93
Fixes: #100
2021-04-18 13:13:44 +01:00
Andrius Štikonas 54b7970bf3 GNU Tar 1.34 2021-04-06 18:00:37 +01:00
Andrius Štikonas f5b914bb9f GMP 6.2.1 2021-04-03 22:58:44 +01:00