IRC channel logs
2023-12-03.log
back to list of logs
<Googulator>Of all the various things we build in linux / sysc before we build openssl, are all of those actually prerequisites of openssl? <Googulator>I was thinking of putting openssl and all of its requirements into srcfs (bringing them over into the Linux environment via initramfs), and *mandating* (not merely allowing) https for all subsequent downloads <Googulator>This way, we remove the NIC & its firmware from the list of things that could potentially backdoor the process <Googulator>this would solve our HTTP download woes, and provide additional security - at the cost of a larger srcfs <Googulator>if the NIC only ever sees ciphertext, it can't inject a backdoor unless it breaks the cipher <Googulator>fossy: found another issue - in the "bc" build, ./fix-libmath-h fails with "UNKNOWN ARGUMENT" -> Error 1 <Googulator>"UNKNOWN ARGUMENT" in all caps is a kaem error - but we should be way past using kaem at this point <Googulator>fix-libmath-h is missing a shebang, and for whatever reason, make decides to fall back to using kaem here <Googulator>I suggest a patch to bc which adds the missing shebang, but it's worth investigating why make chooses kaem in kernel-bootstrap, but bash otherwise <Googulator>fossy: also, is pass2.sh ever used in bash-2.05b? In the manifest (and also in the pre-refactor sysa files), I only ever see pass1.kaem being called <Googulator>the next bash built after that is 5.2.15, which is the final one <GoogulatorMobile>fossy: found it - $SHELL is not set in env, and kaem is hardcoded to set itself as $SHELL if it's not explicitly set <GoogulatorMobile>You'll need to either add an "export SHELL=/usr/bin/bash" to update_env.sh, or drop the hardcoded default from kaem (why is it even needed?) <fossy>GoogulatorMobile: yeah, I found that locally as well, i've got that fixed now, thanks :) <fossy>pass2.sh may not be used? i think it might be an older relic <GoogulatorMobile>fossy: do you also have a fix for "cp: cannot stat /init.3: No such file or directory" already? <Googulator>ok, turns out, for some reason, no init.3 is ever generated <Googulator>or rather, it's generated, and then lost to the builder-hex0 -> fiwix kexec <fossy>Googulator: i just pushed my most recent changes to the simplify branch. that is also fixed there <Googulator>(I already have a fix in place for creating sda1) <hl>got spare 37C3/CCC tickets if anyone wants them <fossy>Googulator: yes, that does not currently work, i am working on that right now <fossy>don't worry too much about that right now, it is incomplete <Googulator>managed to bypass that - now Linux kernel boots, but dies due to no initramfs and no rootfs <fossy>if that doesn't quite answer it feel free to ask <matrix_bridge><Andrius Štikonas> Googulator: bash pass2 was an attempt to get interactive bash earlier <matrix_bridge><Andrius Štikonas> rickmasters had some issues with it on fiwix <Googulator>fossy: but that's for the "external" disk, which is (AFAIK) currently unused <Googulator>there's no reason to force the root disk to be ext3 too <Googulator>.26 is the one we currently build with mes, right? <Googulator>alternatively, do we need meslibc at all, or can we just go straight to musl 1.1.24 here? <Googulator>fossy: I think I found why initramfs generation is failing <Googulator>gen_init_cpio is expecting a very different file list format than what we give it <Googulator>it seems disabling interrupts had a pleasant side effect in qemu: during srcfs read, the lines printed out are no longer missing their last character & newline <Googulator>so qemu wasn't as unaffected by the interrupt problem as I thought, it just manifested in a more cosmetic way <Googulator>as soon as interrupts are reenabled for userspace, the missing character error comes back <Googulator>since nothing in builder-hex0's "userspace" will ever interact with hardware other than the CPU or the RAM, except via 16-bit BIOS routines, and "int 80h" does work even if interrupts are otherwise disabled, I think it's best to just keep interrupts disabled for the entirety of builder-hex0's execution (with the exception of 16-bit routines where <Googulator>then, kexec-fiwix can perform a "sti" in its trampoline right before jumping to Fiwix proper <Googulator>it can do that because in builder-hex0, everything runs in ring 0 (hence "userspace" in scare quotes) <Googulator>and from that point on, we don't ever need to rely on BIOS for anything, because Fiwix is a true kernel with its own drivers <Googulator>alternatively, we could implement interrupt proxying, which would also simplify things like disk or console access - we could just "int 13h" or "int 10h" straight from protected mode <Googulator>unfortunately x86 has no instruction like "int al", but it can still be done using self-modifying code