Catalyst FAQ
1.
Najczęściej zadawane pytania
Jak utworzyć tarballe stage2 i stage3 dla nietypowych procesorów, takich
jak pentium4?
Po pierwsze, należy się upewnić, czy sprzęt na którym pracujemy odpowiada
konfiguracji, na którą przygotowujemy stage. Tworzenie stage dla
pentium4 musi zostać wykonane na systemie opartym o Pentium 4
lubAMD64/Opteron (lub lepszym). Nie jest możliwe utworzenie stage dla
pentium4 na systemie opartym o Athlon XP, jako że procesory Athlon XP nie
wspierają instrukcji SSE2, dostępnych w stage dla pentium4. Podobnie
rzecz ma się w przypadku, gdy chcemy budować system dla g4. Można tego
dokonać jedynie na systemach wspierających PowerPC G4 lub G5.
Gdy mamy pewność, że budujemy system na właściwym sprzęcie, można rozpocząć
instalację, jednakże by zbudować system od stage2, należy wybrać stage z opcją
subarch odpowiadającą naszemu procesorowi (np. pentium4.) Tylko
wtedy stage2 zostanie zbudowane dla wybranej przez nas wersji procesora.
Następnie wykorzystujemy stage2 do budowy stage3. Oczywiście wybieramy stage3 z
odpowiednią dla procesora opcją subarch, tak by pokrywała się ona z
opcją stage2.
Jak zbudować system z wieloma stage'ami wpierającymi różnorodne
procesory?
Na początku należy zbudować ogólny stage1. Następnie używamy utworzone
stage1 do zbudowania konkretnych wersji stage2 i stage3. Używamy stage1
ponownie by utworzyć kolejne wyspecjalizowane wersje stage2 i stage3. Stage1
nie musi być tworzone od nowa -- wszystkie zbudowane stage2 i stage3 mogą
używać tego samego stage1 jako źródła.
Czy można zbudować stage1 dla nietypowej wersji procesora?
Nie jest to najlepszy pomysł, jako że stage1 uznaje się za wersję pracującą
z każdym typem procesorów. Dzięki temu, można go uruchamiać na każdym
sprzęcie. Musimy uważać, by nie "zanieczyścić" naszego stage1 specyficznym
kodem nietypowych procesorów. Do tworzenia nowej wersji stage1 używamy
"ogólnych" wersji stage3.
Czy catalyst może budować każdy stage od początku? Jeżeli catalyst
posiada taką możliwość, dlaczego za każdym razem potrzebna jest wersja stage na
której budujemy inne?
Dobre pytanie. Jak wiadomo, stage2 i stage3 są zależne od poprzednich stage przy
budowaniu, o czym świadczą ich nazwy (np. "stage2" sugeruje istnienie "stage1".)
Mimo to, catalyst potrzebuje podstawowego stage by utworzyć stage1, tak więc
mając na celu zbudowanie stage1, warto wiedzieć dlaczego jest to tak ważne.
Budując stage1, catalyst korzysta ze źródłowego stage3 by utworzyć środowisko
chroot. Wewnątrz środowiska chroot, nowe stage1 jest tworzone poprzez
ustawienie zmiennej środowiska ROOT na /tmp/stage1root.
Zmienna ta instruuje menadżer pakietów by pominął obecny system plików i łączył
wszystkie nowe pakiety z systemem umiejscowionym w /tmp/stage1root.
Catalyst pakuje wtedy /tmp/stage1root, które zostaje docelowym
stage1. Oznacza to, że gdy catalyst tworzy stage1, samo stage1 nie dziedziczy
żadnych binariów ani bibliotek ze źródłowego stage, które jest używane podczas
tworzenia. Jednakże używane stage wpływa w pewnym stopniu na docelowe
stage1 -- Pliki nagłówkowe Linux (Linux headers) w używanym stage są użyte do
budowania glibc w stage1, tak więc kompilatory w stage użytym do budowy stage1
są używane do kompilacji wszystkich programów w stage1. Źródłowe stage jest
używane do odizolowania procesu budowy stage1 od lokalnego systemu, oraz
umożliwienia budowania stage1 w wersji x86 na systemach amd64, dla przykładu.
Czy istnieje oficjalne HOWTO dla Catalyst?
Obecnie nie. Wszyscy zainteresowani napisaniem takiego przewodnika mogą wysłać
swe prace tak jak w przypadku raportowania błędów. Brak oficjalnego HOWTO, nie
oznacza że Catalyst nie posiada żadnej dokumentacji. Po zainstalowaniu Catalyst,
przykładowe pliki z instrukcjami zostaną zainstalowane w
/usr/share/doc/catalyst-$version/examples.
Jeżeli potrzebujemy odpowiedzi na inne pytania, pomocne może okazać się
zapisanie do listy mailowej gentoo-catalyst.
Gdzie należy umieszczać flagi USE dla poszczególnych pakietów, ustawienia
maskowania, itp?
Catalast wspiera pliki konfiguracyjne znajdujące się w
/etc/portage. Wystarczy dodać wybrane flagi w pliku specyfikacji,
i upewnić się czy źródłowe stage używają tej samej opcji portage_confdir
co system lokalny:
portage_confdir: /ścieżka/do/etc/portage
Budować własne stage1, czy użyć wersji dostępnej w Gentoo mirror?
Najlepiej zawsze budować własne stage, jeżeli nie zostanie do tego celu
użyty ten sam snapshot, który został użyty do zbudowania ostatniego wydania.
Drzewo często zmienia swoją zawartość. Jeżeli mielibyśmy użyć stage1 starszego
niż 3 miesiące, spowodowałoby to prawdopodobnie problemy z blokującymi się
pakietami i kompatybilnością, które wpłynęły by na proces budowania stage.
W jaki sposób utrzymywać pakiety GRP/stages/LiveCD zawsze w najnowszej
wersji?
Catalyst używa Portage podczas pracy, tak więc wystarczy regenerować snapshot
Portage i przebudowywać GRP/stage/LiveCD. Portage przeprowadzi aktualizację
pakietów tak jak to ma miejsce w zwykłym systemie.
Czy Catalyst używa specjalnej składni dla flag USE?
Nie, flagi USE w Catalyst są identyczne jak w Portage.
|