Gentoo Logo

Wskazówki dotyczące instalacji Gentoo/x86

Spis treści:

1.  Wprowadzenie

Wstęp

Ten dokument zawiera różne wskazówki dotyczące instalacji Gentoo na platformie x86. Większość z nich opisana jest jedynie powierzchownie, stąd powinny być one traktowane jedynie jako uzupełnienie dokumentacji instalacyjnej.

Spis treści

Zaawansowana instalacja.

Ułatwienia w procesie instalacji.

Naprawa błędów i rozwiązywanie problemów.

2.  Zaawansowana instalacja.

Programowy RAID.

Uwaga: Jeżeli nigdy nie spotkałeś z programowym RAID-em, zapoznaj się z Przewodnikiem po programowym RAID.

Uwaga: Bardziej dokładny opis można znaleźć w opisie Szybkiej instalacji Gentoo z obsługą programowego Raid i LVM2

Po uruchomieniu systemu z płyty instalacyjnej należy wpierw załadować odpowiednie moduły do obsługi RAID. Np. aby skorzystać z RAID-1, należy wywołać:

Listing 2.1: Loading the RAID-1 module

# modprobe raid1

Podczas partycjonowania dysku należy się upewnić, że dla wszystkich partycji ich typ ustawiony jest na fd (Linux raid autodetect) zamiast standardowego 83 (Linux native). Aby to zmienić, można użyć polecenia t programu fdisk.

Przed utworzeniem macierzy RAID trzeba stworzyć odpowiednie pliki meta urządzeń:

Listing 2.2: Tworzenie plików urządzeń


# mknod /dev/md1 b 9 1
# mknod /dev/md2 b 9 2
# mknod /dev/md3 b 9 3

Po dokonaniu partycjonowania należy utworzyć plik /etc/mdadm.conf (w / względem systemu płyty instalacyjnej, nie w /mnt/gentoo). Można to uczynić przy pomocy programu mdadm, zaawansowanego narzędzia do zarządzania macierzami RAID. Np. aby stworzyć partycję rozruchową (boot), partycję wymiany oraz partycję główną (root) w trybie RAID-1 (mirroring), można użyć następujących poleceń:

Listing 2.3: przykład wywołania mdadm

# mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
# mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
# mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3

Ważne: Nie należy używać żadnej formy stripingu, takich jak raid-0 czy raid-5, na partycji, z której uruchamiamy nasz system.

Linuksowy sterownik programowego RAID zacznie teraz tworzyć macierze. Bieżący postęp można obserwować zaglądając do pliku /proc/mdstat. Przed dokonaniem dalszych czynności należy poczekać, aż wszystkie macierze zostaną utworzone.

Listing 2.4: Zapisywanie informacji o utworzonych urządzeniach

# mdadm --detail --scan > /etc/mdadm.conf

Od tej chwili partycja rozruchowa (boot) reprezentowana jest przez plik /dev/md1, partycja wymiany przez /dev/md2, a partycja główna (root) widziana jest jako /dev/md3.

Przed przejściem do chroot, nie należy zapomnieć o skopiowaniu pliku /etc/mdadm.conf do katalogu /mnt/gentoo/etc.

Podczas późniejszej konfiguracji jądra systemu koniecznie trzeba upewnić się, że odpowiednie opcje dotyczące RAID zostały wkompilowane do jądra, a nie dodane jako moduły.

Podczas instalacji dodatkowych narzędzi należy również zainstalować pakiet mdadm. Uwaga: Niektóre płyty instalacyjne nie zawierają źródeł tego pakietu, stąd instalacja programowego RAID może wymagać dostępu do sieci.

W przypadku korzystania z RAID-1 (mirroring), program ładujący (boot loader) musi zostać zainstalowany w MBR na obu dyskach.

ATA RAID przy użyciu jądra z serii 2.4.

