|
1.
Instalowanie tarballa stage
Ustawienie poprawnej daty i czasu
Na samym początku całego procesu instalacji należy sprawdzić datę/czas i
ewentualnie je zaktualizować. Niezsychronizowany zegar może być przyczyną
dziwnych błędów w przyszłości!
Aby zweryfikować aktualną datę/czas, uruchamiamy date:
Listing 1.1: Sprawdzenie daty/czasu |
# date
nie sie 21 01:56:26 UTC 2005
|
Jeżeli wyświetlane data i czas są złe, musimy je uaktualnić poleceniem date
MMDDggmmRRRR (Miesiąc, Dzień, godzina, minuta i
Rok). Na tym etapie powinniśmy korzystać z czasu UTC. W późniejszym
czasie będziemy mogli zdefiniować naszą strefę czasową. Na przykład, aby ustawić
datę 29 marca 2005 roku, 16:21:
Listing 1.1: Ustawienie daty/czasu UTC |
# date 032916212005
|
1.
Domyślnie: Użycie Stage z płyty instalacyjnej
Rozpakowywanie archiwum Stage
Pliki stage znajdują się na płycie CD w katalogu
/mnt/cdrom/stages. Aby zobaczyć listę dostępnych plików używamy
polecenia ls:
Listing 1.1: Lista dostępnych plików stage |
# ls /mnt/cdrom/stages
|
Jeżeli po wykonaniu polecenia otrzymamy błąd, może być potrzebne zamontowanie
napędu CD-ROM:
Listing 1.1: Montowanie napędzu CD-ROM |
# ls /mnt/cdrom/stages
ls: /mnt/cdrom/stages: No such file or directory
# mount /dev/cdroms/cdrom0 /mnt/cdrom
# ls /mnt/cdrom/stages
|
Następnie należy przejść do punktu montowania Gentoo (najczęściej
/mnt/gentoo):
Listing 1.1: Zmiana katalogu na /mnt/gentoo |
# cd /mnt/gentoo
|
Należy wypakować wybrany przez nas plik stage. Służy do tego narzędzie
tar. Należy upewnić się, ze podajemy takie same opcje (xvjpf)!
Opcja x opowiada za rozpakowanie, v jest skrótem od
Verbose, aby zobaczyć co się dzieje podczas procesu rozpakowywania
(opcja ta jest opcjonalna), j odpowiada za dekompresję przy pomocy
bzip2, p zachowuje zezwolenia natomiast opcja f
informuje o tym, że chcemy rozpakować plik, a nie standardowe wyjście. W
przykładzie posłużymy się plikiem stage
${stage3}. Należy pamiętać o tym, aby
zastąpić nazwę archiwum, wpisem odpowiednim do posiadanego przez nas stage.
Listing 1.1: Rozpakowywanie archiwum stage |
# tar xvjpf /mnt/cdrom/stages/${stage3}
|
1.
Instalacja Portage
Wypakowanie snapshota Portage
W tym rozdziale omówimy proces instalacji snapshota Portage, kolekcji plików,
które informują Portage jakie programy można zainstalować, które profile są
dostępne itp.
Rozpakowywanie snapshota Portage z płyty CD
Aby zainstalować snapshota, należy przejrzeć dostępne pliki w katalogu
/mnt/cdrom/snapshots:
Listing 1.1: Sprawdzanie zawartości katalogu /mnt/cdrom/snapshots |
# ls /mnt/cdrom/snapshots
|
Następnie należy rozpakować plik używając odpowiedniego polecenia. Ponownie
musimy się upewnić, że używamy poprawnych opcji dla narzędzia tar.
Należy zwrócić uwagę, że opcja -C jest pisana z dużej litery C, a
nie z małej c. W przykładzie używamy pliku
portage-<date>.tar.bz2. Oczywiście nazwę modyfikujemy do
pożądanej przez nas wartości.
Listing 1.1: Rozpakowywanie snapshota Portage |
# tar xvjf /mnt/cdrom/snapshots/portage-<date>.tar.bz2 -C /mnt/gentoo/usr
|
Kopiowanie archiwów z kodami źródłowymi
Powinniśmy również skopiować pliki z kodami źródłowymi z uniwersalnej płyty
instalacyjnej.
Listing 1.1: Kopiowanie kodów źródłowych |
# mkdir /mnt/gentoo/usr/portage/distfiles
# cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles/
|
1.
Konfigurowanie opcji kompilacji
Wprowadzenie
Jest wiele możliwych do skonfigurowania zmiennych wpływających na zachowanie
Gentoo. Możemy je wprowadzać jako zmienne środowiskowe (poprzez export),
ale wtedy nie zostaną zapisane na stałe. Zamiast tego Portage do zachowywania
konfiguracji używa pliku konfiguracyjnego /etc/make.conf. Pora
wziąć się za jego edycję.
Uwaga:
Opatrzona komentarzami lista wszystkich możliwych zmiennych znajduje się
w pliku /mnt/gentoo/etc/make.conf.example. Do szczęśliwego
ukończenia instalacji wystarczy wyedytowanie tylko kilku z nich, tych, których
listę przedstawiamy poniżej.
|
Uruchamiamy ulubiony edytor (w przykładach używamy nano),
którym wprowadzimy omawiane nieco dalej opcje optymalizacji.
Listing 1.1: Edytowanie /etc/make.conf |
# nano -w /mnt/gentoo/etc/make.conf
|
Plik make.conf.example ma charakterystyczną strukturę: linie z
komentarzem rozpoczynają się od znaku "#", linie zawierające zmienne używają
składni ZMIENNA="zawartość". Takiej samej składni używa także plik
/etc/make.conf. Kilka z tych zmiennych zostało przedyskutowanych
poniżej.
Ostrzeżenie:
Nie należy zmieniać flag USE jeśli używamy pliku stage3 wraz z instalacją GRP.
Zmienne USE możemy dostosować do naszych potrzeb po zakończeniu instalacji
pakietów. Gremliny zaatakują twój komputer jeśli zignorujesz to ostrzeżenie!
|
CHOST
Zmienna CHOST definuje docelowo architekturę naszego systemu. Zmienna ta
powinna być już poprawnie ustawiona. Nie należy jej edytować,
ponieważ może to prowadzić do uszkodzenia systemu. Jeżeli zmienna CHOST
nie wygląda poprawnie, przyczyną może być użycie przez nas złego pliku Stage3.
CFLAGS i CXXFLAGS
Zmienne CFLAGS i CXXFLAGS definiują flagi optymalizujące
używane odpowiednio przez kompilator gcc C i C++. Choć generalnie
określamy ich wartości tutaj, maksimum wydajności osiągniemy dopasowując
je do każdego programu z osobna. Jest tak dlatego, że programy znacząco
różnią się między sobą.
W make.conf należy zdefiniować flagi optymalizacji co do
których jesteśmy przekonani, że w głównej mierze poprawią czas reakcji
systemu. Nie przypisujemy pod tę zmienną ustawień eksperymentalnych; przesada
w optymalizacji może spowodować, że programy zaczną źle funkcjonować
(nagle przerywać działanie lub nawet gorzej, wcale nie działać).
Nie będziemy tłumaczyć znaczenia wszystkich możliwych opcji optymalizacji.
Wszystkie są wymienione w Podręczniku
Online GNU lub stronę info gcc (info gcc -- działa tylko na
systemach linuksowych). Dla najczęściej spotykanych flag optymalizacji należy
zajrzeć do pliku /etc/make.conf.example. Znajduje się tam również
wiele innych przykładów dotyczących prawiłowego ustawienia procesu instalacji i
kompilacji pakietów.
Pierwszą opcją są flagi -march= lub -mcpu=, które określają nazwę
docelowej architektury. Dostępne opcje opisane są w pliku
make.conf.example (jako komentarze).
Drugim jest flaga -O (to jest duże O, nie zero), która określa
klasę optymalizacji gcc. Dostępne klasy to s (optymalizacja
rozmiaru), 0 (brak optymalizacji), 1, 2 lub 3 -
coraz silniej optymalizujące (każda z nich używa tych samych flag, co
poprzednia oraz dodaje własne). Ustawienie -O2 jest zalecaną domyślną
opcją. Flaga -O3 znana jest z powodowania problemów, w przypadku jej
globalnego ustawienia, dlatego zaleca się pozostać przy fladze -O2.
Inną popularną flagą optymalizacyjną jest -pipe (gcc używa potoków
zamiast plików tymczasowych w komunikacji między różnymi etapami kompilacji).
Flaga ta nie ma wpływu na generowany kod.
Być może zechcemy użyć flagi -fomit-frame-pointer (w rejestrach nie będą
przechowywane wskaźniki ramki dla funkcji, które ich nie wymagają), jednak
używanie jej może powodować poważne problemy podczas debugowania kodu!
Podczas definiowania CFLAGS i CXXFLAGS można łączyć kilka
flag optymalizacji. Domyślne wartości, które znajdują się w archiwum stage3
powinny być wystarczające. Poniższy przykład jest podany jedynie w celach
informacyjnych:
Listing 1.1: Definiowanie zmiennych CFLAGS i CXXFLAGS |
CFLAGS="${CFLAGS}"
CXXFLAGS="${CFLAGS}"
|
Uwaga:
Więcej informacji na temat stosowania różnych kombinacji flag kompilacji i ich
wpływu na system można znaleźć w rozdziale Optymalizacja kompilacji.
|
MAKEOPTS
Za pomocą MAKEOPTS definiujemy jak wiele równoległych kompilacji będzie
przeprowadzanych podczas przygotowywania pakietu do instalacji. Sugerowaną
liczbą jest ilość procesorów w systemie powiększona o jeden, nie jest to jednak
zawsze najlepsze wyjście.
Listing 1.1: MAKEOPTS dla przeciętnego systemu jednoprocesorowego |
MAKEOPTS="-j2"
|
Gotowi, do biegu, start!
Na koniec poprawiamy jeszcze odrobinę /mnt/gentoo/etc/make.conf i
zapisujemy wyniki naszych prac (w nano za pomocą Ctrl-X).
Teraz jesteśmy przygotowani na ( Instalację
systemu podstawowego ).
|