The pairing behaviour of the South-East Vietnamese Mussel

C A T A L Y S T

What is Catalyst?

Catalyst is the tool used by the release-engineering team to create all parts needed for an official Gentoo release

This includes: a Portage-snapshot, stage-archives, installation-media and GRP-sets (binary packages)

The arches currently supported by Catalyst are: x86, amd64, sparc, ppc, alpha, mips (some better and some worse)

Development:

Development on catalyst began in the fall of 2003. The aim was to offer an easy way for users to build personalized installation medias.

It turned out, that the result was very easy to use (however it didn't have many features in the early stages of development).

How does catalyst work?

In general, catalyst bundles manual calls to external tools into “Targets”.

Every target is built in a chroot which is set up using a “seed stage”

A Portage snapshot is then extracted into this chroot. This allows to use a frozen image of the Portage-tree with manual changes in it

Seed hirarchy

Stage 3

Stage 1

Stage 2

Stage 3

Livecd-stage 1

Livecd-stage 2

Packages-CD

Stages

Stage 1:

Seed: Stage 2 or Stage 3

Seed gets extracted, catalyst chroots, updates every necessary toolchain package, removes unneccessary packages from the chroot and packs the result as a stage 1 archive.

Stages

Stage 2:

Seed: Stage 1

Catalyst extracts the seed-stage, chroots into it, runs bootstrap.sh, packs the result as a stage 2 archive.

Stages

Stage 3:

Seed: Stage 2

Catalyst extracts the seed-stage, chroots into it, runs emerge -e system, packs the result as a stage 3 archive.

Installation-/Live-CDs

ISOs are created in two steps.

Livecd-stage1 defines the contents of the live-filesystem (i.e. Available applications etc.)

Livecd-stage2 defines the bootable part of the ISO-Image: What kernel? What loopback filesystem should be used? How should the bootmenu look?

Installation-/Live-CDs

Livecd-Stage1:

Setup a chroot using the provided seed-stage

Install all applications specified in the spec-file

Livecd-Stage 2:

Chroot back into the temporary livecd-stage 1.

Install preferred Kernel + genkernel

Build the kernel using genkernel with given configuration-file

Uninstall unwanted applications, remove unneccessary files

create loopback-filesystem

Create the ISO-Image; use the preferred boot-block (there are various available)

save the resulting ISO-image in the provided location

Example: stage1

subarch: x86

target: stage1

version_stamp: 2005.0

rel_type: default

rel_version: 2005.0

profile: default-linux/x86/2005.0

snapshot: 20050121

source_subpath: default/stage2-x86-2004.3-r1

Example: stage2/stage3

subarch: x86

target: stage2

version_stamp: 2005.0

rel_type: default

rel_version: 2005.0

profile: default-linux/x86/2005.0

snapshot: 20050121

source_subpath: default/stage1-x86-2005.0

Example: Livecd-stage1

subarch: x86

version_stamp: 2005.0

target: livecd-stage1

rel_type: default

profile: default-linux/x86/2005.0

snapshot: 20050121

source_subpath: default/stage3-x86-2005.0

livecd/use:

-*

ipv6

socks5

livecd

fbcon

minimal

ncurses

readline

ssl

livecd/packages:

baselayout

livecd-tools

module-init-tools

dhcpcd

udev

gentoo-sources

kudzu-knoppix

hotplug

coldplug

fxload

irssi

gpm

syslog-ng

parted

links

raidtools

nfs-utils

jfsutils

usbutils

pciutils

xfsprogs

e2fsprogs

reiserfsprogs

cryptsetup

pwgen

popt

dialog

rp-pppoe

screen

mirrorselect

penggy

iputils

hwdata-knoppix

hwsetup

device-mapper

lvm2

evms

vim

pptpclient

mdadm

ethtool

wireless-tools

ntfsprogs

dosfstools

prism54-firmware

Example: Livecd-stage2

subarch: x86

version_stamp: 2005.0

target: livecd-stage2

rel_type: default

profile: default-linux/x86/2005.0

snapshot: 20050121

#distcc_hosts: localhost/3 gravity/3 orion/3

source_subpath: default/livecd-stage1-x86-2005.0

livecd/cdfstype: squashfs

livecd/archscript: /usr/lib/catalyst/livecd/runscript/x86-archscript.sh

livecd/runscript: /usr/lib/catalyst/livecd/runscript/default-runscript.sh

livecd/cdtar: /usr/lib/catalyst/livecd/cdtar/isolinux-2.11-memtest86+-cdtar.tar.bz2

livecd/fsscript: /home/beejay/2005.0/fsscript.sh

livecd/iso: /tmp/minimal-livecd.iso

livecd/splash_type: gensplash

livecd/splash_theme: livecd-2004.3

livecd/gk_mainargs:

livecd/type: gentoo-release-minimal

livecd/modblacklist:

8139cp

livecd/devmanager: udev

livecd/rcadd:

syslog-ng:default

gpm:default

boot/kernel: gentoo

boot/kernel/gentoo/sources: gentoo-sources

boot/kernel/gentoo/config: /home/beejay/2005.0/2.6.10-smp.config

boot/kernel/gentoo/use: pcmcia usb -X

Example: Livecd-stage2

boot/kernel/gentoo/postconf:

splashutils

splash-themes-livecd

boot/kernel/gentoo/packages:

pcmcia-cs

speedtouch

slmodem

globespan-adsl

hostap-driver

hostap-utils

ipw2100

acpid

#fcdsl

#fritzcapi

#madwifi-driver

livecd/unmerge:

acl

attr

autoconf

automake

bin86

binutils

libtool

m4

bison

ld.so

make

perl

patch

linux-headers

man-pages

sash

bison

flex

gettext

texinfo

ccache

distcc

addpatches

man

groff

lib-compat

miscfiles

rsync

sysklogd

bc

lcms

libmng

genkernel

diffutils

#	file

libperl

gnuconfig

gcc-config

gcc

bin86

cpio

cronbase

ed

expat

grub

help2man

libtool

livecd/empty:

/var/tmp

/var/cache

/var/db

/var/empty

/var/lock

/var/log

/var/run

/var/spool

/var/state

/tmp

/usr/portage

/usr/share/man

/usr/share/info

/usr/share/unimaps

/usr/include

/usr/share/zoneinfo

/usr/share/dict

/usr/share/doc

/usr/share/ss

/usr/share/state

/usr/share/texinfo

/usr/lib/python2.2

/usr/lib/portage

/usr/share/gettext

/usr/share/i18n

/usr/share/rfc

/usr/X11R6/man

/usr/X11R6/include

/usr/X11R6/lib/X11/config

/usr/X11R6/lib/X11/etc

/usr/X11R6/lib/X11/doc

/usr/src

2005-02-06T15:38:56