Gentoo Logo

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}"
# Użycie tych samych ustawień dla obu zmiennych
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 ).

Zaktualizowano 21 lipca 2009

Oryginalna wersja dokumentu nie jest już aktualizowana

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.