Commit Graph

609 Commits

Author SHA1 Message Date
Andrius Štikonas 4148b5da72
Merge pull request #222 from fosslinux/python
Python
2023-01-18 18:46:27 +00: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
fosslinux 6ec368ce37 Change Python -> python
(lowercase convention)
2023-01-18 22:57:04 +11:00
fosslinux d0a522113f Fix QEMU/chroot differences in outputs for Python 2023-01-18 08:20:34 +11:00
fosslinux 42fa6c24c1 Add Python-3.11.1 2023-01-18 08:20:34 +11:00
fosslinux d28ea08295 Add Python-3.8.16 2023-01-18 08:20:34 +11:00
fosslinux d1d422abc5 Add Python-3.4.10 2023-01-18 08:20:34 +11:00
fosslinux f34defc485 Add Python-3.3.7 2023-01-18 08:20:34 +11:00
fosslinux 2325df7f38 Add Python-3.1.5 2023-01-18 08:20:34 +11:00
fosslinux eadc92cf38 Add Python-2.5.6 2023-01-18 08:20:34 +11:00
fosslinux a94c8dbdce Add Python-2.3.7 2023-01-18 08:20:34 +11:00
fosslinux 13eaba86e8 Add Python-2.0.1 2023-01-18 08:20:34 +11:00
Andrius Štikonas 938d919503 Fix creation of binary tar packages.
Closes #223
2023-01-13 01:09:57 +00:00
fosslinux f4ebc241ac Fix linters (whoops!) 2023-01-07 19:12:50 +11:00
Andrius Štikonas c63d7ae89f Remove unnecessary mkdir call. 2023-01-07 01:11:47 +00:00
fosslinux b46b776404 Support .tgz files in extract phase 2023-01-05 21:20:18 +11:00
fosslinux 6f76fd2071 Add early preseed
Speeds up development cycle, allows for the pre-kaem stages to be
extracted as a tarball
2023-01-05 20:44:19 +11:00
fosslinux d91deb50c9 Remove XBPS 2023-01-05 20:44:19 +11:00
Andrius Štikonas bd29c5f855 Update stage0-posix. 2023-01-02 12:33:24 +00:00
fosslinux a89c76cc73 Fix musl-1.2.3 when umask on host system is not 022 2023-01-02 16:44:23 +11: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 278b2390f7 Update stage0-posix to include unbz2. 2022-12-24 11:04:52 +00:00
Andrius Štikonas e5edc55847 Update ca-certificates to 3.86.
This temporarily should fix checksum error due to certificate expiry.
2022-12-12 00:54:06 +00:00
rick-masters d2c669e0fc Always use file for checksums, mes built sha256sum doesn't support stdin. 2022-12-05 18:14:19 +00:00
Andrius Štikonas 58c538330e Minor simplification of coreutils-6 makefile. 2022-12-01 21:40:07 +00:00
fosslinux 9634b6d059
Merge pull request #215 from eduardosm/dl-distfiles-script
Add script to automatically download all sysa and sysc distfiles without Python
2022-11-29 16:58:25 +11:00
Eduardo Sánchez Muñoz 6f4afb4e3f Make shellcheck happy 2022-11-28 20:10:30 +01:00
fosslinux bd97b1f86c
Merge pull request #217 from rick-masters/fix-zero-terminate-wstrcpy
Zero terminate strings in wstrcpy. Resolves #216.
2022-11-28 18:59:59 +11:00
rick-masters 4e13e9ba11 Zero terminate strings in wstrcpy. Resolves #216. 2022-11-27 20:39:18 +00:00
rick-masters 267eb69452 Restore missing checksums for packages used in QEMU build. Resolves #213. 2022-11-27 19:16:39 +00:00
Andrius Štikonas 44c35017e7 Update musl 1.2.3 checksum. 2022-11-15 01:03:51 +02:00
Andrius Štikonas 33362c0783 Update stage0-posix. 2022-11-14 21:48:05 +02:00
fosslinux 1c6c9a404d Hotfix shellcheck 2022-11-02 14:35:48 +11:00
fosslinux 31bc944dd3 Establish different XBPS packages for different versions 2022-10-30 21:07:57 +11:00
fosslinux c523eb9b47 Fix repo preseed in update_checksums mode 2022-10-30 21:07:57 +11:00
fosslinux 38b90d6a96 Make preseed work in sysc
- TODO: tar-1.34 does not work properly with preseed.
2022-10-30 21:07:57 +11:00
Andrius Štikonas effac229c1 Update to zlib-1.2.13 and fix its download url. 2022-10-21 12:14:50 +02:00
Andrius Štikonas 70b43cb63c Update to mes 0.24.1 2022-10-17 09:58:03 +02:00
fosslinux 042deed5e5 Fix extract-only for old tar 2022-10-10 22:23:04 +11:00
fosslinux e6d4eccd41 Transpose linux-headers extract-only to new sources 2022-10-10 22:22:31 +11:00
Andrius Štikonas 3900cf04ca Move musl build with shared libraries after autogen. 2022-10-05 01:33:19 +01:00
fosslinux 10a55522a2 Change sources getting method.
- Rather than defining the urls where they are gotten (python sysa,
  python sysc, inside sysc), a spec file is now used that is easily
  interpretable and tool-independent.
