Gentoo Instalacja i Konfiguracja

Zanim zaczniesz…


Gentoo jest zdecydowanie trudnym wyborem dla osób, które od niego chcą zaczynać swoją przygodę z linuksem…

Instalatory dostarczane razem z płytką LiveCD/DVD mają masę bugów i ogólnie rzecz biorąc trudno się uporać z instalacją przy ich pomocy…

Dlatego właśnie opiszę tutaj sposób na ręczną instalacje Gentoo (użycie chroot i własny plik stage3). Ma ona jedną zasadniczą przewagę nad wersją Live: niezależnie od wieku Twojej płytki z Gentoo, po instalacji, dysponujesz w miarę aktualnym systemem, który nie wymaga kolejnych kilku wieków aktualizowania.

UWAGA! Niezbędne do tego sposobu instalacji jest połączenie z internetem przez zwykły kabel sieciowy eth!

Instalacja

1. Minimal Install CD - iso


Zanim zaczniemy przydałaby nam się płytka z samą dystrybucją :-)
W tym celu musimy odwiedzić http://www.gentoo.org/main/pl/where.xml i ją ściągnąć…
Interesuje nas, jak łatwo się domyślić Minimal Install CD dla naszej architektury…

Z doświadczenia mogę stwierdzić, że 64-bitowa wersja nie ma sensu, bo i tak po zainstalowaniu systemu będziemy przekompilowywać większość paczek na nasz system…

Ok… Więc masz ściągnięty Minimal Install CD… Teraz przydałoby się go wypalić!
W miarę porządną instrukcje mamy tutaj: http://jakilinux.org/instalacja/linux-iso/

2. Bootujemy CD


