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
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.
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.
W przypadku dhcpcd uruchamiamy po prostu polecenie emerge dhcp (do wybór jest jeszcze kilka innych serwerów DHCP). Należy się upewnić, że ustawiony jest poprawny interfejs w pliku /etc/conf.d/dhcpd, a jego zwartość jest dostosowana do naszych potrzeb. Następnie, dodajemy poniższe linie do 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. |
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 |
(Należy zamienić eth0 nazwą odpowiedniego interfejsu)
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 # Jeśli chodzi o nfsroot, to adres IP jest adresem serwera, a katalog to jest to miejsce na serwerze, w którym znajdują się pliki dla klienta. |
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 |
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
(Należy wbudować to na stałe, nie jako moduły!)
- 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 |
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
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ąć!
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!
Materiał udostępniany na podstawie licencji Creative Commons - Attribution / Share Alike.