[bootstrappable] Re: GNU Mes 0.18 released
- From: "Orians, Jeremiah (DTMB)" <OriansJ@xxxxxxxxxxxx>
- To: "bootstrappable@xxxxxxxxxxxxx" <bootstrappable@xxxxxxxxxxxxx>
- Date: Thu, 8 Nov 2018 16:17:09 +0000
I tried ./kaem.run, and it works for me. I then bootstrapped M2-Planet using
bootstrap.sh and it works, and does not require "vm".
Good
To be honest, I am still trying to wrap my head around the current bootstrap
to see which parts cannot be bootstrapped yet without "vm".
Those would be:
Hex2, M1, kaem, blood-elf and M2-Planet
and the following files:
seed.M1 -- generated
blood-elf.M1 -- generated
M1.M1 -- generated
hex2.M1 -- generated
x86_defs.M1 -- hand written
libc-core.M1 -- hand written
ELF-i386-debug.hex2 - hand written
Entirely Correct
And so to finish the bootstrap without "vm", one needs to be able to
bootstrap the generated files somehow, as well as the binaries.
Actually no as the bootstrap can be an incremental process of eliminating the
generated files with handwritten versions.
The Order of which would be:
Hex2 (in hex1 that is already written in hex0 (600ish lines of assembly))
M1 (Actually a subset in hex2 (900ish lines of assembly))
cc_x86 (in M1 assembly (5-6K lines of assembly))
M2-Planet (simply have cc_x86 build it)
Kaem (Built by M2-Planet; eliminates need for bash or make)
Blood-elf (Built by M2-Planet; generates Dwarf stubs to enable objdump and gdb
to be easier to use)
Mes.c (Built by M2-Planet and we are done)
So one needs to convert hex2.c, M0-macro.c, and blood-elf_x86.c.
Blood-elf is just used in the generation of dwarf stubs and can be eliminated
by using the non-debug headers which are smaller but objdump -d stops working
on them.
But what about the seed.M1 --- if I want to generate it without "vm", I don't
think that can be done either, can it?
Seed.M1 needs a C compiler to be generated; its hand written equivalent is
cc_x86.s in stage0
So not difficult to write at all but rather tedious (As is obvious from the
implementation of cc_x86.s) [About a month of work]
(Simply replace each function in seed.M1 with a handwritten one; until done)
I also could convert the vm into hand written x86 M1-macro assembly provided I
hammered on it for a month
But again I made lots of paths forward with lots of individual pieces for
people to make that are well specified and can all be worked on in parallel by
different people.
Once I complete the Mes.c bootstrap, I'll be going back and finishing off the
x86 bootstrap and then ARM and finally build the hardware.
-Jeremiah
Other related posts:
- » [bootstrappable] GNU Mes 0.18 released- Jan Nieuwenhuizen
- » [bootstrappable] Re: GNU Mes 0.18 released- Jan Nieuwenhuizen
- » [bootstrappable] Re: GNU Mes 0.18 released- Arne Babenhauserheide
- » [bootstrappable] Re: GNU Mes 0.18 released- Orians, Jeremiah (DTMB)
- » [bootstrappable] Re: GNU Mes 0.18 released- Arne Babenhauserheide
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released- Jan Nieuwenhuizen
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released- Jan Nieuwenhuizen
- » [bootstrappable] Re: GNU Mes 0.18 released- Orians, Jeremiah (DTMB)
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released- Orians, Jeremiah (DTMB)
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released- Orians, Jeremiah (DTMB)
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released- Orians, Jeremiah (DTMB)
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released- Orians, Jeremiah (DTMB)
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released- Orians, Jeremiah (DTMB)
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released- Orians, Jeremiah (DTMB)
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released - Orians, Jeremiah (DTMB)
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released- Orians, Jeremiah (DTMB)
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released- Orians, Jeremiah (DTMB)
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released- OndÅej ÄertÃk
- » [bootstrappable] Re: GNU Mes 0.18 released- Giovanni Mascellani
- » [bootstrappable] Re: GNU Mes 0.18 released- Orians, Jeremiah (DTMB)