Commit graph

455 commits

Author SHA1 Message Date
Andrius Štikonas
3c2713577b Update README with correct rootfs.py arguments. 2021-10-13 18:01:31 +01:00
fosslinux
98ea0a4c2e Don't use deblob-check
Generally, this is bad, because reduces featureset of kernel.
However, we don't use any blobbed features anyway.

1. This allows much lower RAM usage.
2. Speeds up deblobbing from hours -> seconds.

This nukes blobbed files instead of replacing blobs.
2021-10-13 17:57:50 +01:00
fosslinux
f12897265c Shuffle around the creation of sysb
For further RAM savings, we want to create sysb -without- having linux
tarball extracted at the same time. To accomplish this, we move the
gen_init_cpio + related script out of the tree and create it afterward.

Also use hard links to free up some more space.
2021-10-13 17:57:50 +01:00
fosslinux
732af79cdd A small RAM saving in initramfs
Before compiling the large Linux kernel, free up RAM space by removing
old build dirs.
2021-10-13 17:57:50 +01:00
fosslinux
c8998e9e71 Highlight need for 32-bit kernel; use 4G ram by default
It will always fit within 4G RAM.
2021-10-13 17:57:50 +01:00
fosslinux
622b4de875 Fix guile.
- The date reproducibility issue was not actually set to any date, which
  could cause issues in the fiture, fix that sed.
- Fix a reproducibility issue (under QEMU), where the ordering of files
  within libguile can be random. This also affects guile binary so we
  need to rebuild that.
- Some change in kernel versions means that guile binary is
  significantly different in newer kernel versions. Because we cannot
  know the version of the host under chroot mode we must disable guile
  checksum entirely.
- Update checksums accordingly.
2021-10-13 17:57:50 +01:00
fosslinux
0b7b11f415 Fix parts.rst misreference
Relative rather than absolute wording.
2021-10-13 00:42:21 +01:00
fosslinux
306dac7ba6 Add prompts when particular options are not given in config files 2021-10-13 00:42:21 +01:00
fosslinux
7ea6f75b53
Merge pull request #137 from stikonas/autoconf-2.71
Add autoconf 2.71.
2021-10-12 10:46:45 +11:00
Andrius Štikonas
afa162397c Add autoconf 2.71. 2021-10-10 22:55:41 +01:00
fosslinux
d5d234225e
Merge pull request #138 from stikonas/chroot
Chroot
2021-10-11 08:39:55 +11:00
Andrius Štikonas
c6c8a1eb7f Move chroot transition script inside bootstrap. 2021-10-10 16:38:52 +01:00
Andrius Štikonas
35a7df58b7 Build chroot in coreutils-5.0 step. 2021-10-10 12:18:08 +01:00
fosslinux
ce5fff784c
Merge pull request #136 from stikonas/java
Remove pre-built java file.
2021-10-09 11:15:08 +11:00
Andrius Štikonas
097cb2d72f Remove pre-built java file. 2021-10-09 01:13:25 +01:00
fosslinux
7e60c08579
Merge pull request #135 from stikonas/stage0_update
Update stage0-posix.
2021-10-09 08:03:39 +11:00
Andrius Štikonas
dceede45db Use exec when kaem finishes and runs bash. 2021-10-08 20:55:06 +01:00
Andrius Štikonas
e3d0191949 Update stage0-posix. 2021-10-08 20:55:06 +01:00
Andrius Štikonas
7b8219214c
Merge pull request #134 from fosslinux/guile
Stikonas' Guile
2021-09-21 00:42:42 +01:00
fosslinux
a8a9056f1d Change some formats to f-strings
As pylint recommends.
2021-09-20 14:31:10 +10:00
Andrius Štikonas
8857f53cd1 GNU Guile 3.0.7 2021-09-20 14:25:54 +10:00
Andrius Štikonas
de582f1866 Boehm-gc 8.0.4 2021-09-20 14:25:53 +10:00
Andrius Štikonas
e1350d1745 libatomic_ops 7.6.10. 2021-09-20 14:25:53 +10:00
Andrius Štikonas
bdab13eb60 libffi 3.3 2021-09-20 14:25:53 +10:00
fosslinux
acfe6cc771
Merge pull request #132 from fosslinux/kexec
Kexec, Kernel, sysc, etc, etc
2021-09-14 15:12:45 +10:00
fosslinux
1cfb21e51e Comment out cirrus run check (takes too long) 2021-09-14 14:59:08 +10:00
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
e225435983 Clear up storage space in linux-headers-5.10.41
Special case to free up space in the initramfs (linux tarball +
unpacked is MASSIVE)
2021-08-27 14:54:08 +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
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
fosslinux
4c6e7afa42 Remove build directory
This extremely conserves storage space. Needed for larger packages to
fit within 4GB RAM limit of i386 no-PAE.
2021-08-27 14:54:07 +10:00
fosslinux
f9ebb33168
Merge pull request #131 from stikonas/trap
Add a trap.
2021-07-24 13:41:56 +10:00
Andrius Štikonas
8f78796087 Add a trap. 2021-07-17 19:39:07 +01:00
Andrius Štikonas
63d2bc7a1b Fix typos. 2021-07-15 17:59:11 +01:00
Andrius Štikonas
3d64db72dc gperf 3.1 2021-07-15 17:57:45 +01:00
Andrius Štikonas
4cd5b9dfbb Unfuzzy bison patch. 2021-07-15 17:57:45 +01:00
Andrius Štikonas
effa9ba93a Build g++. 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
e94e078a1f Fix libunistring.
It seems that there is some instability of git snapshot packages.
I think newer version of git on the remote server packages them
in a different directory layout.
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
d6b032501a Do not build broken shared libraries. 2021-07-05 20:05:11 +01:00
Andrius Štikonas
4b3d36afb8 Downgrade autoconf to 2.64. 2021-07-05 19:12:19 +01:00