Commit Graph

77 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 ddd4f1bc81 Add kbd-1.15.
This also requires a patch to linux-headers; while we are at it, make
linux-headers PREFIX agnostic.
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 4b3d36afb8 Downgrade autoconf to 2.64. 2021-07-05 19:12:19 +01:00
Andrius Štikonas c8784cbcd3 Split installed files out of /after into /image. 2021-06-29 17:49:34 +01:00
fosslinux c3c031fc51 run.sh: replace default arguments written out with ''
'' matches as an empty string which bash evaluates to be nothing,
tricking it into using the alternative text.
2021-05-26 07:27:22 +10: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 246cc10ab5 GNU Autoconf 2.65 2021-03-31 18:14:01 +01:00
Andrius Štikonas 20a4d3af9e GNU Automake 1.10.3 2021-03-31 18:14:01 +01:00
Andrius Štikonas a63a01c56b GNU Libtool 2.2.4 2021-03-31 18:14:01 +01:00
Andrius Štikonas 28779bc9ba GNU findutils 4.2.33 2021-03-31 18:14:01 +01:00
bauen1 3d1a7b6580
Make usage of /dev more failure proof
/dev/console is not needed / used.
2021-03-30 23:43:40 +02:00
Andrius Štikonas e30b56cb3e Merge remote-tracking branch 'pder/coreutils' into gcc 2021-03-24 19:37:17 +00:00
Andrius Štikonas 634cae7b68 Build bash 5.1 only after GCC. 2021-03-24 19:37:12 +00:00
Paul Dersey 366dc2eac5 Replace coreutils-6.3 with coreutils-6.10
Build only date, mktemp, and sha256sum
2021-03-24 15:30:37 -04:00
Andrius Štikonas 8cd8c0fe31 Rebuild bash 5.1 with gcc. 2021-03-23 18:02:14 +00:00
Andrius Štikonas 7162bd8f2b Bump bash to 5.1. 2021-03-20 12:36:07 +00:00
Andrius Štikonas 7364615a86 GNU Autoconf 2.61 2021-03-19 21:40:26 +00:00
Andrius Štikonas ce77c561db help2man-1.36.4 2021-03-19 19:57:59 +00:00
Andrius Štikonas 7fdb12f08d Automake 1.8.5. 2021-03-19 12:15:51 +00:00
Andrius Štikonas eb4b623de9 Autoconf 2.59. 2021-03-19 12:15:51 +00:00
Andrius Štikonas abf09359c3 Autoconf 2.57. 2021-03-19 09:46:00 +00:00
Andrius Štikonas 16dba20254 Automake 1.7.8. 2021-03-18 20:03:23 +00:00
Andrius Štikonas d1d5ab1a20 GNU Autoconf 2.55. 2021-03-18 19:19:05 +00:00
Andrius Štikonas 5ecd548945 Automake 1.7 and Autoconf 2.54 2021-03-18 17:44:01 +00:00
Andrius Štikonas 2fb08b9cd3 Autoconf 2.53. 2021-03-17 23:46:23 +00:00
Paul Dersey 8565d26fef Update initial build of sed from version 4.0.7 to 4.0.9 2021-03-17 17:11:16 -04:00
Andrius Štikonas 52cdbad405 Bootstrap aclocal. 2021-03-17 17:43:42 +00:00
Andrius Štikonas 0b85b35da6 Rebuild libtool. 2021-03-13 00:01:30 +00:00
Andrius Štikonas 2927547595 Add libtool 1.4. 2021-03-13 00:01:30 +00:00
Andrius Štikonas 3518f7cec0 Buil sed 4.0.9 with musl. 2021-03-13 00:01:30 +00:00
Paul Dersey cd0019e239 After building bash, call exec bash for new run2.sh script 2021-03-05 16:57:20 -05:00
Paul Dersey c0fedeba61 bash-3.2.57: Build new package to replace bash 2.05b
Resulting build now works interactively
2021-03-05 09:11:59 -05:00
Andrius Štikonas 7a4ca8e634 Rebuild tcc against new musl. 2021-03-03 20:36:12 +00:00
Andrius Štikonas f3cea25b87 Rebuild musl with fewer patches. 2021-03-03 20:36:12 +00:00
Andrius Štikonas a27e7b99a7 Build sha256sum from coreutils 6.3. 2021-02-28 20:53:20 +00:00
Paul Dersey 21096f6ff2 start binutils 2021-02-28 01:08:00 +00:00
Andrius Štikonas 67cdd9124c Autoconf 2.12. 2021-02-27 23:51:06 +00:00
Andrius Štikonas 607991542d Add autoconf 2.13. 2021-02-27 23:51:06 +00:00
Andrius Štikonas 5be7064d5f Rebuild autoconf 2.52. 2021-02-27 23:38:21 +00:00
Andrius Štikonas b15a829675 Add automake-1.4-p6. 2021-02-27 23:38:21 +00:00
Andrius Štikonas c88e4c1ab7 Install autoconf 2.52. 2021-02-27 23:35:33 +00:00
Andrius Štikonas d7794f8f15 Create device nodes. 2021-02-27 21:06:29 +00:00