summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2025-02-25bootstrap: update mcmtools to fix failed 'bc' download.HEADmasterZach van Rijn1-2/+2
2025-02-24bootstrap: sub 'glue' directory. fixes #31.Zach van Rijn1-12/+7
2025-02-23setup-abuild: do not build static 'muon' or 'samu'. fixes #21.Zach van Rijn1-2/+0
2025-02-23binsub.c: attempt to handle read-only files.Zach van Rijn2-19/+48
Some files may be r--r--r-- (0444), which would have failed in the previous version. Also fixed a subtle bug where the 'fopen' was being called with "rb+" instead of "rb" which caused a premature failure. bootstrap: ensure string offsets remain consistent. This has been thoroughly analyzed and tested in the discussion in #26, but a mechanistic understanding of the root cause has not yet been realized. That would still be worth doing. Fixes: #26.
2025-02-22bootstrap: disable default pie globally. fixes #9.Zach van Rijn1-2/+5
2024-12-15bootstrap: update list of unsupported targets (devs only).Zach van Rijn1-1/+2
2024-12-13bootstrap: update mcmtools to force update config scripts.Zach van Rijn1-1/+1
2024-12-13bootstrap: update mcmtools for better mips support. fixes #25.Zach van Rijn1-1/+1
2024-12-11bootstrap: update list of unsupported targets (devs only).Zach van Rijn1-0/+4
2024-12-11bootstrap: update mcmtools for better ppc support. fixes #24.Zach van Rijn1-1/+1
2024-12-11bootstrap: update mcmtools for better ppc support. fixes #23.Zach van Rijn1-2/+2
2024-12-10bootstrap: update mcmtools for non-interactive builds.Zach van Rijn1-1/+1
The goal of this project is to have a one-click bootstrap script that will produce a tarball suitable for bootstrapping. It must not hang or require interactivity. The mcmtools 'bootstrap' script will hang in certain cross-endian QEMU user environments, such as this project. The hang occurs in the 'getifaddrs()' function, which only used by curl's configure script to gate one unimportant thing. Without this update (see upstream commit for more details), one would need to kill the stuck conftest to the same end. Upstream is the cleanest (but not correct) place to implement this workaround. Other options were considered, such as to watch for various processes or conditions, or to LD_PRELOAD, etc. etc. and all seemed flaky. The rootfs tarball images can now be created without killing the stuck conftest. After this QEMU issue is resolved: * https://gitlab.com/qemu-project/qemu/-/issues/2485 Then this project can update QEMU appropriately and upstream mcmtools can subsequently remove the kludge.
2024-12-10setup-packages: remove debug tool for non-interactive image creation.Zach van Rijn1-4/+0
2024-12-09setup-abuild: remove problematic symlink.Zach van Rijn1-1/+2
2024-12-07setup-abuild: add libarchive. required by abuild.Zach van Rijn1-0/+30
2024-12-07setup-abuild: install libfakeroot.so and add xstat patch.Zach van Rijn1-1/+3
2024-12-07bootstrap: update mcmtools for newer QEMU.Zach van Rijn1-1/+8
Remove unnecessary files from the preimage rootfs. Currently this improves { 850 --> 300 } MB tarball size.
2024-12-07setup-abuild: update utilities where possible.Zach van Rijn1-8/+8
2024-12-06setup-abuild: i tried so hard to make this reproducible.Zach van Rijn1-0/+2
2024-12-06bootstrap: update mcmtools to fix failed upstream issue.Zach van Rijn1-1/+2
2024-09-18Add support for target loongarch64.Zach van Rijn2-13/+21
2024-09-18bootstrap: update mcmtools for newer GCC, enable optimizations.Zach van Rijn1-1/+1
2024-08-07bootstrap: update mcmtools to fix QEMU regression.Zach van Rijn1-2/+2
2024-08-05setup-abuild: patch 'apk-tools' for m68k support. fixes #10.Zach van Rijn1-0/+15
2024-08-05bootstrap: disable default pie for m68k. fixes #9.Zach van Rijn1-1/+1
2024-08-05bootstrap: s/GCC_CONFIG_FOR_TARGET/GCC_CONFIGZach van Rijn1-10/+10
The 'config.mak' that is generated by the upstream 'bootstrap' script (not this one) uses GCC_CONFIG, but we might want to replace or override it. The GCC_CONFIG_FOR_TARGET variable is not evaluated after GCC_CONFIG, so it is unsuitable toward that end.
2024-08-04Add support for target m68k.Zach van Rijn1-1/+6
2024-08-03setup-abuild: work around upstream 500 error.Zach van Rijn1-1/+7
2024-08-03bootstrap: update mcmtools to avoid zlib ftbfs error.Zach van Rijn1-2/+2
2024-08-02setup-abuild: multiple improvements and fixes.Zach van Rijn1-13/+13
* Instruct 'curl' to follow redirects (required for GitHub links) * Update OpenSSL with a TEMPORARY WORKAROUND (Ref. #6) * Remove artifact from earlier iteration which substituted 'ar' for a tuple-prefixed version. Fixes #7. * Add 'ZSTD=no' to the 'apk-tools' configuration, which appeared as a build error due to missing <zstd.h>. We do not need it.
2024-08-01Add support for target mips64.Zach van Rijn1-1/+6
2024-01-15Move 'config.mak' customization to the correct place.Zach van Rijn1-41/+72
2024-01-11Workaround for perl brokenness. Add GCC configure flags.Zach van Rijn3-17/+61
2023-09-19Miscellaneous updates/improvements. Fixes #1.Zach van Rijn2-21/+45
2022-12-25Pull in upstream 'abuild' patch.Zach van Rijn2-2/+3
2022-12-20Use latest mcmtools. Fix miscellaneous oversights.Zach van Rijn2-7/+15
2022-12-10Initial proof of concept.Zach van Rijn5-0/+1450
Currently, if you run this on a Linux box as an unprivileged user: $ ./bootstrap armv7 /some/scratch/directory you will end up with, completely from source: rootfs-armv7l-adelie-linux-musleabihf-preimage.tgz which is an armv7-native rootfs with all the tools that you need to build our distribution. (Substitute your favorite target). Work that remains to be done involves fixing "bootstrap.sh" in the packages.git repository, then plumbing that back into this project so that the complete process can be automated.