@nachtrabe minised entirely lacks the -i option for example. And not sure how but I end up with sed: can't open ^ *+ when ./configure tries to check for functions.
As said there still very experimental and unlikely to generate on your machine (host being gentoo-musl if you're curious, once that's more settled I'll try to gain a bit of independence from that).
Managed to only have tcc+musl as binary seed, as expected (that include the sources, which are all unpacked, tar nor any decompressors are bootstrapped yet), current sizes with grabbing them from gentoo-musl:
Likely could get even smaller with grabbing Alpine packages (-O2 -ggdb doesn't yields the smallest binaries), and it's with both libc.so and libc.a from musl for now.
Got zlib (with 3+ patches, 2 for it's configure script) and pigz. Kind of funny that it's easier to bootstrap pigz (cc + make + zlib) than gzip (Like I'd need to get a diff implementation so it's configure script is happy…).
Now I guess I need a tar implementation and I should be very close to just being able to bootstrap a regular distro.
Switched to APKs from Alpine edge for the binary seed and added a SHA512SUM of the distfiles which are now fetched. Alpine edge is of course not a stable thing but at least it now means it's not just built for my machines and probably should work for other architectures as well.
Also even for me it's a great change because straight up unpacking the APKs with tar(1) is a pretty nice time saver.
Less than 10s on my laptop (AMD Ryzen 5 PRO 3500U) while running in QEMU, neat. (And 3 wasted seconds to to "checking for wait3 that fills in rusage..." in bmake configure script)
Figured I could try yeeting libc.a (9.1MB) since no static executables are built while bootstrapping, went from 11MB total to 1.2MB total. Binary seed that's small enough it could fit on a 1.44MB floppy? Heck yeah!
Heh, adapted the script for multiple architectures and x86_32 works with 128MB of RAM, while somehow on x86_64 it OOMs before even reaching init (which to be fair is tcc).
(none)# df -h
Filesystem Total Used Available Use% Mountpoint
rootfs 42.20MiB 34.73MiB 7.46MiB 83% /
devtmpfs 42.20MiB 0.00B 42.20MiB 0% /dev
(none)# uname -a
Linux (none) 6.6.29-0-lts #1-Alpine SMP PREEMPT_DYNAMIC Mon, 29 Apr 2024 08:10:40 +0000 i686
(none)# grep MemTotal /proc/meminfo
MemTotal: 110948 kB