Commit Graph

46 Commits

Author SHA1 Message Date
fosslinux 04180f5672 Various fixes + cleanup.
- Add parts.rst documentation for Linux kernel.
- Completely fix problems caused by new bootstrap, update checksums for
  /usr.
- Globalise populate_device_nodes.
- Enable deblobbing.
2021-09-14 14:59:08 +10:00
fosslinux d429c48d76 Update the linux kernel for sysb/c to 4.9.10.
- We do not use latest 4.9.x because it relies on a new version of
  binutils, while older versions do not. (Note: we should be able to go
  a bit newer but I didn't bother testing >50 versions to figure this
  out).
- We do not use newer kernel versions because they require one or more
  of (new perl, new binutils, new make, new gcc, new bison, new tar).
- sysb and sysc are updated to use the SATA (libata) subsystem (aka sda)
  instead of IDE-emulating SATA subsystem (aka hda) which is now
  available to us.
- While theoretically according to docs 4.9 should work OOTB with our
  version of binutils this is not the case, so we have to do a bit of
  (interesting) patching. But this does not break anything.
- Thankfully serial support in 4.9 is not screwed over like it is in 2.6
  so we can revert to that.
- 4.9 has the linux-libre project at our disposal, instead of gNewSense.
  So we use this. Unfortunatley that takes forever because we have to
  use sed because our version of gawk is too old/buggy. :( I plan to
  introduce very shortly 1. parallelism 2. 'sysc snapshot' which will
  start from sysc to avoid this. I do not want to use linux-libre
  tarballs because they make modificiations directly from this script
  (aka not easily verifiable, use the source!) and this script allows
  for much greater flexibility.
- We compile the initramfs ahead-of-build using the in-tree cpio
  generator instead of also building cpio to use less packages. We do
  NOT build the initramfs into the kernel like 2.6 (unsupported).
- Oh and fix a kexec-tools checksum.
2021-09-13 13:43:36 +10:00
fosslinux 1e19193408 Add make 3.82 (sysa) 2021-08-27 14:54:08 +10:00
fosslinux b93a931a53 Move to /usr prefix.
- This is much more standard and replaces /image in sysa and is the
  standard in sysc (avoids many issues).
- GCC needs to have a file created for some unknown reason.
- Checksums updated.
2021-08-27 14:54:08 +10: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
fosslinux 925ce198c1 Add linux kernel 2.6.16.62. 2021-08-27 14:54:08 +10:00
fosslinux 950f339272 Add util-linux 2.19.1. 2021-08-27 14:54:08 +10:00
fosslinux bfe7a67acf Add kexec-tools 2.0.22. 2021-08-27 14:54:08 +10:00
fosslinux c41d2817e8 Add linux headers 5.10.41.
Needed for kexec-tools.

Not equivalent to kernel version; kernel API is stable and does not
change. Therefore we can use any (latest) version.
2021-08-27 14:54:07 +10:00
Andrius Štikonas 3d64db72dc gperf 3.1 2021-07-15 17:57:45 +01:00
Andrius Štikonas 3835f1e1aa Switch toolchain triplet to i386-unknown-linux-musl 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 4b3d36afb8 Downgrade autoconf to 2.64. 2021-07-05 19:12:19 +01:00
Andrius Štikonas db27ef0049 Fix tarball download function.
We were using Python's requests library and it was automatically
uncompressing some tarballs. Switch to using raw requests to avoid that.
2021-07-05 19:10:14 +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 6655de9e03 Switch to compressed gzip tarball. 2021-06-21 23:04:52 +01:00
Andrius Štikonas 826ff62300 Remove mes-libc submodule. 2021-06-21 22:40:48 +01:00
Andrius Štikonas ff6d9e5c08 Get rid of mkbuild. 2021-06-20 23:58:04 +01:00
Andrius Štikonas 987113f0a6 Build patched tcc-0.9.26 from tarball 2021-06-20 22:23:51 +01:00
Andrius Štikonas 40f40ea850 Switch to using mes/nyacc tar packages. 2021-06-20 13:24:35 +01:00
Andrius Štikonas b885cb5727 Update to stage0-posix 1.3. 2021-06-16 21:24:48 +01:00
Andrius Štikonas 8210cc9e24 Add a missing comment. 2021-05-29 14:44:39 +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 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
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
Fotis Georgatos 3d4f0e9290
fix minor typos 2021-05-06 03:14:11 +02: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 3dfe3dc0f0 Split mes libc into a separate source package.
Drop one of the mes git submodules.
2021-04-18 13:13:44 +01:00
Andrius Štikonas 419cd74d92 Move tcc 0.9.27 after bzip2.
This also allows to merge two builds of tcc 0.9.27.
Drop tcc 0.9.27 git submodule.
2021-04-17 01:29:31 +01:00
Andrius Štikonas f030a3a74e Add untar.c 2021-04-17 01:29:31 +01:00
Andrius Štikonas 713fd9143f Port rootfs.sh to Python 2021-04-11 00:06:24 +01:00