Instalace distribuce
Máme vytvořený kořenový adresář včetně obsahu a sestavené jádro, takže nic už nebrání tomu, přenést naši distribuci na pokusný počítač a vyzkoušet ji.
Stačí k tomu tři kroky:
- Připravit harddisk v pokusném počítači.
- Přenést distribuci a jádro
- Instalovat do cílového počítače zavaděč operačního systému
Příprava harddisku
Abychom mohli do pokusného počítače přenést naši distribuci, musíme nejprve připravit harddisk pokusného počítače, tj. vytvořit na něm alespoň jeden oddíl a zformátovat jej.
Postup:
- Spustíme počítač a necháme jej nabootovat z CDROM s live distribucí.
- Ověříme si, že harddisk v pokusném počítači byl jádrem detekován. Úspěšně detekované SATA/SCSI disky jsou uvedeny v souboru /proc/scsi/scsi. Seznam rozeznaných IDE/PATA disků je v adresáři /proc/ide. Zde každému IDE zařízení odpovídá jeden adresář s názvem hd_. Místo _ je písmeno a - z. V adresáři IDE zařízení, např. hda, je soubor model. V něm je uveden název a číslo modelu daného IDE zařízení. V pokusném počítači byly dva adresáře: hda pro harddisk a hdc pro DVD-RW mechaniku. To znamená, že harddisk je v našem pokusném počítači přístupný jako /dev/hda, zatímco DVD-RW mechanika jako /dev/hdc. Oddíly (partitions) disku jsou pak přístupné pod soubory zařízení /dev/hda_, kde místo _ je číslo oddílu: 1 - 4 jsou primární oddíly, 5 a výše jsou logické oddíly.
- Disk rozdělíme na oddíly (logické disky) pomocí příkazu fdisk (musíme být přihlášeni jako superuživatel root). Je vhodné vymezit pro naši distribuci jen část kapacity harddisku, řekněme cca 100 - 200MB. V dalším postupu předpokládáme, že disk je prázdný a je v systému dostupný jako zařízení /dev/hda.Postup:
# fdisk /dev/hda
- Přidáme na disk nový oddíl, potřebujeme první primární oddíl:
Command (m for help): n Command (m for help): p Partition number (1-4): 1
- Zadáme začátek oddílu jako první cylindr (first cylinder), kde začíná náš oddíl. Pak zadáme poslední cylinder (last cylinder) našeho oddílu. Rozdíl těchto hodnot je vlastně velikostí nového oddílu v cylindrech. Před tímto krokem je vhodné si zobrazit seznam oddílů příkazem p. Dozvíme se tak i počet bytů odpovídajím jednomu cylindru.
First cylinder (1-2434):1 Last cylinder: 20
- Nastavíme tento oddíl jako bootovací:
Command (m for help): a Partition number (1-4): 1
- Zapíšeme provedené změny do tabulky MBR na harddisku a ukončíme fdisk:
Command (m for help): w
- Vytvořený oddíl bude dostupný pod názvem /dev/hda1.
- Nový oddíl naformátujeme na souborový systém ext2 příkazem (zase jako root):
# mke2fs /dev/hda1
Poznámka: Souborový systém ext2 používáme pro jednoduchost - nemá žurnálování apod., ale je široce podporován v řadě live distribucí, částečně i Busyboxem atd. - Funkčnost si nového oddílu si ověříme připojením oddílu. Adresář /mnt/hdd si musíme dopředu vytvořit.
# mount /dev/hda1 /mnt/hdd
Pokud příkaz mount nezahlásil žádnou chybu, je nový oddíl plně funkční.
Poznámka: Rozdělování, formátování a provádění kontroly disku je možné provádět pouze na discích/oddílech, které nejsou připojené! Kontrolu, zda disk není připojen, provedeme příkazem mount bez parametrů.
Přenesení distribuce
Máme připravený harddisk v našem pokusném počítači. Nastal tedy nejvyšší čas ”instalovat”, resp. přenést naši distribuci do pokusného počítače.
Níže uvedený postup předpokládá, že v pokusném počítači běží live distribuce Linuxu INSERT CD, která obsahuje NFS klienta.
Poznámka: Některé kroky musíme provádět jako superuživatel root, protože soubory a adresáře naší distribuce jsou vlastněny uživatelem a skupinou root. Tato skutečnost je vyznačena znakem # před samotným příkazem.
Postup:
- Ze stromu jádra zkopírujeme do adresáře boot/ v naší distribuci obraz jádra, konfiguraci jádra a mapovací soubor funkcí jádra System.map (aktuální adresář je linux-2.6.35.13/):
# cp vmlinuz-2.6.35.13-rc1 /home/emlin/mylindist-root/boot/ # cp config-2.6.35.13-rc1 /home/emlin/mylindist-root/boot/ # cp System.map-2.6.35.13-rc1 /home/emlin/mylindist-root/boot/
Poznámka: Konfigurace jádra není povinnou součástí distribuce, nicméně je zvykem ji k jádru ”přibalovat”. - Adresář mylindist-root/ s distribucí přesuneme do sdíleného adresáře /home/emlin/nfs-share v našem pracovním počítači (aktuální adresář je /home/emlin):
# cp -R mylindist-root nfs-share/
- V dalších krocích budeme pracovat přímo na pokusném počítači.
- Sdílený adresář pracovního počítače zpřístupníme v pokusném počítači takto:
# mount -o nolock -t nfs 192.168.1.120:/home/emlin/nfs-share /mnt/nfs
Poznámka: Adresář /mnt/nfs si musíme vytvořit dopředu sami. IP adresa 192.168.1.120 je v našem případě adresa NFS serveru - pracovního počítače, na kterém jsme připravovali distribuci. - Připojíme si harddisk pokusného počítače, resp jeho oddíl /dev/hda1 zformátovaný na ext2, do adresáře /mnt/hdd:
# mount /dev/hda1 /mnt/hdd
Poznámka: Adresář /mnt/hdd si musíme vytvořit dopředu sami. - Přeneseme, resp. zkopírujeme distribuci ze sdíleného adresáře pracovního počítače na harddisk v pokusném počítači. V shellu pokusného počítače zadáme:
# cd /mnt/nfs/mylindist-root # tar cf - . | ( cd /mnt/hdd; tar xf -)
Pro ty zvídavější: první část příkazu - tar cf - ./ zabalí obsah adresáře mylindist-root/, tj. kořenového adresáře naší distribuce a pak tento archiv pošle na standardní výstup. Odtud si je vezme druhá část příkazu tar xf -, která archiv zase rozbalí do aktuálního adresáře, který jsme si příkazem cd /mnt/hdd nastavili na kořenový adresář na harddisku v pokusném počítači.
Voila! Distribuce je přenesena na harddisk pokusného počítače.
Instalace zavaděče
Posledním krokem před vyzkoušením naší distribuce je instalace zavaděčeZavaděč je speciální program, který přebere štafetu po BIOSu a uvede počítač do stavu, kdy je možné rozbalit jádro a předat mu řízení. Jádro pak pokračuje dál ve spouštění systému. na harddisk pokusného počítače. My půjdeme osvědčenou cestou a do části harddisku zvané MBR (master boot record) nainstalujeme zavaděč GRUB.
V této chvíli se stále ještě spoléháme na live distribuci, která běží v pokusném počítači. Předpokládáme, že harddisk pokusného počítače je přístupný jako zařízení /dev/hda a jeho oddíl s naší distribucí je připojen do adresáře /mn/hdd. Adresář /mnt/hdd je vlastně kořenovým adresářem naší distribuce na pokusném počítači.
V pokusném počítači nainstalujeme zavaděč GRUB příkazem:
# grub-install --no-floppy --root-directory=/mnt/hdd /dev/hda
Něco málo k parametrům příkazu:
- --no-floppy - nechceme přidávat disketovou mechaniku do seznamu bootovatelných zařízení.
- --root-directory - nastavíme instalátoru GRUBu cestu k adresáři /boot.
- /dev/hda - harddisk, do jehož MBR sektoru se má GRUB instalovat.
Instalátor GRUBu vytvoří v adresáři /boot, resp. /mnt/hdd/boot, podadresář grub/, kam nainstaluje různé soubory. Nás bude zajímat především soubor device.map, který GRUB používá pro mapování svého číslování harddisků a oddílů na linuxové soubory zařízení. Obsah tohoto souboru se vyplatí zkontrolovat, protože jeho nesprávný obsah bývá častým zdrojem problémů. Obsah souboru na našem počítači vypadal takto:
(hd0) /dev/hda
Tento záznam říká, že GRUB bude na prvním disku (hd0) hledat své zaváděcí soubory a obraz jádra. Disk (hd0) se v Linuxu hlásí jako zařízení /dev/hda. Vše je tedy v pořádku, protože mapování disků je v souladu s konfigurací našeho pokusného počítače.
Abychom nemuseli při každém bootování počítače zavádět Linux ručně z konzole GRUBu, vytvoříme si jednoduchý konfigurační soubor /boot/grub/menu.lst, resp. /mnt/hdd/boot/grub/menu.lst. Tento skript zajistí zobrazení nabídky a umožní nám vybrat si co a z jakého oddílu chceme zavést.
Příklad jeho obsahu našem pokusném počítači:
# # Boot menu configuration file # # Boot automatically after 5 secs. timeout 5 # By default, boot the first entry. default 0 # For booting GNU/Linux title Boss Linux root (hd0,0) kernel /boot/vmlinuz-2.6.35.13-rc1 root=/dev/hda1 rw quiet
Význam jednotlivých položek:
- timeout - v sekundách zadaná prodleva před zavedením výchozího systému.
- default - číslo záznamu, který bude vykonán po vypršení prodlevy.
- title - název volby v menu GRUBu.
- root - příkaz, který určí na kterém diskovém oddílu se nachází jádro.
- kernel - blíže specifikuje cestu k jádru a předává jádru parametry jeho příkazové řádky.
Úspěšnou instalací zavaděče můžeme ukončit instalaci naší linuxové distribuce. Vyjmeme CD s live distribucí Linuxu a resetujeme počítač. Z harddisku by měl naběhnout zavaděč GRUB, resp. mělo by se zobrazit jeho menu. Po výběru položky s naší distribucí by se mělo začít zavádět jádro.
V případě problémů se zavedením zavaděče, resp. se zavedením jádra, využijeme s ohledem na specifičnost takových problémů informace dostupné na internetu.