Produkty Novinky Články Návody Kontakty

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:
  1. Připravit harddisk v pokusném počítači.
  2. Přenést distribuci a jádro
  3. 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:
  1. Spustíme počítač a necháme jej nabootovat z CDROM s live distribucí.
  2. 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.
  3. 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:
    1. # fdisk /dev/hda
      
    2. 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
      
    3. 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
      
    4. Nastavíme tento oddíl jako bootovací:
      Command (m for help): a 
      Partition number (1-4): 1
      
    5. Zapíšeme provedené změny do tabulky MBR na harddisku a ukončíme fdisk:
      Command (m for help): w
      
    6. Vytvořený oddíl bude dostupný pod názvem /dev/hda1.
  4. 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.
  5. 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:
  1. 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”.
  2. 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/
    
  3. V dalších krocích budeme pracovat přímo na pokusném počítači.
  4. 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.
  5. 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.
  6. 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ěčeInformationZavaděč 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.