- This is interpreted by rootfs.py and inside sysc.
- This is also used to make sources available and extract sources.
- Manual dirname selection is no longer required as is tarball renaming
  upon download - all of this is handled automatically.

Fixes #188
2022-10-02 09:48:20 +11: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 0d4abd0223 Add autogen-5.18.16. 2022-09-29 00:00:02 +01:00
Andrius Štikonas 997cd15453 Add sed 4.8 2022-09-23 22:03:32 +01:00
Andrius Štikonas f9d83f3a35 Add grep 3.7. 2022-09-20 00:16:43 +01:00
Andrius Štikonas e748d62a62 Build gperf statically
Build both static and shared libraries for:
* libunistring
* libatomic_ops
* libffi
* gc
2022-09-19 14:33:36 +01:00
Andrius Štikonas ee853d91fe
Merge pull request #200 from stikonas/which
Add which 2.21.
2022-09-17 14:31:30 +01:00
Andrius Štikonas 9f3f65f146 Add which 2.21. 2022-09-17 11:12:10 +01:00
fosslinux 838dc99325
Merge pull request #198 from rick-masters/fix-gzip-misplaced-catm
Remove misplaced commands. These are run later in the script.
2022-09-17 08:59:42 +10:00
rick-masters f8a68153ad Remove misplaced commands. These are run later in the script. 2022-09-16 17:48:51 +00:00
Dor Askayo 9d84539a70 Set --libdir when configuring gettext 0.21 2022-09-16 00:04:38 +03:00
Dor Askayo 3e3f7036f2 Set --libdir when configuring curl 7.83.0 2022-09-16 00:01:48 +03:00
Dor Askayo 916541707a Set --libdir when configuring bison 2.3 2022-09-16 00:01:39 +03:00
Dor Askayo 8208831e5a Set --libdir when configuring dhcpcd 9.4.1 2022-09-15 23:56:49 +03:00
Andrius Štikonas a16440f7c2
Merge pull request #194 from doraskayo/musl-dynamic-linking
musl dynamic linking support
2022-09-15 21:53:24 +01:00
Andrius Štikonas fa0abaa342
Merge pull request #191 from doraskayo/modern-binutils
Add binutils 2.38 and libtool 2.4.7
2022-09-15 21:52:27 +01:00
Dor Askayo 4c75d729b5 Add symlink for ldd
musl's ldd functionality is built into its dynamic linker.
2022-09-15 09:16:56 +03:00
Dor Askayo 9bde9d1afe Rebuild musl 1.2.3 with support for dynamic linking
Now that GCC and binutils support musl's toolchain natively, musl can
have its dynamic linking support enabled without ill-effects.
2022-09-15 09:16:56 +03:00
Dor Askayo d78fcdfa99 Remove pregenerated opcodes files in binutils 2.14 2022-09-14 13:05:23 +03:00
Dor Askayo 238520fee7 Patch GCC 4.7.4 for native musl support
Backport upstream patches to enable native musl toolchain support in
GCC. Only the changes required for i386 were taken, excluding
changes for libgo and libfortran.

