Inne metody instalacji Gentoo
1.
O tym dokumencie
Jeśli standardowe, oparte o instalację z płyt CD metody zawiodą (lub jeśli po
prostu nie chcemy z nich korzystać), warto zapoznać się ze zbiorem
alternatywnych metod instalacji z tego dokumentu. Jeśli udało się zainstalować
Gentoo w niestandardowy, nie opisany tutaj sposób warto podzielić się nim z całą
społecznością zgłaszając go na Bugzillę.
2.
Uruchamianie płyt instalacyjnych za pomocą Smart BootManager
Po pierwsze należy pobrać Smart BootManager ze strony
http://btmgr.sourceforge.net/ download.html. Dostępne są wersje w
wielu językach, zarówno w formie plików binarnych Linuksa jak i plików .exe dla
Windows. Można pobrać źródła w celu samodzielnego zbudowania, ale nie polecamy
tego, ponieważ nie kompilują się z nowszymi wersjami NASM.
Następnie kompilujemy pakiet ze źródeł lub instalujemy wersję prekompilowaną.
Podczas tworzenia dyskietki startowej mamy do dyspozycji kilka opcji, omawiamy
je poniżej.
Listing 2.1: Opcje Smart BootManager |
sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file]
-t theme select the theme to be used, in which the theme could be:
us = English theme de = German theme
hu = Hungarian theme zh = Chinese theme
ru = Russian theme cz = Czech theme
es = Spanish theme fr = French theme
pt = Portuguese theme
-d drv set the drive that you want to install Smart BootManager on;
for Linux:
/dev/fd0 is the first floppy driver,
/dev/hda is the first IDE harddisk driver.
/dev/sda is the first SCSI harddisk driver.
for DOS:
0 is the first floppy drive
128 is the first hard drive;
-c disable CD-ROM booting feature;
-b backup_file backup the data that will be overwritten for
future uninstallation;
-u backup_file uninstall Smart BootManager, should be used alone;
-y do not ask any question or warning.
|
Listing 2.2: Używanie sbminst do stworzenia dyskietki |
# sbminst -t us -d /dev/fd0
|
Uwaga:
Należy zastąpić fd0 nazwą odpowiedniego urządzenia.
|
Następnie umieszczamy dyskietkę w komputerze, na którym będzie instalowany
system oraz płytę w jego napędzie cdrom i ponownie uruchamiamy komputer.
Powita nas okno dialogowe Smart BootManager. Wybieramy w nim odpowiedni napęd
CD-ROM i naciskamy ENTER w celu uruchomienia płyty instalacyjnej. Po jej
wczytaniu możemy kontynuować proces instalacji w zwykły sposób.
Więcej informacji o Smart BootManager znajduje się na stronie
http://btmgr.sourceforge.net/.
3.
Instalacja spod systemu Knoppix
Uwaga:
Knoppix działa wyłącznie na architekturze x86.
|
Uruchamianie z livecd Knoppiksa to
jeden ze sposobów na posiadanie w pełni funkcjonalnego środowiska podczas
instalacji. Czas leci znacznie szybciej gdy podczas instalacji gra się w Tux
Racer, można też korzystać OpenOffice do pracy.
Ostrzeżenie:
Warto zauważyć, że wszystkie pliki zapisywane w katalogu domowym w Knoppiksie
podczas instalacji systemu znikną po jego ponownym uruchomieniu. Należy pamiętać
o zapisaniu wszystkich ważnych plików na dysku przed ponownym uruchomieniem
komputera.
|
Zatem uruchamiamy płytę Knoppiksa. Jeśli jest to Knoppix 3.6-3.8.2 trzeba będzie
wybrać knoppix26 jako opcję uruchomieniową w celu skorzystania z jądra
2.6. Jeśli się to pominie to przy próbie chrootowania pojawi się błąd
spowodowany zbyt starą wersją jądra. Użytkownicy Knoppix 3.9 i nowszych mogą
pominąć ten krok, jądro 2.6 jest tam domyślne.
Domyślnie Knoppix uruchamia środowisko KDE. Na samym początku należy wydać
polecenie su - w konsole i zmienić hasło roota. Potem można
skonfigurować sshd w celu umożliwienia zdalnego logowania się, jeśli
jest to konieczne.
Listing 3.1: Tworzenie punktu montowania /mnt/gentoo |
# mkdir /mnt/gentoo
|
Można teraz przystąpić do instalacji rozpoczynając od 4 rozdziału. W
momencie gdy konieczne będzie zamontowanie systemu plików /proc należy wydać
następujące polecenie zamiast tego z Podręcznika:
Listing 3.2: Montowanie systemu plików proc |
# mount -o bind /proc /mnt/gentoo/proc
|
Warto pamiętać, że niektóre z ustawień FEATURES dla Portage nie będą działać w
Knoppiksie. Należy uważać zwłaszcza na userpriv i usersandbox.
Jeśli pojawią się błędy, warto powyłączać kilka dodatkowych i opcjonalnych
możliwości.
4.
Instalacja bezdyskowa za pomocą PXE
Wymagania
Komputer musi posiadać kartę sieciową z obsługą protokołu PXE, posiada ją wiele
kart firmy 3com. Potrzebny będzie również BIOS umożliwiający uruchamianie z PXE.
Ustawienia serwera
Tworzymy katalogi, w których system do uruchamiania bezdyskowego będzie
przechowywany. Zaczynamy od katalogu /diskless, który będzie
macierzystym. Przez resztę opisu będziemy pracować na kliencie "eta".
Listing 4.1: Ustawianie katalogów |
# mkdir /diskless
# mkdir /diskless/eta
# mkdir /diskless/eta/boot
|
Następny etap to konfiguracja DHCP i TFTP. Klient będzie korzystał z serwera
TFTP do pobrania wybranych plików. Zaczynamy od zainstalowania i
skonfigurowania DHCP, czego dokonuje się w pliku
/etc/dhcp/dhcpd.conf.
Uwaga:
W celu zapewnienia klientowi stałego adresu IP i ścieżki do obrazu PXE należy
użyć pxegrub. Trzeba zastąpić adres MAC odpowiednią informacją dla
karty sieciowej klienta oraz podać katalog gdzie przechowywane są jego pliki.
|
W celu zainstalowania DHCPd należy wpisać polecenie emerge dhcp (można
wybrać też inny serwer DHCP). Należy się upewnić, że w pliku
/etc/conf.d/dhcpd są włączone następujące ustawienia:
Listing 4.2: dhcpd.conf |
option option-150 code 150 = text ;
ddns-update-style none ;
host eta {
hardware ethernet 00:00:00:00:00:00;
fixed-address ip.add.re.ss;
option option-150 "/eta/boot/grub.lst";
filename "/eta/boot/pxegrub";
}
|
Należy teraz skonfigurować odpowiednio interfejs w /etc/conf.d/net
tak, aby prawidłowo uruchamiał się przy starcie systemu. Więcej informacji można
znaleźć w pliku /etc/conf.d/net.example
Listing 4.3: /etc/conf.d/net |
config_eth0=( "noop" )
|
W celu zainstalowania serwera TFTP należy zainstalować pakiet
app-admin/tftp-hpa oraz umieścić w pliku
/etc/conf.d/in.tftpd następujące informacje:
Listing 4.4: in.tftpd |
INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"
|
Kolejny krok to konfiguracja GRUB. Należy go skompilować samodzielnie i włączyć
flagę USE netboot. Kiedy plik binarny zostanie skompilowany, należy go
skopiować do katalogu boot w katalogu uruchomieniowym klienta. Ostatnia
czynność to edytowanie pliku konfiguracyjnego grub.lst.
Listing 4.5: Konfiguracja GRUB |
# echo "sys-boot/grub netboot" >> /etc/portage/package.use
# emerge -av grub
# cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub
|
Listing 4.6: grub.lst |
default 0
timeout 30
title=Diskless Gentoo
root (nd)
kernel /eta/bzImage ip=dhcp root=/dev/nfs
nfsroot=ip.add.re.ss:/diskless/eta
|
Kolejny krok to konfiguracja NFS, która jest dość prosta. Ogranicza się do
dodania w pliku /etc/exports następującej linii:
Listing 4.7: /etc/exports |
# nano -w /etc/exports
# /etc/exports: NFS file systems being exported. See exports(5).
/diskless/eta eta(rw,sync,no_root_squash)
|
Kolejna czynność to uaktualnianie hostów w pliku /etc/hosts tak,
aby pasowały do konkretnej sytuacji.
Listing 4.8: /etc/hosts |
127.0.0.1 localhost
192.168.1.10 eta.example.com eta
192.168.1.20 sigma.example.com sigma
|
Budowa systemu na serwerze
Może być konieczne ponowne uruchomienie serwera w celu wczytania płyty
instalacyjnej Gentoo, można jednak również zainstalować je bezpośrednio z
obecnego systemu. Należy postępować zgodnie ze zwykłą procedurą instalacji, uwzględniając jednak
następujące fakty: podczas montowania systemu plików trzeba wykonać wypisane
poniżej czynności (hdaX to partycja na której znajduje się katalog
/diskless). Nie trzeba montować żadnych żadnych partycji, ponieważ
wszystkie pliki znajdują się w katalogu /diskless/eta.
Listing 4.9: Montowanie systemu plików |
# mount /dev/hdaX /mnt/gentoo
|
Później musimy zająć się plikami stage i chrootowaniem. W przykładzie użyjemy
tarballa stage3. Po pierwsze należy zamontować /proc w katalogu
diskless i wchrootować się do środka. Następnie należy kontynuować proces
instalacji zgodnie z opisem aż do momentu, kiedy trzeba będzie skompilować
kernel.
Ostrzeżenie:
Podczas rozpakowywania tarballa stage należy bardzo uważać. Rozpakowanie go w
niewłaściwy sposób może skończyć się poważnym uszkodzeniem obecnego systemu.
|
Listing 4.10: Rozpakowywanie pliku stage |
# cd /mnt/gentoo/diskless/eta/
# tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2
# mount -t proc /proc /mnt/gentoo/diskless/eta/proc
# cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf
# chroot /mnt/gentoo/diskless/eta/ /bin/bash
# env-update
# source /etc/profile
|
Kolejna czynność to konfiguracja jądra. Po wykonaniu polecenia make
menuconfig należy zaznaczyć następujące ustawienia:
Listing 4.11: Opcje w menuconfig |
- Your network card device support
- Under "Networking options" :
[*] TCP/IP networking
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
- Under "File systems --> Network File Systems" :
<*> NFS file system support
[*] Provide NFSv3 client support
[*] Root file system on NFS
|
Kernel należy zapisać w katalogu / w chroocie (nie w
/boot), wynika to z wcześniejszych ustawień pxegrub. Kolejny krok
to konfiguracja pliku /etc/fstab klienta.
Listing 4.12: /etc/fstab |
# nano -w /etc/fstab
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs nodev,nosuid,noexec 0 0
|
Należy zapobiec sprawdzaniu dysku.
Listing 4.13: Zapobieganie sprawdzaniu dysku |
# touch /fastboot
# echo "touch /fastboot" >> /etc/conf.d/local.start
|
Kolejna czynność to instalacja pakietu nfs-utils, z którego aktywnie
będzie korzystał klient.
Listing 4.14: Instalowanie nfs-utils |
# emerge nfs-utils
|
Następna czynność to instalacja programu ładującego. Nie należy instalować nic
nowego. Mamy już taki program, pxegrub. Instalację kończy się poprzez ponowne
uruchomienie serwera. Potem należy uruchomić wszystkie usługi wymagane przez
klienta: DHCP, TFTPD i NFS.
Listing 4.15: Uruchamianie usług |
# /etc/init.d/dhcp start
# /etc/init.d/in.tftpd start
# /etc/init.d/nfs start
|
Uruchamianie klienta
Aby klient uruchamiał się prawidłowo należy skonfigurować BIOS i kartę sieciową
tak, by używały protokołu PXE jako pierwszego urządzenia, z którego będą
uruchamiać system. Powinien się on znajdować przed napędem CD-ROM czy stacją
dystkietek na odpowiedniej liście. Jeśli sprawia to problem należy się zapoznać
z instrukcjami obsługi sprzętu. Karta sieciowa powinna pobierać adres za pomocą
DHCP i obraz GRUB PXE za pomocą TFTP. Następnie powinien pojawiać się czarny
ekran z białym menu GRUB, z którego można wybrać jądro i uruchomić system za
pomocą klawisza ENTER. Jeśli wszystko jest ustawione prawidłowo, kernel się
uruchomi, podmontuje główny system plików za pomocą NFS i pojawi się znak
zachęty. To wszystko.
5.
Instalowanie Gentoo z innej dystrybucji
Wymagania
Aby można było zainstalować Gentoo z innej dystrybucji, musi ona posiadać
dostępne polecenie chroot i kopię instalacyjnego tarballa Gentoo lub pliku ISO,
z którego zamierza się instalować. Połączenie z siecią jest konieczne jeśli
chcemy zainstalować coś co nie jest zawarte w tarballu (tarball to plik z
rozszerzeniem .tgz lub .tar.gz). Autor tego tekstu użył do zainstalowania Gentoo
systemu RedHat Linux 7.3, ale nie ma to zbyt wielkiego znaczenia. Pora zacząć!
Przegląd
Po pierwsze musimy utworzyć partycję dla Gentoo poprzez zmianę rozmiaru którejś
z już istniejących, potem ją podmontować, rozpakować tarball, wchrootować się w
nowo utworzone środowisko i rozpocząć budowę systemu. Po zakończeniu procesu
bootstrapu musimy wykonać kilka zmian w konfiguracji, a następnie ponownie
uruchomić komputer, w celu przetestowania nowej konfiguracji.
Jak zwolnić miejsce dla Gentoo?
Partycja główna to system plików podmontowany w /. Można to szybko
sprawdzić za pomocą polecenia mount. Aby sprawdzić ile miejsca mamy do
dyspozycji wykorzystamy polecenie df. Warto zauważyć, że nie jest
konieczne zmienianie rozmiaru partycji głównej. Można zmienić rozmiar każdej
innej, na której zechce działać program do zmiany rozmiaru, co omówimy trochę
później.
Listing 5.1: Informacje o systemie plików |
# mount
/dev/hdb2 on / type ext3 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw,nodev,nosuid,noexec)
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hdb2 4.0G 1.9G 2.4G 82% /
none 38M 0 38M 0% /dev/shm
|
Jak widać zamontowana w / partycja /dev/hdb2 posiada
2.4 GB wolnego miejsca. Dobrym pomysłem jest tu wycięcie z niej 400 MB bloku i
pozostawienie 2 GB miejsca na Gentoo, co powinno spokojnie wystarczyć do
instalacji systemu. Części użytkowników wystarczy nawet 1 GB.
Budowanie parted, programu do zmiany rozmiaru partycji
Parted to program będący częścią projektu GNU. Można go pobrać ze strony
http://www.gnu.org/software/parted/.
Uwaga:
Są też inne narzędzia służące do zmiany rozmiaru partycji, ale autor tekstu nie
jest do końca pewien czy np. Partition Magic(tm) czy inne programy będą
działały równie niezawodnie. Polecamy samodzielne ich testowanie.
|
Na stronie parted należy poszukać używanego systemu plików i sprawdzić czy
program go obsługuje. Jeśli nie to pech, trzeba będzie zniszczyć jakąś
istniejącą partycję, aby zainstalować Gentoo. Aby tego dokonać należy pobrać i
skompilować odpowiednie oprogramowanie, a następnie nagrać je na dyskietkę,
uruchomić z niej parted i zmienić rozmiar odpowiednich partycji. Jeśli możliwe
jest odmontowanie tej partycji spod Linuksa to można spokojnie zmienić jej
rozmiar bez restartu. Oto jak ja tego dokonałem:
Ważne:
Przed rozpoczęciem pracy należy się upewnić, że parted obsługuje dany typ
partycji!
|
Zaczynamy od pobrania dystrybucji mininux (opartej na jądrze 2.4 darmowej
dystrybucji Linux mieszczącej się na dyskietce) ze strony
http://mininux.free.fr/uk/ oraz utworzenia dyskietki startowej tak
jak opisano to w dokumentacji tego projektu. Następnie wkładamy dyskietkę do
stacji i uruchamiamy komputer.
Uwaga:
Warto zwrócić uwagę, że w Linuksie niemal wszystko da się wykonać na kilka
sposobów. Celem jest uruchomienie parted na odmontowanej partycji. Można do
tego użyć dyskietki startowej takiej jak mininux. Można też pominąć ten krok i
po prostu odmontować odpowiednią partycję spod zwykłej dystrybucji, a potem
uruchomić na niej program, o ile nie jest to partycja główna.
|
Listing 5.2: Tworzenie dyskietki startowej |
# mkfs.minix /dev/fd0
480 inodes
1440 blocks
Firstdatazone=19 (19)
Zonesize=1024
Maxsize=268966912
|
Teraz pora zbudować parted. Jeśli nie został jeszcze pobrany i rozpakowany, to
należy to zrobić właśnie teraz. Potem przechodzimy (cd do katalogu, w
którym znajdują się źródła i uruchamiamy poniższe polecenia, które spowodują
zbudowanie programu i nagranie go na dyskietkę.
Listing 5.3: Budowanie dyskietki |
# mkdir /floppy; mount -t minix /dev/fd0 /floppy &&
export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" && ./configure
&& make && cp parted/parted /floppy && umount /floppy
|
Gratulacje, przygotowania skończone. Można ponownie uruchomić komputer i
przystąpić do dzielenia partycji, oczywiście po zapoznaniu się z dokumentacją
parted na stronie GNU. Zmiana rozmiaru na największych partycjach zajmie około
30 minut, należy zatem uzbroić się w cierpliwość. Należy zacząć od
uruchomienia komputera z dyskietki mininux, potem, po zalogowaniu się zamienić
dyskietkę na tę z nagranym parted i ją podmontować. Następnie uruchamiamy parted
i zmieniamy rozmiar odpowiedniej partycji. Kiedy ten długi proces się zakończy
będziemy gotowi do zainstalowania Gentoo.
Listing 5.4: Polecenia do uruchomienia spd mininux |
# mount /dev/fd0 /floppy
# cd /floppy; ./parted [drive you wish to operate on]
(parted) print
Disk geometry for /dev/hdb: 0.000-9787.148 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 2953.125 primary ntfs
3 2953.125 3133.265 primary linux-swap
2 3133.266 5633.085 primary ext3
4 5633.086 9787.148 extended
5 5633.117 6633.210 logical
6 6633.242 9787.148 logical ext3
(parted) help resize
resize MINOR START END resize filesystem on partition MINOR
MINOR is the partition number used by Linux. On msdos disk labels, the
primary partitions number from 1-4, and logical partitions are 5
onwards.
START and END are in megabytes
(parted) resize 2 3133.266 4000.000
|
Ważne:
Należy zachować cierpliwość, proces ten zajmie od 2 do 30 minut.
|
Po zmianie rozmiaru partycji należy ponownie uruchomić starą dystrybucję.
Później można kontynuować instalację z opisu w Podręczniku
Gentoo. Po wchrootowaniu się do nowo budowanego systemu należy użyć
następujących komend w celu odświeżenia środowiska:
Listing 5.5: Odświeżanie środowiska |
# env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update
# source /etc/profile
|
To wszystko, powodzenia!
Zawartość tego dokumentu jest rozpowszechniana na podstawie licencji Creative Commons -
Attribution / Share Alike.
|