07 Bootovanie

Download Report

Transcript 07 Bootovanie

Bootovací proces
Ing. Butkovský
Bootovací proces
• OBSAH
–
–
–
–
1. Bootovanie
2. Spustenie Linuxu pomocou GRUB
3. Spustenie Linuxu pomocou LILO
4. Prechod zo zavádzača LILO k zavádzaču
GRUB
– 5. Bootovací príkazový riadok
1. Bootovanie
• 1. Bootovanie
– samozavádzací program, ktorý začína z ničoho
a skončí spustením plnohodnotného operačného
systému
– skúma procesy, ktoré sa vykonávajú pri zapnutý
počítač a konfiguračné súbory, ktoré sa
načítavajú do pamäte RAM
– pripraví sieťový hardware na komunikáciu a
spúšťa sieťové démony
1. Bootovanie
Viacstupňová procedúra
• 1) začína v ROM BIOS načítaním Master Boot Record
sektora, ktorý sa nachádza na 0 stope a 0 cylindri
pevného disku
• 2) Bootovací sektor MBR obsahuje linuxový zavádzač
GRUB alebo LILO, ktorý načíta jadro linuxu
• 3) Jadro spustí proces INIT, ktorý načíta ostatné
linuxové služby
1. Bootovanie
1. Bootovanie
• Podrobnejší návod:
• 1) V BIOSe sa nakonfiguruje zariadenie, z ktorého sa
bude bootovať a nastavíte poradie bootovania.
BIOS načíta bootovací sektor MBR
• 2) Samozavádzací program uložený v MBR sektore
načíta jadro operačného systému
– hardisky môžu mať maximálne 4 primárne partície a každá
primárna partícia môže mať bootovací sektor.
– Hlavný bootovací sektor Master Boot Record je iba jeden
2. Spustenie Linuxu pomocou
GRUB
• Popis vlastností zavádzača GRUB
– Ubuntu 11.04 používa verziu GRUB 1.99
– nainštalovaný počas inštalácie linuxu
– používa nasledujúce súbory a adresáre
• /boot/grub/grub.cfg !!! tento súbor sa needituje !!!
• /etc/default/grub
!!! tento súbor sa edituje !!!
• /etc/grub.d/
!!! spúšťajú sa skripty !!!
2. Spustenie Linuxu pomocou
GRUB
• Konfiguráčný súbor /boot/grub.cfg
• grub.cfg je samostatne vytváraný a obnovovaný príkazom
$ sudo update-grub
• skripty /etc/default/grub a /etc/grub.d obsahujú
informácie pre tvorbu skriptu /boot/grub/grub.cfg
• súbor /boot/grub/grub.cfg je len pre čitanie
2. Spustenie Linuxu pomocou
GRUB
• Konfiguráčný súbor /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
GRUB_DEFAULT=0
# vybere prednastavenú položku podľa pozície v menu
GRUB_TIMEOUT=10
# nastavuje čas v sekundách pred tým ako sa spustí OS
GRUB_HIDDEN_TIMEOUT=0
ak je na počítači iba jeden operačný systém , nastavuje sa čas skrytého
(nezobrazeného) menu
2. Spustenie Linuxu pomocou
GRUB
• Konfiguráčný súbor /etc/default/grub
GRUB_HIDDEN_TIMEOUT_QUIET=true
# true –odpočítavanie sa nezobrazí,
# false – odpočítavanie sa zobrazí na prázdnej obrazovke počas doby
nastavenej v GRUB_HIDDEN_TIMEOUT
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
# určuje označenie pre jednotlivé položky v menu
GRUB_CMDLINE_LINUX=““
# slúži na predávanie vstupných údajov jadru operačného systému pomocou
príkazového riadku
2. Spustenie Linuxu pomocou
GRUB
• Konfiguračný súbor /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash”
# pokiaľ chcete vidieť procesy prebiehajúce na pozadí počas bootovania,
odstráňte "quiet splash”
# pokiaľ chcete vidieť GRUB obrazovku s obmedzenými výpismi, ktoré budú
zobrazené pod logom Ubuntu, napíšte iba ”splash”
#GRUB_TERMINAL=console
# vymazaním # sa vypne grafický terminal
2. Spustenie Linuxu pomocou
GRUB
• Konfiguráčný súbor /etc/default/grub
GRUB_GFXMODE=640x480
# nastaví sa rozlíšenie celého bootovacieho menu
# ďalšie hodnoty môžu byť 800x600, 1024x768, 1600×1200
GRUB_DISABLE_LINUX_RECOVERY=true
# neumožní obnovu jadra Ubuntu v úvodnom menu
GRUB_DISABLE_OS_PROBER="true”
# vypína testovanie alebo prehľadávanie ostatných diskových oddielov, aby
zistil prítomnosť iných operačných systémov
2. Spustenie Linuxu pomocou
GRUB
• Konfiguráčný adresár /etc/grub.d
• obsahuje súbory potrebné pri spúšťaní príkazu
$ update-grub
• súbory sa používajú postupne s najmenším číslom až po
najväčšie a potom podľa abecedy
• všetky súbory (skripty) musia byť spustiteľné
$ sudo chmod u+x /etc/grub.d/meno_suboru
• súbor 00_header
– načítava informácie zo súboru /etc/default/grub (grafické
rozlíšenie, timeout a iné)
2. Spustenie Linuxu pomocou
GRUB
• Konfiguráčný adresár /etc/grub.d
• súbor 05_debian_theme
– nastavuje pozadie, farby textu, témy, profily
– zmena farby na riadku 8 alebo 9
» set menu_color_normal=magenta/black
» set menu_color_highlight=cyan/blue
– zmena pozadia, resp. pridanie obrázku na riadku 16
» for i in {/boot/grub,/usr/share/images/desktop-base}/menoobrázku.{png,tga} ;
» obrázok treba skopírovať do adresárov uvedených v { }
» obrázok musí mať príponu png alebo tga
2. Spustenie Linuxu pomocou
GRUB
• Konfiguráčný adresár /etc/grub.d
• súbor 10_hurd
– určuje umiestnenie jadra
• súbor 10_linux
– určuje jádra založená na "lsb_release -i -s„
• súbor 20_memtest86+
– do menu bude pridaná položka memtest86+ pokiaľ súbor
/boot/memtest86+ existuje
• súbor 30_osprober
– hľadá ostatné operačné systémy a zahľňuje ich do ponuky
• súbor 40_custom
– pridávanie vlastných položiek do menu
3. Spustenie Linuxu pomocou
LILO
• Spustenie zavádzača LILO v Ubuntu
– obsahuje 4 kroky
» 1) Inštalácia LILO
$ sudo apt-get install lilo
» 2) Spustenie konfiguračného nástroja liloconfig
$ sudo liloconfig
» 3) Editácia súboru lilo.conf generovaného v bode 2
$ sudo nano /etc/lilo.conf
» 4) Spustenie zavádzača lilo
$ sudo lilo
3. Spustenie Linuxu pomocou
LILO
• 2) Konfiguračný nástroj liloconfig
– spustenie konfiguračného nástroja liloconfig
$ sudo liloconfig
3. Spustenie Linuxu pomocou
LILO
• 2) Konfiguračný nástroj liloconfig
3. Spustenie Linuxu pomocou
LILO
• 2) Konfiguračný nástroj liloconfig
– v súbore /etc/fstab je potrebné vymazať parameter
UUID a nastaviť rootovací súborový systém linuxu
– postup:
» 1) otvorte súbor /etc/fstab
$ sudo nano /etc/fstab
» 2) nájdite parameter UUID a vymažte ho
» 3) nastavte rootovací filesystem /dev/sda5
3. Spustenie Linuxu pomocou
LILO
• 2) Konfiguračný nástroj liloconfig
– editácia súboru /etc/fstab
3. Spustenie Linuxu pomocou
LILO
• 2) Konfiguračný nástroj liloconfig
3. Spustenie Linuxu pomocou
LILO
• 2) Konfiguračný nástroj liloconfig
3. Spustenie Linuxu pomocou
LILO
• 2) Konfiguračný nástroj liloconfig
3. Spustenie Linuxu pomocou
LILO
• 2) Konfiguračný nástroj liloconfig
3. Spustenie Linuxu pomocou
LILO
• 2) Konfiguračný nástroj liloconfig
3. Spustenie Linuxu pomocou
LILO
• 3) Konfiguračný súbor /etc/lilo.conf
– konfiguračný súbor /etc/lilo.conf má niekoľko menších
častí
» nastavenie globálnych parametrov systému
» nastavenie parametrov jadra
» nastavenie parametrov jednotlivých častí
operačných systémov
3. Spustenie Linuxu pomocou
LILO
• Nastavenie globálnych parametrov systému
# global options:
boot=/dev/hda lilo je uložené na pevnom disku hda
prompt
zobrazí bootovaciu výzvu
timeout=150
definuje čas, počas ktorého môže
užívateľ vybrať položku menu
vga=normal
nastavenie textového režimu počas
bootovania (normal: 80x25, extended:
80x50, ask: zadá užívateľ)
root=/dev/hda1 definuje umiestnenie rootovského
systému súborov
3. Spustenie Linuxu pomocou
LILO
• Nastavenie globálnych parametrov systému
# global options:
read-only
rootovský súborový systém
môže byť pripojený ako read-only
menu-title=" John’s PC " určuje názov menu s položkami
bitmap=subor
nastavenie súboru pre pozadie
640x480x16 alebo 640x480x256
password=heslo
povolí bootovanie až po zadaní
správneho hesla
default=image
určuje prednastavený bootovací
image
3. Spustenie Linuxu pomocou
LILO
• Nastavenie parametrov jadra
# bootable kernel images:
image=/boot/zImage-1.5.99
určuje umiestnenie jadra linuxu
label=try
definuje označenie, ktoré sa objaví ako položka
v menu zavádzacieho programu
initrd=initramdisk.img
určuje ramdisk, ktorý sa nahrá do pamäte RAM
s jadrom
obraz obsahuje potrebné moduly pre sieť a
SCSI
3. Spustenie Linuxu pomocou
LILO
• Nastavenie parametrov jadra
# bootable kernel images:
root=/dev/hdb2
definuje umiestnenie rootovacieho systému
súborov
append=reťazec
parametre hardweru sa odovzdávajú jadru OS
Príklad:
append = "mem = 96m hd = 576,64,32 console = ttyS1, 9600"
3. Spustenie Linuxu pomocou
LILO
• Nastavenie jednotlivých častí
# other operating systems:
other=/dev/hdb1
label=Windows XP
boot-as=0x80
other=/dev/hdb5
label=os2
table=E:
definuje daľší OS
názov položky v menu
kód BIOSu priradený k
bootovaciemu OS
na disku C
definuje ďalší OS
názov položky v menu
určuje zariadenie, ktoré
obsahuje tabuľku oddielov
bude viditeľné ako E
4. Prechod zo zavádzača LILO
k zavádzaču GRUB
• Zmena zavádzača LILO na GRUB
– Inštalácia GRUB
$ sudo apt-get install grub
$ sudo grub-install /dev/sda
$ update-grub
– Odstránenie LILO
$ sudo apt-get remove lilo
5. Bootovací príkazový riadok
• Zmena bootovania
– bootovanie sa modifikuje vstupnými údajmi, ktoré sa
zadávajú do príkazového riadku
» GRUB používa príkaz kernel
» LILO používa voľbu append
– Bootovací príkazový riadok sa používa pri
» opravách systému
» zfunkčnenie nefunkčného zariadenia
» odlaďovanie vstupu , ktoré bude uložené v
konfiguračných súboroch
5. Bootovací príkazový riadok
• Zmena bootovania
– Syntax príkazu kernel
$ kernel file argumenty
– Príklady:
$ kernel /boot/vmlinuz-2.4.7-10 ro root=/dev/hda3
– Syntax voľby append
append=reťazec
– Príklady:
append=“reserve=0x300,32 ether=0,0x300,eth1”
append=“reserve=0x340,32 ether=0,0x340,eth0”
reverse=I/O adresa, číslo portu
ether=IRQ, I/O adresa,názov sieťovej karty
5. Bootovací príkazový riadok
• Zmena bootovania
– Jadro sa načíta do pamäte RAM a inicializuje rôzne sieťové
ovládače hardvérových zariadení
– Zobrazovanie správ jadra
$ dmesg | grep eth0
– Keď jadro dokončí svoju časť bootovacieho procesu,
spustí sa program init