Re: Useable Stage1 for Alpah
Allen Ziegenfus <[email protected]>
| Newsgroups | gmane.linux.gentoo.alpha |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 04 May 2004 12:32:20 +1000 Jonathan Kelly <[email protected]> wrote: > > Luckily I had one box that was still running gentoo so I've updated > that, after much mucking about. So now, I'd like to build a useable > stage1, so started to look at catalyst, but it seems to be have a > circular dependency like having a stage3 to start from, but I don't > have a stage3 ... huh? > > If i tared up my complete working system and called that a stage3, > would that work ... or anyone in the know who can give me pointers > about getting a useable stage1. > Can't you just use a 1.4-r1 stage 3 as the seed stage? I'm not really sure I understand the seed stage business, but according to the following it doesn't seem to matter too much what version the seed is. I'm actually giving this a shot right now, although I might not have enough disk space for this. I'll let you know if I come up with anything. From the gentoo catalyst project page: Q: 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"? A: 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 (stage2 or 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 Portage to merge all new packages not to the current filesystem, but to the filesystem in /tmp/stage1root. /tmp/stage1root is then tarred up and 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 building the stage1's glibc, and the compilers on the seed are used to compile all the programs on the stage1. The seed stage is used to isolate the stage1 build process from your local system, and also allows for x86 stage1s to be built on amd64 systems, for example. -- [email protected] mailing list