Pentoo Catalyst Walkthrough
So, start by emerging catalyst, you should enable the ccache use flag.
Then , the first thing to do is to is to customize the /etc/catalyst/catalyst(.conf|rc) files. We have a customized rc file and we made a small patch that you can find here.
Now check out our spec files, they are pretty much self-explanatory.
We use two overlays, pentoo and efl, but you can use as much as you want provided that there are no packages collision, since all your overlays will be merged in the same dir during the build.
Next, you need to create a portage snapshot that will be used across all stages.
Note: See our Catalyst Tips & Tricks guide for Ugly hacks/workaround
# catalyst -s 2010.0
This will create it and put it in your catalyst snapshot dir.
Before building the stages you'll have to get a stage3 seed and specify it in the stage1.spec. Download it from a Gentoo mirror and save it to your catalyst_dir/builds/default.
Now, you will proceed like you're doing a stage1 installation, except that catalyst will handle all this for you. To recap a little, catalyst will use an existing stage3 and use it as a seed to create the stage1. Then use stage1 to go stage2 etc. until the finaly livecd stage2 (more on that later).
# catalyst -f stage1.spec # catalyst -f stage2.spec # catalyst -f stage3.spec
This way, it ensures we are running the latest, stable system.
NOTE: It is not possible to use an overlay or a portage config dir in the stages 1, 2 or 3. This is only supported on livecd stages.
You'll end up having an up-to-date stage3 seed to go on with building the livecd.
Livecd Stages
The livecd building is made up of two stages.
- In stage1, you'll install all the packages you want except kernel modules
- In stage2, you can install anything that don't fit in stage1, including kernel/modules et all.
In livecd stages, you can define the USE flags, portage overlay and portage config dir you want/need. Take a look at our spec files to grab the idea. The "livecd/packages:" is a list of all the packages you want installed.
That's it with the livecd-stage1. Pretty straightforward.
Once you could go to the end of the livecd-stage1, you should run it again to remove all unneeded dependencies. How so? Because catalyst will generate binary packages of everything it emerges. Doing two passes will allow to drop everything in the DEPEND (compile-time depend) but keep all RDEPEND (run-time depend). Take a look at the ebuild documentation to find out more.
