Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

I thought that catalyst was able to build stages “from scratch.” If catalyst builds stages from scratch, then why does it need a “seed stage”?

0
Posted

I thought that catalyst was able to build stages “from scratch.” If catalyst builds stages from scratch, then why does it need a “seed stage”?

0

Good question. As you know, a stage2 and stage3 are dependent on previous stages for building, which is expected and made clear by their name (ie. a “stage2” implies that there was a “stage1”.) However, catalyst does need a seed stage for building a stage1, so in regards to building a stage1 it’s worth looking into why this is necessary. When building a stage1, catalyst uses the seed stage3 to set up a chroot environment. Inside the chroot environment, the new stage1 is built by setting the ROOT environment variable to /tmp/stage1root. This instructs the package manager to merge all new packages not to the current filesystem, but to the filesystem in /tmp/stage1root. Catalyst then tars up /tmp/stage1root and it becomes the target stage1. What this means is that when catalyst builds a stage1, the stage1 itself does not inherit any binaries or libraries from the seed that is used. The seed that is used does impact the target stage1 somewhat — the Linux headers on the seed are used for b

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.