|
1.
Chrootowanie
Kopiowanie informacji o serwerach DNS
Pozostaje nam do zrobienia jedna rzecz zanim przejdziemy do nowego środowiska.
Należy skopiować informacje o serwerach DNS do /etc/resolv.conf.
Musimy tego dokonać, aby mieć pewność, że po przejściu do nowego środowiska sieć
nadal będzie działała.
Listing 1.1: Kopiowanie informacji o serwerach DNS |
# cp -L /etc/resolv.conf /mnt/gentoo/etc/
|
Montowanie systemów plików /proc oraz /dev
Zamontujmy system plików /proc w /mnt/gentoo/proc.
Pozwalamy tym samym naszej instalacji na korzystanie z informacji zawartych w
jądrze w trakcie używania środowiska chroot. Następnie należy zamontować system
plików /dev.
Listing 1.1: Montowanie /proc i /dev |
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
|
Przechodzenie do nowego środowiska
Teraz, gdy wszystkie partycje zostały zamontowane i środowisko bazowe jest
zainstalowane, czas przejść do naszej nowej instalacji poprzez
chrootowanie. Oznacza to, że przechodzimy z obecnego środowiska
instalacyjnego (płyta instalacyjna lub inne medium) do naszego zainstalowanego
systemu (znajdującego się na zamontowanych partycjach).
Chrootowanie wykonuje się w trzech krokach. Zaczynamy od zmiany katalogu z root
/ (na medium instalacyjnym) na /mnt/gentoo (na naszej
partycji) używając chroot. Następnie tworzymy nowe środowisko używając
env-update, które tworzy zmienne środowiskowe. Ostatecznie wprowadzamy te
zmienne do pamięci używając source.
Listing 1.1: Chrootowanie do nowego środowiska |
# chroot /mnt/gentoo /bin/bash
# env-update
>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"
|
Gratulacje! Znajdujemy się teraz we własnym środowisku Gentoo Linux. Oczywiście
daleko jeszcze do końca, dlatego też instalacja ma jeszcze kilka sekcji do
wykonania. :-)
1.
Konfiguracja Portage
Aktualizacja drzewa Portage
Należy teraz zaktualizować drzewo portage do najnowszej wersji. Wykona to za nas
emerge --sync.
Listing 1.1: Aktualizacja drzewa Portage |
# emerge --sync
# emerge --sync --quiet
|
Jeżeli znajdujemy się za firewallem, blokującym ruch rsync, możemy wykorzystać
emerge-webrsync, który pobierze i zainstaluje dla nas obraz portage.
Jeżeli pokaże się nam ostrzeżenie, że dostępna jest nowa wersja Portage, należy
aktualizować ją przy pomocy komendy emerge --oneshot portage.
Wybór właściwego profilu
Tutaj mała definicja będzie zupełnie na miejscu.
Profil to blok przeznaczony do budowy każdego systemu Gentoo. Nie tylko
precyzuje domyślne wartości dla CHOST, CFLAGS oraz innych ważnych zmiennych, ale
również ukierunkowuje system na określony zasięg wersji pakietów.Dbają o to
deweloperzy Gentoo.
Wcześniej profil taki praktycznie nie był ruszany przez zwykłego użytkownika.
Jednakże są sytuacje, w których będziemy musieli zdecydować o zmianie profilu.
Od wersji 2006.0 profile dla systemów MIPS zostały odświeżone. Profile ustawiają
różne opcje takie jak flagi USE, co ma skutek na to jakie patche będą dostępne z
różnymi, ważnymi dla systemu, pakietami (szczególnie gcc oraz
mips-sources).
Z powyższych powodów należy zadbać o wybór właściwego profilu dla naszego
systemu. Dla Gentoo/MIPS 2007.0 dostępne są następujące profile:
| System |
Profile |
Userland |
Status/Notes |
| Cobalt Qube/RaQ |
default-linux/mips/2007.0/cobalt/o32 |
32-bit Linuxthreads |
Zalecany |
| " |
default-linux/mips/2007.0/cobalt/o32/nptl |
32-bit NPTL |
W fazie testów (1) |
| |
|
|
|
Generic Big Endian
Zawierający SGI Indy, Indigo2 (R4x00), Challenge S oraz O2
|
default-linux/mips/2007.0/generic-be/o32 |
32-bit Linuxthreads |
Zalecany |
| " |
default-linux/mips/2007.0/generic-be/o32/nptl |
32-bit NPTL |
W fazie testów (1) |
| " |
default-linux/mips/2007.0/generic-be/n32 |
N32 Linuxthreads |
Wysoce eksperymentalny (2) |
| " |
default-linux/mips/2007.0/generic-be/n32/nptl |
N32 NPTL |
Wysoce eksperymentalny (1) (2) |
| " |
default-linux/mips/2007.0/generic-be/n64 |
N64 Linuxthreads |
Nie wspierany (3) |
| " |
default-linux/mips/2007.0/generic-be/n64/nptl |
N64 NPTL |
Nie wspierany (1) (3) |
| |
|
|
|
| SGI Origin 200/2000 |
default-linux/mips/2007.0/ip27/o32 |
32-bit Linuxthreads |
Zalecany |
| " |
default-linux/mips/2007.0/ip27/o32/nptl |
32-bit NPTL |
W fazie testów (1) |
| " |
default-linux/mips/2007.0/ip27/n32 |
N32 Linuxthreads |
Wysoce eksperymentalny (2) |
| " |
default-linux/mips/2007.0/ip27/n32/nptl |
N32 NPTL |
Wysoce eksperymentalny (1) (2) |
| |
|
|
|
| SGI Indigo2 Impact R10000 |
default-linux/mips/2007.0/ip28/o32 |
32-bit Linuxthreads |
Zalecany |
| " |
default-linux/mips/2007.0/ip28/o32/nptl |
32-bit NPTL |
W fazie testów (1) |
| " |
default-linux/mips/2007.0/ip28/n32 |
N32 Linuxthreads |
Wysoce eksperymentalny (2) |
| " |
default-linux/mips/2007.0/ip28/n32/nptl |
N32 NPTL |
Wysoce eksperymentalny (1) (2) |
| |
|
|
|
| SGI Octane/Octane2 |
default-linux/mips/2007.0/ip30/o32 |
32-bit Linuxthreads |
Zalecany |
| " |
default-linux/mips/2007.0/ip30/o32/nptl |
32-bit NPTL |
W fazie testów (1) |
| " |
default-linux/mips/2007.0/ip30/n32 |
N32 Linuxthreads |
Wysoce eksperymentalny (2) |
| " |
default-linux/mips/2007.0/ip30/n32/nptl |
N32 NPTL |
Wysoce eksperymentalny (1) (2) |
Ważne:
(1) NPTL jest w fazie testów na MIPS obecnie, ponieważ wymaga gcc-4.1
oraz glibc-2.4. Uważa się, że NPTL jest już bezpieczne i można z niego
korzystać, również planuje się wykorzystanie w przyszłych wydaniach. Odważni
użytkownicy mogą wypróbować te profile i zdać raport na temat otrzymanych błędów
oraz sugestii.
|
Ostrzeżenie:
(2) Przestrzeń n32 poza jądrem jest wysoce eksperymentalna, wiele aplikacji ma
problemy z tym ABI i dlatego jest praktycznie pewne, że sprawi problemy związane
ze stabilnością w pewnym momencie. Są wykonywane prace nad poprawą tej sytuacji,
jednakże nie jest zapewniane wsparcie w trakcie korzystania z tego profilu,
chyba że mamy zamiar pomóc uporać się z problemami poprzez dodawanie patchy.
|
Ostrzeżenie:
(3) Przestrzeń n64 poza jądrem jest jest całkowicie nie wspierana na wszystkich
systemach. Obecnie nie ma dostępnych stage wspierających n64 i nie zostanie
to zmienione w najbliższej przyszłości.
|
Można sprawdzić z jakiego profilu korzysta się obecnie przy użyciu poniższej
komendy:
Listing 1.1: Verifying system profile |
# ls -FGg /etc/make.profile
lrwxrwxrwx 1 48 Apr 8 18:51 /etc/make.profile -> ../usr/portage/profiles/${profile}
|
Po przejrzeniu powyższych profili i zdecydowaniu, który odpowiada nam
najbardziej, należy dostosować symlink make.profile. Domyślnie
profile trzymane są w /usr/portage/profiles, więc jeżeli drzewo
portage zostało przeniesione w inne miejsce (nie zalecane), należy odpowiednio
zmodyfikować poniższe komendy.
Listing 1.1: Setting the profile |
# rm -f /etc/make.profile
# ln -s /usr/portage/profiles/default-linux/mips/2007.0/generic-be/o32
|
Uwaga:
Wskazówka dla nie obeznanych z Bourne Again Shell... Po częściowym wpisaniu
nazwy pliku lub komendy można wcisnąć klawisz TAB, uzupełni to automatycznie
polecenie/nazwę pliku aż do ostatniego wspólnego znaku. Na przykład wpisanie
/usr/portage/profiles/def<TAB>, bash automatycznie dopełni
default-. Naciśnięcie TAB kilka razy wyświetli dostępne opcje,
default-linux, default-darwin oraz default-bsd. Warto
spróbować, jest to sporym ułatwieniem w trakcie korzystania z linii poleceń.
|
Konfiguracja zmiennej USE
USE jest jedną z najpotężniejszych zmiennych, zapewnianych przez Gentoo
jego użytkownikom. Kilka programów może być skompilowanych z opcjonalnym
wsparciem dla konkretnych pozycji. Dla przykładu niektóre aplikacje mogą być
skompilowane ze wsparciem gtk lub wsparciem qt. Inne mogą być skompilowane ze
wsparciem dla SSl. Niektóre programy mogą nawet być skompilowane ze wsparciem
dla dla framebuffera (svgalib) zamiast wsparcia dla X11 (serwer X).
W większości dystrybucji pakiety kompilowane są ze wsparciem jak największej
ilości flag, zwiększając tym samym rozmiary programów przy starcie, nie
wspominając o ogromnej liczbie zależności. W Gentoo można zdecydować z jakimi
opcjami paczka ma być kompilowana. Tutaj zaczyna się zabawa z USE.
W zmiennej USE definiujemy słowa kluczowe, które są mapowane do opcji
kompilowania. Na przykład ssl wkompiluje wsparcie dla ssl w programach,
które takiego wsparcia wymagają. -X usunie wsparcie dla serwera X (należy
zwrócić uwagę na znak minus na początku). gnome gtk -kde -qt4 skompiluje
programy ze wsparciem dla gnome (oraz gtk), lecz bez wsparcia dla kde (oraz
qt), sprawiając, że nasz system pędzie w pełni skierowany na GNOME.
Domyślne ustawienia USE są umieszczone w plikach
make.defaults naszego profilu. Pliki te znajdziemy w katalogu, na
który wskazuje /etc/make.profile. Domyślnym ustawieniem USE
jest suma wszystkich USE we wszystkich plikach z katalogu
make.defaults. Wszystkie flagi umieszczane w
/etc/make.conf są porównywane z domyślnymi ustawieniami. Jeżeli
dodamy coś do USE jest to dodawane do listy domyślnej. Jeżeli usuniemy
ustawienie z USE (umieszczając przed flagą znak minus) jest ono usuwane
również z listy domyślnej (jeżeli znajdowało się w ogóle na tej liście).
Nigdy nie należy wprowadzać zmian w katalogu
/etc/make.profile; będą one nadpisywane przy aktualizacji Portage!
Pełny opis USE można znaleźć w drugiej części podręcznika Gentoo, (USE flags). Pełny opis dostępnych flag USE można
znaleźć w systemie, w /usr/portage/profiles/use.desc.
Listing 1.1: Wyświetlanie dostępnych flag USE |
# less /usr/portage/profiles/use.desc
|
Jako przykład pokażemy ustawienia USE dla systemu z KDE, DVD, ALSA oraz
wsparciem dla nagrywania CD:
Listing 1.1: Otwieranie /etc/make.conf |
# nano -w /etc/make.conf
|
Listing 1.1: Ustawienie USE |
USE="-gtk -gnome qt4 kde dvd alsa cdr"
|
Opcjonalnie: lokalizacja GLIBC
Najprawdopodobniej używana jest jedna lub dwie lokalizacje na naszym systemie.
Można wyszczególnić potrzebne lokalizacje w pliku /etc/locale.gen.
Listing 1.1: Otwieranie /etc/locale.gen |
# nano -w /etc/locale.gen
|
Dzięki poniższym lokalizacjom nasz system będzie zaopatrzony w angielski (Stany
Zjednoczone) oraz niemiecki (Niemcy)
Listing 1.1: Wyszczególnij swoje lokalizacje |
en_US ISO-8859-1
en_US.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
|
Kolejnym krokiem jest wykonanie locale-gen. Wygeneruje to wszystkie
lokalizacje dodane przez nas do pliku /etc/locale.gen.
Przejdźmy do (Konfiguracji jądra).
|