These patches enable binaries built using gcc and g++ to automatically
use musl's dynamic linker as their interpreter when present during the
build.
2022-09-14 12:37:32 +03:00
Dor Askayo 4113d60b24 Add binutils 2.38 2022-09-14 12:36:32 +03:00
Dor Askayo 5aae443d65 Add libtool 2.4.7
Instead of using the pre-generated "bootstrap" script, execute the
relevant bootstrap operations manually. This doesn't actually change
the build output; the final package hash remains identical.
2022-09-11 09:19:16 +03:00
Dor Askayo 555a06b469 Create a symlink for GCC
This is required when the "CC" environment variable isn't set
explicitly, which is to be expected when using sysc_image in
downstream projects.
2022-09-02 22:09:38 +03:00
Andrius Štikonas 7e95cbbefb Switch to unversioned automake. 2022-07-07 20:43:53 +01:00
Andrius Štikonas 5209078684 Switch to unversioned autoconf.
Remove unversioned autoconf symlink from all but the latest autoconf.

This makes it clearer which autoconf is used.
2022-07-07 20:43:46 +01:00
Andrius Štikonas 511a0f71c5 Use replace to build mescc.scm. 2022-06-26 16:39:04 +01:00
Andrius Štikonas a0cb0dfd60 Add tac to coreutils-5.0. 2022-06-22 18:47:42 +01:00
Andrius Štikonas 0717485993
Merge pull request #178 from fosslinux/network
Network
2022-06-18 10:51:26 +01:00
fosslinux 25f37ba926 Various fixes from rebase
This took a while so a bunch of stuff got broken in rebase.
2022-06-18 09:10:11 +10:00
Andrius Štikonas ff67cd6508 Remove dircolors.h from coreutils 5.
It's not used but we can delete it anyway.

Fixes #176
2022-06-15 21:04:55 +01:00
Andrius Štikonas 119c96b9da Rebuild false.c in coreutils 5.
This was spotted in #176.

Note that coreutils 8.32 does not need to rebuild false.c as it
implements it via compile-time #defines.
2022-06-14 23:13:05 +01:00
Andrius Štikonas b2027df490 Update stage0-posix. 2022-06-12 23:13:01 +01:00
Andrius Štikonas 9b5c6ca3a1 Do not install pre-generated manpages.
Also remove redundant autotools stages.

Early manpages in autoconf 2.52-2.59 are removed from output.
Later ones are regenerated with help2man.

Fixes #182
2022-06-12 17:39:23 +01:00
fosslinux b614b3021d Add dhcpcd 9.4.1 2022-06-10 13:33:16 +10:00
fosslinux 0ce50a6393 Add options for;
- disk to be created (blank disk given to live-bootstrap) (default)
- disk to already exist but sources downloaded within live-bootstrap
- sources to be downloaded outside live-bootstrap (non-blank disk given
  to live-bootstrap)

Also migrate sysb to use sys_transfer in QEMU mode also.

