IRC channel logs
2023-11-28.log
back to list of logs
<rickmasters>there are several ways to give Fiwix more storage space to build with but they're just not easy to do. <stikonas>well, unifying linux tarballs gives us quite a bit already <stikonas>and there are some other ways we could save some storage <stikonas>e.g. one could delete unrelated arch directories from stage0-posix <GoogulatorMobile>Modifying CHS access to LBA is why I'm interested in a higher-level version of builder-hex0 <stikonas>well, right now we basically have only hex2 version of builder-hex0 <stikonas>and I think rickmaster manualy inspects diff between binaries after modification <stikonas>but it's not really writing hex0 directly <GoogulatorMobile>& assembly is the language of choice for interfacing with 16-bit BIOS anyway <stikonas>it's a bit different for riscv64 where you still have to do some horrible transformations for immediate constants <stikonas>well, M0 is probably the nicest thing for this <rickmasters>GoogulatorMobile: Did you need to increase any ram drives to build a bigger kernel? I didn't find that in your playground branch. <rickmasters>Nor did I see linux tar ball unification but maybe I'm missing something... <GoogulatorMobile>fossy: I noticed the builder-hex0 stage 2 in live-bootstrap doesn't match the one in ironmeld/builder-hex0 <oriansj>well a hex2 bootloading stage could be potentially crammed in 510 bytes but it'll require some creativity. <oriansj>then builder-hex0 could just be a hex2 program loaded/assembled and then run <fossy>GoogulatorMobile: unsure, rickmasters put that there <rickmasters>GoogulatorMobile: The one in live-bootstrap is just a few commits behind <rickmasters>GoogulatorMobile: the one in ironmeld has cosmetic changes and supports an 'f' command to flush to disk. <stikonas>oriansj: I wasn't thinking about hex2 bootloading stage, I was thinking more of the hex0 bootloading stage that loads secondary larger loader that then loads builder-hex0 <rickmasters>GoogulatorMobile: The flush allows writing to disk and then booting fiwix off disk but we ended up not using that method. <stikonas>well, up to a point where we have good enough language for proper builder-hex0 <rickmasters>GoogulatorMobile: If you're going to make a change that is needed for live-bootstrap I'd recommend using the latest ironmeld version as a base. <rickmasters>GoogulatorMobile: arguably we should be using a git submodule <stikonas>yeah, git submodule sounds right for this thing <stikonas>some people don't like them, but we arleady use them anyway <rickmasters>stikonas: the downside is that it pulls in a lot of code, docs, utils and cruft that is not needed for live-bootstrap <stikonas>and that blows up our already constrained size <rickmasters>stikonas: but it probably makes sense as it can mislead someone into working on an out-of-date version. <stikonas>there should be at least another readme file <stikonas>well, the whole thing not counting .git is 400K <rickmasters>manually copying over to this repo made more sense when I thought I would be the only one doing it... <stikonas>hmm, I haven't looked at your repo in a while <stikonas>what's the difference between builder-hex0.hex0 and builder-hex0-x86-stage2.hex0 <rickmasters>see DEVELOP.md, the build-hex0 is the original one with no stages <rickmasters>both builder-hex0-x86-stage2.hex0 and builder-hex0.hex0 come from the same hex2 file, they are just "compiled" with different starting addresses <rickmasters>in other words, the builder-hex0 is relocatable to two different addresses depending on whether it was loaded by stage1 or not. <rickmasters>At the beginning of the kernel_main it detects whether it is already loaded by stage1 or needs to load itself. <rickmasters>At the beginning of internalshell it detects where source should be read from the disk depending on how the kernel was loaded. <rickmasters>stikonas: you said the git submodule "blows up our already constrained size" but it only affect the live-bootstrap checkout footprint, <rickmasters>those files wouldn't be loaded into memory or anything <stikonas> I didn't remember what rootfs.py does with that directory <rickmasters>sysa.py:create_builder_hex0_disk_image() pulls the specific files into the disk image <rickmasters>GoogulatorMobile: thanks, found your birthday patch. Happy Birthday! (belated) <matrix_bridge><Andrius Štikonas> given how bridge shutdown happened a few months ago <stikonas>they were given some very short notice to bring down the bridge back then <stikonas>and communication coming from libera and EMS were fairly different <stikonas>which meant there were some serious differences <stikonas>well, I do run heisenbridge on this room...