ruth Retired Dev
Joined: 07 Sep 2003 Posts: 640 Location: M / AN / BY / GER
|
Posted: Wed Apr 16, 2008 8:36 pm Post subject: Catalyst Profile 2008.0 Stage1/2/3 |
|
|
Guten Tag,
Betrifft: catalyst version 2.0.5
/etc/catalyst/catalyst.conf:
options="pkgcache"
bzgl. options="" -->> SIEHE UNTEN!!!
Zuallererst wird ein Portage Tree Snapshot erstellt,
vor Beginn der catalyst Arbeiten also ein:
durchführen, danach ein:
Code: |
# catalyst -s XXX_VERSION_STAMP_XXX
|
XXX_VERSION_STAMP_XXX ist hier der Versionsbezeichner des Snapshots, kann also frei gewählt werden,
z.B. kann das ein Datum sein, oder ganz etwas anderes ausgefallenes...
Auf diesen Versionsbezeichner wird allerdings dann bei version_stamp in den *.spec Files referenziert.
Jetzt einen stage3-x86-2007.0.tar.bz2 herunterladen und nach
/var/tmp/catalyst/builds kopieren
Das Verzeichnis, falls es nicht existiert, anlegen.
Dieses Archiv dient als Seed zum Erzeugen des neuen Stage1 Tarballs.
Der Bootstrap mit einem x86 Tarball wird dringend empfohlen, also KEIN i686, o.ä. nehmen,
wirklich nur ein x86 Archiv!!!
Die Anpassung auf i686, ... (subarch, CHOST) wird dann später in stage2.spec vorgenommen!!!
Allgemein:
stage3-x86-2007.0.tar.bz2
ist Seed für
stage1-x86-XXX_VERSION_STAMP_XXX.tar.bz2
ist Seed für
stage2-x86-XXX_VERSION_STAMP_XXX.tar.bz2
ist Seed für
stage3-x86-XXX_VERSION_STAMP_XXX.tar.bz2
Nun ein Verzeichnis anlegen, in dem die *.spec Files gespeichert werden,
z.B.
Code: |
# mkdir /root/catalyst
|
Erzeugen eines Stage1 Archivs:
Datei: /root/catalyst/stage1.spec
Code: |
subarch:
x86
target:
stage1
version_stamp:
XXX_VERSION_STAMP_XXX
rel_type:
default
profile:
default/linux/x86/2008.0
snapshot:
XXX_VERSION_STAMP_XXX
source_subpath:
stage3-x86-2007.0
chost:
i486-pc-linux-gnu
cflags:
-O2 -fomit-frame-pointer -pipe
|
der CHOST referenziert hier auf den Compiler, der in stage3-x86-2007.0.tar.bz2 vorliegt.
also noch NICHT ändern, sonst findet catalyst keinen Compiler...
source_subpath referenziert immer auf den Seed, hier auf den 2007.0 Stage 3
Desweiteren sollte die subarch noch auf x86 stehen bleiben.
Danach kann das Stage1 Archiv erzeugt werden:
Code: |
(# cd /root/catalyst)
# catalyst -v -f ./stage1.spec
|
Erzeugen eines Stage2 Archivs:
Datei: /root/catalyst/stage2.spec
Code: |
subarch:
i686
target:
stage2
version_stamp:
XXX_VERSION_STAMP_XXX
rel_type:
default
profile:
default/linux/x86/2008.0
snapshot:
XXX_VERSION_STAMP_XXX
source_subpath:
default/stage1-x86-XXX_VERSION_STAMP_XXX
chost:
i686-pc-linux-gnu
cflags:
-O2 -march=i686 -fomit-frame-pointer -pipe
|
Hier MUSS der CHOST auf die Target Architektur gesetzt werden...
auch die Ziel - subarch jetzt setzen. (hier i686)
Von Stage2 -> Stage3 ist das nicht mehr fehlerlos möglich...
Weitere unterstützte subarches, Doku und FAQ findet man auf:
Code: |
http://www.gentoo.org/proj/en/releng/catalyst/index.xml
|
source_subpath referenziert jetzt auf das gerade erzeugte Stage1 Archiv unter
/var/tmp/catalyst/builds/default
Jetzt:
Code: |
# catalyst -v -f ./stage2.spec
|
Und das Ergebnis ist ein Stage 2 Tarball.
Erzeugen eines Stage3 Archivs:
Datei: /root/catalyst/stage3.spec
Code: |
subarch:
i686
target:
stage3
version_stamp:
XXX_VERSION_STAMP_XXX
rel_type:
default
profile:
default/linux/x86/2008.0
snapshot:
XXX_VERSION_STAMP_XXX
source_subpath:
default/stage2-i686-XXX_VERSION_STAMP_XXX
cflags:
-O2 -march=i686 -fomit-frame-pointer -pipe
|
Ein:
Code: |
# catalyst -v -f ./stage3.spec
|
liefert einen Stage3 Tarball auf dem Stand des Portage Snapshots und Profil 2008.0 (hier XXX_VERSION_STAMP_XXX) im Verzeichnis /var/tmp/catalyst/builds/default
hier also:
/var/tmp/catalyst/builds/default/stage3-x86-XXX_VERSION_STAMP_XXX.tar.bz2
Die Angabe bei in den *.spec Files ist relativ zum Portage Tree unter /usr/portage
Einige Anmerkungen noch zu catalyst und den den Caches in /etc/catalyst/catalyst.conf
Direkt nach der Installation von catalyst sind sehr viele Caches aktiviert.
Diese können tatsächlich sehr, sehr viel Zeit sparen, sind allerdings u.U. auch fehleranfällig.
Also lieber mal deaktivieren, falls Fehler auftauchen; pkgcache zum Beispiel kann durchaus mal zu 'unresolved symbols' in den Kompilaten führen,
vor allem, nach USE Flag Änderungen, ansonsten sollte(!) pkgcache sicher sein.
Entsprechendes gilt für die anderen Caches (je nach cache natürlich andere Fehler - klar)...
Ausserdem löscht catalyst die temporären Dateien unter /var/tmp/catalyst nicht / nur teilweise - hier gilt es also von Hand aufzuräumen,
falls irgendetwas schiefgeht.
Und Vorsicht:
nicht aus Versehen den 2007.0 Seed Tarball löschen... _________________ "The compiler has tried twice to abort and cannot do so; therefore, compilation will now terminate."
-- IBM PL/I (F) error manual |
|