IRC channel logs

2021-10-12.log

back to list of logs

<fossy>i see
<fossy>that is good stikonas[m]
<fossy>stikonas[m]: when you wake up, do you mind having a look at the top commit on my PR, your kernel should completely work with it now
<fossy>that kernel only supports 3G RAM with i386, which is why your kernel was failing
<fossy>we want to support such kernels because they are smaller though
<stikonas[m]>fossy: sure, I just had 2 hour internet outage, will take a look tomorrow
<stikonas[m]>Oh, I didn't realise it only supported 3 GB...
<stikonas[m]>I also wrote almost trivial match program, will do PR tomorrow too
<stikonas[m]>It can go to mescc-tools-extra
<stikonas[m]>Basically return !match(a,b);
<stikonas[m]>But that will allow to do conditional kaem code
<fossy>oh, i see
***PurpleSym[m] is now known as PurpleSym
<stikonas>fossy: looks good but you need to update guile checksum
<ruffni>what the best resource explaining the relationships on hex0, hex1, hex2, M1, mescc-tools and GNU Mes?
<janneke>ruffni: i sent an outline to gnu-music-discuss a while ago which has a lot of pointers https://lists.gnu.org/archive/html/gnu-misc-discuss/2021-04/msg00057.html
<ruffni>thanks!
<stikonas[m]>ruffni: also ask questions here, we can answer them too
<stikonas[m]>Basically each step builds another
<stikonas[m]>And each new step is longer and more complicated program but your also get to use more advanced tools
<ruffni>:) that's about as far as i got yet.
<ruffni>and just in this moment, i found what i was looking for. the README files of the stage0 and stage0-posix repos contain the info!
<ruffni>i thought i saw that *somewhere* and kept crawling the docs for that
<stikonas>just looking at what build scripts run tell you quite a bit
<stikonas>e.g. if you start at https://github.com/oriansj/stage0-posix/blob/master/kaem.amd64
<stikonas>(well, this one just kicks three other scripts)
<stikonas>first one of those is rebuilding our binary seeds https://github.com/oriansj/stage0-posix/blob/master/AMD64/mescc-tools-seed-kaem.kaem (hex0->hex0 and hex0->kaem-minimel)
<stikonas>then second is most insteresting https://github.com/oriansj/stage0-posix/blob/master/AMD64/mescc-tools-mini-kaem.kaem
<stikonas>it goes all the way to C compiler in C and builds "shell engine" with more features (kaem as opposed to kaem-minimal)
<stikonas>ruffni: basically hex0 just converts text file into binary file (stripping of comments), each pair of bytes in a text file e.g. AF is converted into byte 0xAF
<stikonas>hex1 is kind of optional but simplifies writing hex2. It's a stripped down version of hex2 and supports only single character labels (in hex0 code you have to manually calculate how many bytes your want to jump in your code when branching)
<stikonas>then hex2 supports multi character labels and a few other features
<stikonas>M0 is then macro assembler, instead of coding writing using hex numbers, your can write with some words, e.g. "ADD" instead of some hex number
<stikonas>and cc_* is a simple C compiler
<stikonas>it is still written in assembly but can bootstrap M2-Planet (C compiler in C)
<stikonas>and after that we build some useful tools and then GNU Mes
<ruffni>thank you so much for clarifying!
<stikonas>so those early steps are a bit arch specific. We have them for amd64, x86, aarch64 and risc-v for POSIX boostrap. And also some old "knight" architecture which can also run it on baremetal (we don't have any knight hardware though)
<stikonas>ruffni: porting those steps to new arch helps a lot to understand them
<ruffni>i think what confused me most is that stage0 contains stage0, stage1, stage2 and stage3 :)
<stikonas>well, there is stage0 repo and stage0-posix repo
<ruffni>yes
<stikonas>stage0 is basically baremetal
<stikonas>and it's dividede into those stage0-stage3
<stikonas>bootstrap on POSIX kernel on the other hand is dividided into more parts...
<stikonas>although the steps are similar
<stikonas>it's a bit arbitrary how you subdivide those steps
<ruffni>i see that. also: stage0-posix talks about phases
<stikonas>I guess to reduce confusion
<stikonas>ruffni: there is also this https://github.com/fosslinux/live-bootstrap/blob/master/parts.rst
<stikonas>but it's x86 only for now
<stikonas>(because that's the only arch where everything works, not even amd64 works)
<Hagfish>ruffni: if you haven't seen that parts.rst before, it's well worth a look
<Hagfish>one day i think i might print it out to have a poster on my wall :)
<ruffni>it is, indeed! beautiful, yet terrifying ;)
<xentrac>probably of interest to many here: https://www.qubes-os.org/news/2021/10/08/reproducible-builds-for-debian-a-big-step-forward/
<oriansj>ruffni: we also have a wiki https://bootstrapping.miraheze.org/wiki/Stage0 but I'll probably have to update it to include the new RISC-V extensions.
<oriansj>among a few other legacy pieces that have changed.
<xentrac>I think ruffni disappeared