Teraz czas obejrzeć sobie śliczną konsolkę, która nam to iso oferuje :)
Pamietaj, żeby ustawić napęd CD jako pierwszy Boot Device!
Nie będę się zagłębiał jak to zrobić, bo nie jest to szczególnie trudne, a jeżeli tego nie umiesz to poproś o pomoc bardziej doświadczonego kolegę, albo wujka Google`a :-)

Na początku zostaniesz poproszony o podanie obrazu systemu, który ma zostać wczytany. Ten defaultowy jest w porządku, więc poprostu wciskamy <enter>

Kolejnym etapem, po zbootowaniu się systemu, będzie sprawdzenie czy mamy jakieś połączenie ze światem na zewnątrz. Najłatwiej poprostu w konsoli wpisać:

ping google.com

Jeżeli system otrzymuje odpowiedź od serwera to wszystko jest w porządku i możemy kontynuować. Jeżeli nie to zajrzyj na koniec artykułu, gdzie masz troubleshooting…

3. Ustawiamy hasło roota


Na czas instalacji przyda nam się tymczasowe hasło dla administratora systemu… Bez tego musielibyśmy trochę się pomęczyć…
W tym celu w pierwszej kosoli wpisujemy:

livecd root # passwd
New UNIX password: KoloroweKredki
Retype new UNIX password: KoloroweKredki
passwd: password updated successfully

Gdzie KoloroweKredki zastąp swoim hasłem :-)

4. Przygotowujemy dysk twardy


Kolejną ważną czynnością będzie przygotowanie partycji na dysku twardym do instalacji systemu.
W tym celu skorzystamy z polecenia fdisk
Jeżeli masz kilka dysków twardych w komputerze to będziesz musiał dowiedzieć się na którym z nich chcesz zainstalować system…
W linuksie kolejne dyski są dostępne jako:

/dev/sdaX
/dev/sdbX
/dev/sdcX
...

lub
/dev/hdaX
/dev/hdbX
/dev/hdcX
...

gdzie X to kolejne liczby oznaczające numer partycji.

Jeżeli do tej pory nie wiesz jak nazywa się Twój dysk wpisz poprostu:

fdisk -l /dev/sdX

(X to litery a-z)
co wyświetli spis partycji na danym dysku. W ten sposób łatwo będzie rozpoznać o który dysk nam chodzi…

Obsługa samego fdisk jest dosyć intuicyjna i nie będę tutaj zamieszczał dokładnej instrukcji tworzenia partycji, bo mija się to z celem.
Do zainstalowania Gentoo NIEZBĘDNE są:

Jedna duża partycja typu linux (typ 83)
Jedna duża partycja typu swap (typ 82)

Ja instalując zawsze korzystam z następującego układu:

livecd ~ # fdisk -l /dev/sda

Disk /dev/sda: 599.9 GB, 599978409984 bytes
255 heads, 63 sectors/track, 72943 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          12       96358+  83  Linux
/dev/sda2              13         110      787185   82  Linux swap / Solaris
/dev/sda3             111       72943   585031072+  83  Linux

Gdzie:
sda1 to partycja boot (tylko do kerneli/bootloadera)
sda2 to partycja swap
sda3 to partycja zawierająca wszystkie pliki systemu operacyjnego

Takim podziałem będę się posługiwał w dalszej części opisu.
Niektórzy uważają, że dobrym pomysłem jest utworzenie 4 partycji, która później znajduje się w /home (pliki użytkowników), ale jedyna próba instalacji systemu w ten sposób skończyła się notorycznymi brakami miejsca przy kompilacji.

Po utworzeniu danych partycji pozostaje nam sformatować je do właściwego rodzaju.
W tym celu używamy poleceń mke2fs, mke2fs -j, mkreiserfs, mkfs.xfs lub mkfs.jfs

Ja zawsze korzystam z partycji typu ReiserFS, bo mam pewien sentyment do tego psychopaty :-P

W wypadku tworzenia partycji ReiserFS wpisujemy:

mkreiserfs /dev/sda1 && mkreiserfs /dev/sda3 && mkswap /dev/sda2

5. Montowanie partycji


Musimy jeszcze zamontować nowoutworzone partycje we właściwym miejscu:

livecd ~ # mount /dev/sda3 /mnt/gentoo
livecd ~ # mkdir /mnt/gentoo/boot
livecd ~ # mount /dev/sda1 /mnt/gentoo/boot
livecd ~ # cd /mnt/gentoo

6. Archiwa stage i portage


Do zainstalowania systemu potrzebujemy archiwów stage3 i najnowszego portage-snapshot… Żeby je ściągnąć przechodzimy do listy mirrorów gentoo

livecd gentoo # links http://www.gentoo.org/main/en/mirrors.xml

Tam wybieramy serwer i przechodzimy do katalogu releases/x86/najnowsza_data/stages/ skąd pobieramy najnowszy plik stage3 dla architektury i686.
Następnie rozpakowujemy go (zakładając, że katalog nie został zmieniony)
livecd gentoo # tar -xjvf stage3* && cd usr

W podobny sposób postępujemy, żeby ściągnąć portage-snapshot.
Zaczynamy od wybrania jednego z mirrorów:
livecd gentoo # links http://www.gentoo.org/main/en/mirrors.xml

Następnie przechodzimy do katalogu snapshots, wędrujemy kursorem do portage-latest.tar.bz2 i wciskamy D, żeby go pobrać.
Rozpakujemy go właśnie w folderze usr:
livecd usr # tar -xjvf portage*

W ten sposób mamy gotową do edycji bazę systemu Gentoo.

7. Chroot


Musimy zamontować system plików proc i przekopiować adresy serwerów DNS do nowego systemu:

livecd usr # cd /
livecd / # mount -t proc proc /mnt/gentoo/proc
livecd / # cp -L /etc/resolv.conf /mnt/gentoo/etc/
livecd / # chroot /mnt/gentoo /bin/bash
livecd / # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...

8. Plik make.conf


Nie będę się tutaj rozpisywał dokładnie na temat poszczególnych zmiennych i zamiast tego przedstawię te najważniejsze:
CHOST - jest to zmienna ustawiana przy konstruowaniu archiwum stage3 i NIE WOLNO jej modyfikować, bo jakiekolwiek zmiany mogą łatwo doprowadzić od uszkodzenia naszego drzewa pakietów, które jest całościowo zbudowane pod określoną architekturę!
CFLAGS i CXXFLAGS - flagi kompilatora, które są dodawane przy każdej kompilacji w naszym systemie. Przykładowo:

CFLAGS="march=core2 -O2 -pipe -fomit-frame-pointer

Ważnym jest ustawienie właściwego dla siebie march. Zależy on od wersji naszego systemu i od typu procesora. Proponowane ustawienia znajdziemy na stronie: http://gentoo-wiki.com/Safe_Cflags
MAKEOPTS - ustawia dodatkowe opcje kompilacyjne. Zasadniczo potrzebujemy tutaj tylko wstawić ilość jednoczesnych kompilacji. Standard mówi, że powinno to być ilość procesorów +1. Przykładowo dla systemu dwuprocesorowego (lub dwurdzeniowego):
MAKEOPTS="-j3"

LINGUAS i LANGUAGE - określają język w jakim mają być dostępne pakiety. Dla polskiego ustawiamy:
LINGUAS="pl"
LANGUAGE="48"

VIDEO_CARDS, SOUND_CARDS i INPUT_DEVICES - definiują dostępną w systemie kartę graficzną, muzyczną i urządzenia wejścia np. dla mojego notebooka:
VIDEO_CARDS="nv nvidia"

SOUND_CARDS="hda-intel"
INPUT_DEVICES="keyboard mouse touchpad"[[/code]]
USE - określa useflags używane do kustomizacji poszczególnych paczek (np. dodaje obsługę dodatkowych instrukcji/urządzeń). Tą zmienną najlepiej ustawić samodzielnie. Lista dostępnych useflags będzie w programie euse, który instalujemy wpisując:
# emerge euses

9. Serwery Lustrzane (SIC!) [ang. Mirrors]


Wybieranie właściwego serwera lustrzanego możemy sobie ułatwić korzystając z polecenia mirrorselect:

# mirrorselect -i -o >> /etc/make.conf

Kolejnym krokiem będzie aktualizacja listy programów dostępnych do kompilacji:
emerge --sync --quiet

10. Polonizacja systemu


W tym celu modyfikujemy plik locale.gen tak, żeby mieć dostęp do języka polskiego:

echo "en_US ISO-8859-1" > /etc/locale.gen
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
echo "pl_PL ISO-8859-2" >> /etc/locale.gen
echo "pl_PL.UTF-8 UTF-8" >> /etc/locale.gen

Teraz musimy dopisać właściwe ustawienia do samego systemu, w tym celu:
echo "LC_ALL=pl_PL" >> /etc/env.d/99local
echo "LANG=pl_PL" >> /etc/env.d/99local

11. Konfigurowanie jądra


Ustawiamy właściwą strefę czasową:

 # cp /usr/share/zoneinfo/Europe/Warsaw /etc/localtime

Teraz potrzebne nam są źródła jądra naszego systemu. Ściągamy je korzystając z polecenia emerge, przy okazji instalujemy program służący do szybkiej kompilacji jądra systemu:
#emerge gentoo-sources genkernel

Źródła kompilujemy używając polecenia:

#genkernel all --menuconfig

Pojawi się okno konfiguracji kernela, która zależy tylko i wyłącznie od posiadanego systemu, dlatego też każdy musi ją dostosować sam.

12. Konfiguracja systemu

Proces jest doskonale wyjaśniony tutaj:
http://www.gentoo.org/doc/pl/handbook/handbook-amd64.xml?part=1&chap=8
(do napisania później)

13. System podstawowy jest gotowy!

Od tej pory to co zrobimy zależy od tego jak chcemy używać naszego systemu…
(do napisania)

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-NonCommercial 3.0 License