Actually existing 《 #BareMetal coding 》be like:

Copyright (C) 2016 Jeremiah Orians
This file is part of #stage0

stage0 is free software: you can redistribute it and/or modify. It under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. stage0 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

## ELF Header
7F 45 4C 46
02
01
01
03
00
00 00 00 00 00 00 00
02 00
3E 00
01 00 00 00
FB 00 60 00 00 00 00 00
40 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00
40 00
38 00
01 00
00 00
00 00
00 00

## Program header table
01 00 00 00
07 00 00 00
00 00 00 00 00 00 00 00
00 00 60 00 00 00 00 00
00 00 00 00 00 00 00 00
9B 01 00 00 00 00 00 00
9B 01 00 00 00 00 00 00
00 00 20 00 00 00 00 00

## Hex
48 83 f8 23
74 26
48 83 f8 30
7c 6f
48 83 f8 3a
7c 5a
48 83 f8 41
7c 63
48 83 f8 47
7c 58
48 83 f8 61
7c 57
48 83 f8 67
7c 47
eb 4f

## Purge Comment
48 c7 c2 01 00 00 00
48 c7 c6 99 01 60 00
48 c7 c7 00 00 00 00
48 c7 c0 00 00 00 00
0f 05
48 85 c0
0f 84 be 00 00 00
8a 04 25 99 01 60 00
48 0f b6 c0
48 83 f8 0a
75 c8
48 c7 c0 ff ff ff ff
c3

## ascii num
48 83 e8 30
c3

## ascii low
48 83 e8 57
c3

## ascii high
48 83 e8 37
c3

## ascii other
48 c7 c0 ff ff ff ff
c3

## start
49 c7 c7 ff ff ff ff
49 c7 c6 00 00 00 00

## Loop
48 c7 c2 01 00 00 00
48 c7 c6 99 01 60 00
48 c7 c7 00 00 00 00
48 c7 c0 00 00 00 00
0f 05
48 85 c0
74 5d
8a 04 25 99 01 60 00
48 0f b6 c0
e8 3c ff ff ff
48 83 f8 00
7c c7
49 83 ff 00
7d 0c
49 89 c6
49 c7 c7 00 00 00 00
eb b5

## print
49 c1 e6 04
4c 01 f0
88 04 25 9a 01 60 00
49 c7 c7 ff ff ff ff
48 c7 c2 01 00 00 00
48 c7 c6 9a 01 60 00
48 c7 c7 01 00 00 00
48 c7 c0 01 00 00 00
0f 05
eb 80

## Done
48 c7 c7 00 00 00 00
48 c7 c0 3c 00 00 00
0f 05

## Place for input, This actually isn't required but here it is
02 00 00

#hex0 #mes #guix #bootstrappable #gnu

https://savannah.nongnu.org/cvs/?group=mescc-tools

mescc-tools - CVS Repositories [Savannah]

Savannah is a central point for development, distribution and maintenance of free software, both GNU and non-GNU.

@ekaitz_zarraga and I have finally bootstrapped #TinyCC on #RISCV starting from GNU #Mes and #MesCC (and eventually tiny #hex0 binary if you go further back).

The binary that we have built is self-hosting and can build itself, though perhaps a few more bugfixes will be needed to reach the newest version of tcc.

@janneke
@efraim
#bootstrappableBuilds
#reproducibleBuilds

Ekaitz's tech blog

@janneke @aziz @fsf @fsfe @reproducible_builds @ekaitz_zarraga Indeed! Right now we can bootstrap all the way from #hex0 to #Mes, then use #MesCC to build very first build of #tinycc (we can call it mes-tcc). mes-tcc can then build the next build of tinycc (boot0-tcc). Unfortunately, at the moment boot0-tcc segfaults. Today, I fixed one crash which was due to Global Offset Table being all zeros but it turns out we are now hitting another segfault, so more work is needed.

#bootstrappableBuilds

@tahnu We'll soon have more achievements! #BootstrappableBuilds community will soon have kernel bootstrapping working on x86, starting from ~200 byte seed kernel (though there will be a bit more #hex0 code that we'll have to build but still within a few KiB). Though I don't expect that to be integrated into #guix anytime soon or maybe ever... I suspect #guix will be limited to userspace bootstrapping.

@janneke and I were trying to fix 64-bit (#amd64 for now) #GnuMes bootstrap. After applying some fixes to M2-Planet and #mes we were able to bootstrap mes-m2 binary from #hex0. And it's working well enough to rebuild itself with #mescc.

This is expected to be in the next releases of mes 0.25 and M2-Planet 0.11.

#BootstrappableBuilds #stage0

#Stage0 of the #guix full source bootstrap is commented well enough that you can get a sense of what's going on fwiw

https://git.savannah.nongnu.org/cgit/stage0.git/tree/stage0/stage0_monitor.hex0

#mes #hex0 #guile #scheme

stage0_monitor.hex0\stage0 - stage0.git -