IRC channel logs

2026-10-05.log

back to list of logs

<siraben>dotted lists prove to be useful in qfitzah https://github.com/siraben/qfitzah
<siraben>did a bunch of restructuring and cleanup today
<fossy>(sorry, i have been away for a month, i have been catching up with my pings!)
<fossy>re fiwix networking: yes, this is quite nice, (although it doesn't have good driver support now, of course)
<fossy>i have thought for a while fiwix-mini is something that makes sense in the long term. i think there should be another kernel between builder-hex0 and fiwix
<fossy>especially as fiwix expands in features
<fossy>to get the bootstrap working on more hardware, we need to parse the E820 map, and I really would rather not do that in hex0 :D
<fossy>ideally, i think builder-hex0 is a bit more minimal, only uses x86 low memory, gets us to assembly (i think you can get to M1 in <1MiB memory?), where we have a more-featured kernel that can parse E820 etc, and that gets us to fiwix, or fiwix-mini
<Googulator>Currently, builder-hex0 captures the E820 map, doesn't really use it
<Googulator>IMO the best handover point to a new kernel would be right before Mes
<Googulator>as AFAIK Mes is the first thing to actually need a substantial amount of memory
<Googulator>The handover could happen in the same address space too, i.e. builder-hex0 executes a binary compiled from C, which then replaces builder-hex0's code with its own, and then sets up a better memory map
<Googulator>But keeps the existing in-memory FS
<Googulator>The question is, can we pass a discontiguous (in physical address space) initrd to Fiwix?
<Googulator>As the biggest limiting factor right now is Fiwix's initrd
<Googulator>aggi's TCC-s compatible Linux unfortunately is too old to support initramfs, but it does support tmpfs, which is sufficient for a workaround (i.e. pass a "shrink-wrapped" initrd that includes a script to mount a tmpfs, copy everything to it, then switch to that tmpfs as root)
<Googulator>The other limiting factor is having to reserve enough process memory space for Mes
<aggi>minor note: it was tcc-devs themselves (Bellard tccboot/JiT and seyko2 AoT compile) who introduced support for linux-tcc 20 years ago
<aggi>i merely picked up maintenance 20years later again, rebased for tcc mob/HEAD and latest linux-2.4 version, re-based NPTL support, driver support for sqfs, sata/ahci, usb-ethernet, gigabit, a little grsecurity etc.
<aggi>and then finally, mentioned userspace backport
<aggi>this tinycc/os system is precious for the sake of it's own, but i too want to re-integrate this for a full system bootstrap (chroot which is trivial and builder-hex0/native)
<aggi>latest linux-tcc versions is far more capable then the original (including NFS, iptables, SMP, sata/ahci), and it's fully tested with a complete userspace and development utilties (including gdb, strace, etc. etc)
<aggi>it is mostly recent software-versions backported onto the old linux2 sysv ABI
<aggi>and driven by tcc only (without gcc/binutils/llvm/clang), plus a few other extras such as red-hat elfutils and yasm which allow for easier bootstrapping (without python/perl/autotools if desired)
<Googulator>aggi: would it be feasible to backport initramfs?
<Googulator>also, is kexec available in linux-tcc?
<aggi>Googulator: to my knowledge kexec_linux is a userspace-utility, which needs testing (historically too some loadlin.exe was known to kexec linux2 from DOS, so chances are some of this works)
<aggi>then, i am not yet aware of the peculiariaties of initramfs in comparison to initrd/tmpfs/ramfs, nor what initramfs would be necessary for when initrd/tmpfs/ramfs are available
<aggi>but linux-2.5 and 2.4 are rather close, so it could be possible to backport/rebase initramfs from 2.5 to 2.4 (i've done so before for sqfs for example, and some usb-ethernet dongle)
<aggi>in any case, latest version of linux-tcc is uploaded to codeberg.org/aggi/linux-tcc for easy testing if anyone wishes to do so
<aggi>it's working just fine up and running 24/7 for several month including a huge pile userspace goodies
<aggi>i've just not yet finished re-integration of it into the configurator steps/ build-system (it's entangled into a dedicated gentoo portage-fork for support with tcc, far too complicated in comparison to live-bootstrap steps/ configurator)
<FransFaase>Saturday, October 10 at 14:15 CET I will give a talk at Hackfest in Enschede, The Netherlands with the title: 'Fast Linux bootstrapping'. It will be recorded and maybe there will be a live-stream on YouTube channel HackFestNL
<FransFaase>For more information see the website of Hackfest Enschede.
<notgull>aggi: Can TCC not compile the master branch of Fiwix?
<matrix_bridge><Andrius Štikonas> tcc can compile at least stable Fiwix
<matrix_bridge><Andrius Štikonas> I would be surprised if it can't compile master branch
<aggi>notgull: it can compile almost everything written in C (except latest linux versions for example and a few C99/C11 extensions)