Hi,This should be clarified in the docs. I understand your confusion.Binary seeds are all the binaries that are needed for the instalation to start. They normally include Bash, GCC and that kind of stuff. So the instalation process starts with those and uses them as tools to build all the packages needed from source.The full source bootstrap project aims to eliminate those binaries from the process. This means those programs will be built from source too.Stage0 is a big part of the full source bootstrap. It is based on several assemblers that finally are able to compile GCC (through many steps, including the compilation of a heavily patched version of TCC).So the software Guix release comes with coul only have source packages and be able to build everything from source, using Stage0.I'm not sure if this explanation is the best or if it helps, but I hope it does.If you have more questions or anything don't hesitate to ask.
Best,Ekaitz‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Friday, September 24th, 2021 at 8:35 PM, Sage Gerard <sage@sagegerard.com> wrote:
Hello!
I'm confused about fundamental definitions from the manual.
> Possibly one of the most harmless, but certainly by far the biggest binary seed that all software distributions inject are the so [called] bootstrap binary seed. Bootstrap binaries are the initial binary seeds that are used to start building the distribution. -- https://www.gnu.org/software/mes/manual/html_node/Bootstrappable-Builds.html
This definition of bootstrap binary seeds confused me because
- "Binary seed" itself is not defined. After some searching, my understanding is that this is a verified binary you inject among source code to produce more software. Is that correct?
- it switches from singular to plural form. "The biggest binary seed is the bootstrap binary seed", followed by "Bootstrap binaries are the initial binary seeds." How do these sentences reconcile?
Also, in reading section 1.4 I didn't come away knowing what a full source bootstrap even is. Does that mean you reproduce the hex0 binary, and then use progressive stages to eventually reproduce the source code for a version of Guix? Or does it mean that you reproduce an exact disk image for an OS for the same CPU architecture as the hex program, with a copy of the Guix source ready to go on that system?