* Please explain these fundamental terms to me?
@ 2021-09-24 18:35 Sage Gerard
2021-09-25 12:32 ` Ekaitz Zarraga
0 siblings, 1 reply; 4+ messages in thread
From: Sage Gerard @ 2021-09-24 18:35 UTC (permalink / raw)
To: guix-devel
[-- Attachment #1: Type: text/plain, Size: 1265 bytes --]
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?
[-- Attachment #2: Type: text/html, Size: 1830 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Please explain these fundamental terms to me?
2021-09-24 18:35 Please explain these fundamental terms to me? Sage Gerard
@ 2021-09-25 12:32 ` Ekaitz Zarraga
2021-09-25 12:34 ` Ekaitz Zarraga
0 siblings, 1 reply; 4+ messages in thread
From: Ekaitz Zarraga @ 2021-09-25 12:32 UTC (permalink / raw)
To: Sage Gerard; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 2395 bytes --]
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?
[-- Attachment #2: Type: text/html, Size: 3225 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Please explain these fundamental terms to me?
2021-09-25 12:32 ` Ekaitz Zarraga
@ 2021-09-25 12:34 ` Ekaitz Zarraga
0 siblings, 0 replies; 4+ messages in thread
From: Ekaitz Zarraga @ 2021-09-25 12:34 UTC (permalink / raw)
To: Sage Gerard; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 2884 bytes --]
> So the software Guix release comes with coul only have source packages and be able to build everything from source, using Stage0.
So the Guix release could only have source packages and be able to build everything from source, using Stage0.
(LOL I don't know what I did in that sentence)
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Saturday, September 25th, 2021 at 2:32 PM, Ekaitz Zarraga <ekaitz@elenq.tech> wrote:
> 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?
[-- Attachment #2: Type: text/html, Size: 4062 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Please explain these fundamental terms to me?
@ 2021-09-24 18:36 Sage Gerard
0 siblings, 0 replies; 4+ messages in thread
From: Sage Gerard @ 2021-09-24 18:36 UTC (permalink / raw)
To: guix-devel
[-- Attachment #1: Type: text/plain, Size: 1487 bytes --]
Excuse my mistake in missing the definition of binary seed mentioned here "opaque ascii or binary seeds that are injected during build time." Disregard that part.
On 9/24/21 2:35 PM, Sage Gerard 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?
[-- Attachment #2: Type: text/html, Size: 2419 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-09-25 12:36 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-09-24 18:35 Please explain these fundamental terms to me? Sage Gerard
2021-09-25 12:32 ` Ekaitz Zarraga
2021-09-25 12:34 ` Ekaitz Zarraga
-- strict thread matches above, loose matches on Subject: below --
2021-09-24 18:36 Sage Gerard
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).