Przy uruchamianiu z płyty instalacyjnej należy podać opcję doataraid jako parametr jądra systemu. Po uruchomieniu systemu w katalogu /dev/ataraid powinny znajdować się katalogi disc* dla każdego z dysków podłączonych do kontrolera. W katalogach disc znajdują się całe dyski, podczas gdy w katalogach part* umieszczone są partycje.

Następnie trzeba zanotować sobie nazwy plików urządzeń w katalogach /dev/ataraid/disc*/*, które później posłużą do instalacji systemu. Postępując dalej zgodnie z instrukcją instalacji wystarczy wstawić je zamiast przykładowych ścieżek /dev/hda.

Przed wykonaniem chroot należy jeszcze zamontować z opcją --bind cały katalog /dev:

Listing 2.5: Montowanie /dev z opcją --bind

# mount -o bind /dev /mnt/gentoo/dev

Podczas konfiguracji jądra systemu muszą zostać włączone sterowniki kontrolera oraz inne dodatkowe opcje dotyczące ATA RAID. Przykładowo bardzo popularnym kontrolerem, stosowanym w niektórych płytach głównych, jest Zintegrowany kontroler RAID Promise FastTrack. Do jego obsługi wymagane będzie zaznaczenie opcji Promise FastTrack Options w programie konfiguracyjnym jądra.

W czasie konfiguracji GRUB'a konieczne będzie stworzenie dyskietki startowej GRUB. Wbrew pozorom jest to czynność stosunkowo prosta. Wystarczy instalować GRUB'a w zwyczajny sposób do momentu, w którym ma nastąpić zainstalowanie GRUB'a w MBR. Zamiast tego należy wykonać następujące czynności:

Listing 2.6: Tworzenie dyskietki startowej GRUB

# cd /boot/grub
# dd if=stage1 of=/dev/fd0 bs=512 count=1
# dd if=stage2 of=/dev/fd0 bs=512 seek=1

Oczywiście w dalszym ciągu trzeba stworzyć plik grub.conf, z tą różnicą, że w parametrze root= musi znaleźć się ścieżka do urządzenia, reprezentującego dysk ATA RAID.

Po skończonej instalacji wystarczy uruchomić system z dyskietki startowej. Po pojawieniu się wiersza poleceń pozostaje już tylko skonfigurować GRUB-a tak, aby uruchamiał się z partycji ATA RAID:

Listing 2.7: Instalacja GRUB'a na partycji ATA RAID

grub> root (hd0,x)
grub> setup (hd0)
grub> quit

Po wyciągnięciu dyskietki i restarcie komputera GRUB powinien uruchomić się normalnie z dysku twardego.

Użytkownicy LILO mogą spokojnie postępować tak, jak jest to opisane w instrukcji instalacji. Nie są wymagane żadne dodatkowe działania.

Użycie gotowego jądra z płyty instalacyjnej

Jeżeli nie chcemy samodzielnie kompilować jądra systemu, możemy wykorzystać gotowe jądro z płyty instalacyjnej. Podczas kompilowania i instalowania jądra, można naciskając Alt+F2 przejść do innego terminala i zalogować się jako root używając hasła podanego na początku instalacji.

Następnie należy skopiować na partycję systemową jądro systemu wraz z modułami:

Listing 2.8: Kopiowanie jądra z płyty instalacyjnej

(${KN} odpowiada nazwie jądra, zwykle 'gentoo' lub 'smp')
cdimage ~# cp /mnt/cdrom/isolinux/${KN} /mnt/cdrom/isolinux/${KN}.igz /mnt/gentoo/boot
cdimage ~# mkdir -p /mnt/gentoo/lib/modules
cdiamge ~# cp -Rp /lib/modules/`uname -r` /mnt/gentoo/lib/modules

Jeżeli wszystkie moduły, które w chwili obecnej są w pamięci (załadowane przy uruchamianiu z płyty instalacyjnej), mają być automatycznie ładowane podczas startu systemu, należy wykonać dodatkowo poniższe polecenia:

Listing 2.9: Dodawanie wszystkich załadowanych modułów do modules.conf

# cat /proc/modules | cut -d ' ' -f 1 >> \
  /etc/modules.autoload.d/kernel-`uname -r | cut -d . -f -2`
# update-modules

3.  Ułatwienia w procesie instalacji.

Opuszczanie terminala.

Wiele osób chciałoby odejść od komputera w czasie, kiedy trwa instalacja Gentoo. Zdarza się jednak, że komputer znajduje się w miejscu publicznym, co grozi potencjalną ingerencją osób trzecich w proces instalacji. W takim wypadku idealnie byłoby uruchomić kompilację w tle, po czym wylogować się ze wszystkich terminali.

Istnieje wiele rozwiązań tego problemu. Jedną z nich jest zastosowanie polecenia screen. Po uruchomieniu z płyty CD trzeba ustawić hasło roota, a następnie rozpocząć sesję screen:

Uwaga: Nie wszystkie wersje płyt instalacyjnych zawierają polecenie screen. W takim wypadku konieczne będzie skorzystanie z jednej z pozostałych metod opisanych w tym rozdziale,

Listing 3.1: Uruchamianie sesji screen

# screen -S gentoo

Wewnątrz sesji screen można zwyczajnie kontynuować proces instalacji. Aby odłączyć się od sesji, wystarczy nacisnąć klawisze Ctrl+a, d (trzymając naciśnięty klawisz Ctrl należy kolejno przyciskać klawisze 'a' i 'd'). Następnie można bezpiecznie wylogować się z systemu. Proces instalacji będzie kontynuowany w tle.

Aby powtórnie uzyskać dostęp do procesu instalacyjnego, wystarczy zalogować się jako root i przyłączyć się do sesji screen:

Listing 3.2: Przyłączanie się do sesji screen

# screen -x gentoo

Jeżeli program screen nie jest dostępny, istnieje jeszcze jedna możliwość pozostawienia instalacji w tle. Wystarczy postępować zgodnie z instrukcją instalacji do momentu, w którym mamy zamiar rozpocząć dłuższy proces kompilacji (np. bootstrap systemu). W tym momencie można użyć programu nohup, który pozwala uruchomić proces tak, aby pracował w tle pomimo wylogowania się. Bezwzględnie trzeba pamiętać o znaku "&" na końcu polecenia, gdyż to on umożliwia pracę uruchamianego procesu w tle. Poza tym trzeba zapamiętać w jakim katalogu się obecnie znajdujemy (można to sprawdzić poleceniem pwd).

Listing 3.3: Użycie polecenia nohup

# pwd
/usr/portage
# nohup ./scripts/bootstrap.sh &

Teraz można wyjść ze środowiska chroot (poleceniem exit) i wylogować się. Proces kompilacji będzie trwał w tle.

Aby sprawdzić stan procesu kompilacji, wystarczy zalogować się jako root, przejść do środowiska chroot a następnie do katalogu, w którym rozpoczęty został proces kompilacji:

Listing 3.4: Powrót do środowiska chroot

# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile
# cd /usr/portage

Teraz wystarczy użyć polecenia less do podejrzenia pliku nohup.out, który znajduje się w bieżącym katalogu. Plik ten zawiera wszystko, co normalnie widoczne byłoby na ekranie w czasie kompilacji i jest stale uaktualniany. Aby obserwować na bieżąco przebieg procesu, można użyć polecenia less nohup.out a następnie nacisnąć klawisz F. Po zakończeniu procesu kompilacji można przystąpić do kolejnego etapu, zgodnie z instrukcją instalacji.

Aby przerwać obserwację procesu wystarczy nacisnąć klawisze Ctrl+C a następnie klawisz q. W ten sposób zakończone zostanie polecenie less, jednak proces kompilacji będzie nadal kontynuowany w tle.

4.  Naprawa błędów i rozwiązywanie problemów.

Dokładne testowanie dysków twardych.

Jeżeli dysk może zawierać uszkodzenia (np. błędne sektory) to można wykonać dokładny test jego powierzchni. Służy do tego parametr -c polecenia mke2fs. Użycie tego parametru podczas tworzenia systemu plików ext2 lub ext3 na dysku spowoduje, że program mke2fs podejmie próbę przeczytania każdego sektora dysku i zaznaczy ewentualne błędne sektory tak, aby nie były one wykorzystywane do przechowywania danych. Można również wykonać jeszcze dokładniejszy test, podając parametry -c podwójnie, co spowoduje dokładne przetestowanie sektora łącznie z próbą jego zapisu. Wszystkie dane na dysku zostaną stracone po wykonaniu tego polecenia.

Listing 4.1: Sprawdzanie spójności dysku

# mke2fs -j -c /dev/hda3

Ratowanie błędnej instalacji.

Jeżeli z jakiegoś powodu instalacja Gentoo zakończy się niepowodzeniem, nie jest wcale konieczne rozpoczynanie jej od początku. Zamiast tego wystarczy wrócić do momentu, w którym wydaje się Tobie, że popełniłeś błąd i spróbować go poprawić.

Na początku należy ponownie wejść przy pomocy chroot do środowiska instalacyjnego Gentoo Linux. Wystarczy przy tym postępować zgodnie z instrukcją instalacji, przy czym nie jest już potrzebne partycjonowanie dysków i można od razu przejść do montowania partycji w /mnt/gentoo. Poza tym należy pominąć instalację tarballa stage oraz modyfikację pliku make.conf.

Po wejściu w środowisko chroot można przejść od razu do momentu, w którym mógł zostać popełniony błąd. Nie ma potrzeby ponownego dokonywania bootstrapu czy kompilacji całego systemu, chyba że to właśnie w którymś z tych etapów może leżeć przyczyna wystąpienia błędu.

Na przykład jeżeli przyczyną problemów jest niewłaściwa konfiguracja GRUB w pliku grub.conf, można od razu uruchomić edytor i dokonać w tym pliku niezbędnych zmian.

Podejmując inną drogę wyjścia z zaistniałego problemu należy rozważyć, ile już wykonanych czynności trzeba będzie powtórzyć. Jeżeli zmiana, której chcemy dokonać będzie miała wpływ na jakiś etap, konieczne będzie jego powtórzenie wraz ze wszystkimi etapami po nim następującymi.

Przykładowo:

  • jeżeli zmianie uległa jedna ze zmiennych w pliku make.conf, konieczne będzie powtórne wykonanie wszystkich kompilacji, ponieważ ich przebieg zależy od zmiennych zawartych w make.conf.
  • w przypadku modyfikacji pliku /boot/grub/grub.conf można od razu opuścić środowisko chroot i ponownie uruchomić komputer. Żadne dodatkowe działania nie są w tym przypadku potrzebne, ponieważ przebieg żadnego z dalszych etapów nie zależy od zawartości pliku grub.conf.
  • jeżeli ponownie kompilowane było jądro systemu, wystarczy jedynie zadbać o konfigurację programu ładującego, aby zawierała wskazanie do nowego jądra (należy pamiętać o uprzednim zamontowaniu partycji /boot!). Następnie można opuścić środowisko chroot i ponownie uruchomić komputer.
  • gdy modyfikacji uległ tylko plik /etc/fstab, wystarczy również opuścić środowisko chroot i ponownie uruchomić system.

Jak widać większość czynności ratunkowych trwa krótko i kończy się natychmiastowym ponownym uruchomieniem systemu. Jedynie w kilku przypadkach konieczne jest powtórzenie kilku dłuższych etapów instalacji.



Drukuj

Zaktualizowano 18 września 2007

Podsumowanie: Kilka dodatkowych wskazówek mających na celu ułatwić i przyspieszyć proces instalacji Gentoo.

Sven Vermeulen
Autor

Xavier Neys
Redaktor

Krzysztof Nowicki
Tłumacz

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Linux World Expo

Linux World Expo

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