Note that this means copy_sysc is now irrelevant. sysc is *always*
sourced from sysa.
2022-06-10 13:33:16 +10:00
fosslinux 6ea1b8e295 Add e2fsprogs 1.45.7
Additionally, fix downloading in chunks for some files.
2022-06-10 13:30:58 +10:00
fosslinux 8008de8e73 Add file downloading logic
Add urls to sysc, and modify some tarballs to http (non s) before ssl
2022-06-10 13:30:58 +10:00
fosslinux 060f44e5a5 Add curl 7.83.0 2022-06-10 13:30:58 +10:00
Andrius Štikonas a23f9d76b0 Fix reproducibility of automake manpages.
Fixes #180
2022-06-08 23:54:23 +01:00
Andrius Štikonas 3d202c5bce Fix --update-checksums mode after /usr/bin/factor was removed. 2022-06-08 21:51:16 +01:00
Andrius Štikonas 45924ae12a Remove factor binary (issue #176)
Only coreutils 5 is affected. We don't build factor in coreutils 6
and coreutils 8.32 does not use pregenerated headers in its implementation
of factor.
2022-06-06 21:42:24 +02:00
Andrius Štikonas 4923a79a70 Actually apply patch removing date from generated manpages.
Fixes #180
2022-06-06 00:19:45 +02:00
Andrius Štikonas 79c532cd2c Update hash of automake-1.11.2
Turns out we still hardcode current date in the manpage.
This needs fixing but in the meantime update the hash.
2022-06-05 19:57:27 +01:00
Andrius Štikonas ae811bde5d Remove pregenerated files (ppsyntax) in mes.
They appear to be unused.

Fixes #164
2022-06-03 21:05:24 +01:00
Andrius Štikonas 407b02d6b4 Update stage0-posix to latest snapshot. 2022-06-02 22:44:02 +01:00
Andrius Štikonas b0f0fa3a95 Fix return from bin_preseed. 2022-06-02 20:25:23 +01:00
Andrius Štikonas 0b3782d61b Allow preseeding with binary packages. 2022-05-29 00:04:57 +01:00
Andrius Štikonas 9d15314ebc Checksum source tarballs during bootstrap. 2022-05-21 23:49:37 +01:00
Dor Askayo cf1964b3bf Fix file permissions for run2.kaem 2022-05-22 00:23:53 +03: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 653f31b59f Add support for --update-checksums in early bootstrap
This allows creating *.checksums files instead of checking against
them when UPDATE_CHECKSUMS is set to True in bootstrap.cfg.

The checksums are also copied to /usr/src so they can be accessed
easily after the bootstrap completes.
2022-05-21 20:51:41 +03:00
Dor Askayo 18fa642100 Rename checksums to ${pkg}.checksums 2022-05-21 02:34:23 +03:00
Dor Askayo d12d0e0f9c Make bootstrap.cfg available during early bootstrap 2022-05-20 19:49:19 +03:00
Dor Askayo d1fea647ee Use ${bindir} in after.kaem 2022-05-20 19:33:36 +03:00
fosslinux fc0368aa6a
Merge pull request #169 from stikonas/links
Merge symlinks into tarball packages.
2022-05-20 22:46:30 +10:00
fosslinux b199aa3396
Merge pull request #163 from doraskayo/rootless-prep-2
Additional preparations for rootless bootstrap
2022-05-20 22:45:37 +10:00
Andrius Štikonas 8f61b8400e Merge symlinks into tarball packages. 2022-05-20 09:39:57 +01:00
Andrius Štikonas 081912058f
Merge pull request #161 from doraskayo/local-bootstrap-config
Don't export variables from bootstrap.cfg
2022-05-19 20:45:35 +01:00
Dor Askayo 0a98a6e13d Use "rm -f" in libtool to avoid an interactive prompt 2022-05-19 21:55:25 +03:00
Dor Askayo 507f945419 Remove /dev/null only if it's not a character device 2022-05-19 21:55:25 +03:00
Andrius Štikonas 21f4174dc3 Fix packaging issues
* Bzip2 was manually installed directly into filesystem, so bzip2 package was empty.
  Fixed by installing it to destdir. bzip2 moves out its binary before installing
  its own package.
* sha256sum from stage0-posix was not checking any checksums because it does not
  accept piped input. Fixed by using temporary file.
* grep was broken for a short time (but with fixed bzip2 package this caused failures)
  due to touch creating grep file of zero size (egrep symlink was touched).
  Fixed by implementing touch -h

Resolves #156, resolves #166, resolves #167
2022-05-17 10:19:50 +01:00
Andrius Štikonas 3e4f823ffb
Merge pull request #165 from doraskayo/reproducible-packages
Improve reproduciblity of tarball and XBPS packages
2022-05-15 19:26:35 +01:00
Dor Askayo fcea28eb38 Don't export variables from bootstrap.cfg
These variables should only affect live-bootstrap's scripts, yet they
currently "pollute" the build environment of most packages during the
bootstrap unnecessarily.

This change also makes bootstrap.cfg keep the same format between the
different bootstrap stages, which simplifies the input to each step.
2022-05-15 18:15:30 +03:00
Dor Askayo fde1bbc571 Update bootstrap.cfg immediately after interactive prompts
This improves the readablility of the scripts. It also helps avoid
cases where a variable could be set twice in bootstrap.cfg, such as
the DISK variable.
2022-05-15 18:15:30 +03:00
Andrius Štikonas 6bf53927de Readd gunzip. 2022-05-15 14:05:12 +01:00
Dor Askayo 3c60bdebc3 Improve reproducibility of tarball packages
This ensures the user running the bootstrap and its umask don't
affect the permission metadata in the tar archive.
2022-05-15 10:46:18 +03:00
fosslinux fba7ecf96a
Merge pull request #162 from doraskayo/libtool-archive-order
Fix libtool archive reproducibility
2022-05-15 13:48:15 +10:00
Dor Askayo 24e3fa3601 Fix libtool archive reproducibility
This makes the order of objects in archives created by libtool
consistent.

It is known to affect cases where the *_LIBADD automake variable is
used to add extra objects from a separate archive.

Fixing this allows us to remove a few workarounds.
2022-05-15 00:35:39 +03:00
Andrius Štikonas 3fd451a909 Swamp make and gzip. 2022-05-14 19:40:52 +01:00
Andrius Štikonas e4f5342ee4 Swap make and tar. 2022-05-14 12:42:03 +01:00
Andrius Štikonas b9079045db Swap sed and make.
This allows to use makefile rather than kaem script for building sed.
Makefiles for musl and mes are unified into one makefile with some
conditional code.
2022-05-14 12:41:27 +01:00
Andrius Štikonas 98ba2759b2 Upgrade musl to 1.2.3. 2022-05-12 00:41:17 +01:00
Andrius Štikonas b4243bf95d Remove stray build dirs that propagate into automake-1.10.3 package.
Fixes: !155
2022-05-10 23:22:49 +01:00
Andrius Štikonas 6c4b98a17a Some shellcheck fixes. 2022-05-09 22:53:46 +01:00
Andrius Štikonas ef0030bbf3 Reinstall system from packages during sysa->sysc and sysb->sysc transitions. 2022-05-09 22:53:46 +01:00
Andrius Štikonas 424aa5be38 Move from mes-m2 to mes-0.24. 2022-05-05 23:59:52 +01:00
fosslinux c189dad168 Order early tarballs deterministically
Fixes #151
2022-05-05 17:44:47 +10:00
fosslinux f1600467a7 Variety of improvements
- Rename sources to distfiles for clarity.
- Per sys(a/c) distfiles to reduce rootfs.py processing and reduce RAM
  usage in sysa.
- Canonicalise early kaem mes/tcc files to kaem script conventions.
- Cleanup unused setup in python.
2022-05-05 17:44:47 +10:00
bauen1 cc2b17c46b sysa: remove conflicting, unversioned automake and aclocal binaries 2022-05-02 22:32:46 +01:00
Andrius Štikonas 851a1a0e0a Update to stage0-posix 1.5.0. 2022-05-01 23:41:49 +01:00
Andrius Štikonas c54653116a Build patch-2.5.9 with makefile rather than kaem. 2022-04-24 01:24:08 +01:00
Andrius Štikonas 5b032cb46c rootfs.py refactoring.
Switch to bzip2 packages
Move most of the preprocessing done by rootfs.py
into kaem and bash scripts inside live-bootstrap.
2022-04-21 00:49:56 +01:00
Andrius Štikonas ef799e567b Simplify make-3.80 build script. 2022-04-12 21:18:48 +01:00
Andrius Štikonas 102e21e336 Add REPO variable to run.sh. 2022-04-11 18:53:35 +01:00
Andrius Štikonas 7a8567dc78 Rename /after to /sysa. 2022-04-11 18:53:35 +01:00
fosslinux 7366647595 Update stage0-posix, help2man fix, refactor
- stage0-posix update to correctly exist on fail.
- help2man reproducibility fix for month.
- refactor some bits into functions.
2022-04-05 20:25:40 +10:00
fosslinux b760b3eb2b Final fixes:
- All QEMU reproducibility issues resolved
- Added SPDX licensing
- Couple other small issues
- Fix guile reproducbility
2022-03-12 16:24:25 +11:00
fosslinux 9543a47f1b Fix up checksums + other fixes 2022-03-12 16:23:24 +11:00
fosslinux 931490551a Fix a variety of reproducibility issues
Include:
- Not regenerated man pages.
- Automake tarball with bad time (and completely useless).
- Ordering of files within tarballs.
- Resetting timestamp various fixes.
- Older tars not properly overwriting files leading to many issues.
- Weird lack of reproducibility in libtool scripts paths to tools.
- and more
2022-03-07 19:02:12 +11:00
fosslinux a343dcf6ed Add new tarball-based checksums to all packages 2022-03-07 19:02:12 +11:00
fosslinux 968d2ea7d1 Introduce packaging support
Utilising previously introduced DESTDIR support, everything is installed
to aformentioned DESTDIR.

Prior to the building of XBPS, we use gzip compressed tarballs as
packages. This requires a lot of strange hacks especially for old tar +
gzip (timestamps, etc causing reproducibility problems). Then we use
XBPS once built.
2022-03-07 19:02:12 +11:00
fosslinux 6d19fc093e Fix a strange bug occuring in linux-headers
Only seems to occur in some terminals, as a result of mes libc bash, and
only when using DESTDIR. Not sure what the trigger is.
2022-03-07 19:02:12 +11:00
fosslinux 06cc74fe01 Fix an annoying typo 2022-03-07 19:02:12 +11:00
fosslinux c64367f608 Merge /usr/sbin and /usr/bin
Required for some stupid build system (and is also better for us).
2022-03-07 19:02:12 +11:00
fosslinux 07d4408fb6 Build touch in coreutils-5.0 pass2
Better touch is very useful for packaging.
2022-03-07 19:02:12 +11:00
fosslinux b8ef19150c Fix various things to use ${DESTDIR} 2022-03-07 19:02:12 +11:00
fosslinux 016b9511d2 Make gzip-1.2.4 and tar-1.12 not include timestamps
There is no way for gzip 1.2.4 and tar 1.12 to disable the inclusion of
timestamps into the tarball/gzip, which creates non-reproducible
tarballs and hence packages.

While it is theoretically possible to set the timestamps to unix time 0
using touch, in reality this is not possible because mes libc does not
support utime() which sets the timestamp of a file from userspace. So we
need to ignore it rather than (re)set it.
2022-03-07 19:02:12 +11:00
fosslinux 634ec99771 Rename perl5.004_05 and perl5.005_03
The underscores cause problems later, as _ is a delimiter for "revision
number" in packaging.
2022-03-07 19:02:12 +11:00
Dor Askayo 2a0fef17e2 Add a patch to improve the reproducibility of findutils
See the comment in the patch for more details.
2022-01-17 14:11:17 +02:00
Dor Askayo b03f3e11c0 Use rm -f to avoid interactive prompts
This is required when not running as root to avoid prompts when
removing read-only files.
2022-01-17 14:09:29 +02:00
Dor Askayo c3843e1960 Ensure help2man is writable
When not running as root, the shebang workaround requires write
permissions to modify help2man. Since the original file is read-only,
permission must be granted explicitly.

Also fix the double '/' in the /usr prefix while at it.
2022-01-17 14:05:52 +02:00
Dor Askayo d2b3feca5f Remove the previous coreutils-5.0 source directory
coreutils-5.0 is built twice in the same source directory during the
bootstrap. This can create some unexpected issues.
2022-01-17 14:05:52 +02:00
Dor Askayo 206a31fa4c Use the -f flag in gunzip and bunzip2
It allows unpacking hardlinked archives.
2022-01-17 14:05:16 +02:00
Dor Askayo 37b5b7bf4c Use mkdir -p in after.kaem
Avoids an error when the directories already exist.
2022-01-14 13:23:00 +02:00
Dor Askayo f18504b509 Update mes-m2 2022-01-02 11:16:08 +02:00
Andrius Štikonas df933f474c Remove unused stage0-posix checksum file. 2021-12-31 16:39:00 +00:00
Andrius Štikonas 553c9b965a Fix leftover /image directories in perl config.h file. 2021-12-29 01:39:15 +00: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
Gabriel Wicki 65c7d78620 fix mescc alias in mes.kaem script
delete --no-auto-compile : useless in this case (MES doesn't compile)
delete -- : this starts an interactive scheme session (which is not the case here)
2021-12-22 17:14:51 +01:00
Andrius Štikonas 60eece8856 Update stage0-posix. 2021-12-04 20:06:54 +00:00
Andrius Štikonas cd93a07481 Update mes-m2 and stage0-posix. 2021-11-06 00:07:13 +00:00
Andrius Štikonas 12f3cc3138 Update stage0-posix. 2021-10-31 22:37:10 +00:00
Andrius Štikonas 32ec57d62d Unhardcode x86 from initial steps. 2021-10-20 21:16:05 +01:00
Andrius Štikonas 5148a8e0da Start using kaem aliases to build mes. 2021-10-20 21:15:50 +01:00
Andrius Štikonas 9acf482527 Update stage-posix. 2021-10-20 21:15:16 +01:00
Andrius Štikonas e46eb5ad9c Move stage0-posix match binary into /usr/bin. 2021-10-14 20:44:32 +01:00
fosslinux 5dbf82e8e4 A couple of fixes wrt bootstrap.cfg
Correctly source. export so that scripts can access.
2021-10-14 21:31:45 +11:00
Andrius Štikonas 04c3dc60a5 Update stage0-posix to newer version. 2021-10-14 01:26:11 +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 306dac7ba6 Add prompts when particular options are not given in config files 2021-10-13 00:42:21 +01: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
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
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
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
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 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