[rb-general] A major milestone in bootstrapping

Christopher Lemmer Webber cwebber at dustycloud.org
Wed Aug 29 18:16:00 CEST 2018


Orians, Jeremiah (DTMB) writes:

>> Interesting... I'm looking at
>> https://github.com/oriansj/M2-Planet/blob/master/seed.M1
>> How was it written?  It seems like a monumental task to write all
>> that and keep enough context in one's head!  > Then again, I have
>> never written assembly before...
>
> If you'll notice https://github.com/oriansj/M2-Planet/blob/master/seed.M1#L2
>
> It explicitly says it was generated from stage0 https://savannah.nongnu.org/projects/stage0/
> Specifically cc_x86 http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage2/cc_x86.s
> Which was built by M0: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/M0-macro.hex2
> Which was built by hex2: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/stage1_assembler-2.hex1
> Which was built by hex1: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/stage1_assembler-1.hex0
> Which was built by hex0: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/stage1_assembler-0.hex0
> Which was the 250byte seed used
>
> Well the work started back in 2016 with http://git.savannah.nongnu.org/cgit/stage0.git/tree/Linux%20Bootstrap/hex0.s
> and http://git.savannah.nongnu.org/cgit/stage0.git/tree/Linux%20Bootstrap/hex0.hex
>
> It was written one function at a time, with the arguments passed in registers and careful preservation of everything passed.
>
> - Jeremiah Orians

Ah very interesting!  Thanks for the history :)


More information about the rb-general mailing list