abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 17:00 | Nová verze

Byla vydána vývojová verze 2.99.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP. Jedná se o další krok směrem k verzi 3 postavené na GTK 3. Přehled novinek i s náhledy v oznámení o vydání a v souboru NEWS na GitLabu. Stabilní verze je 2.10.24.

Ladislav Hagara | Komentářů: 0
dnes 09:00 | Zajímavý projekt

Stephen Holdaway představil svůj projekt Výběr operačního systému při bootování pomocí hardwarového přepínače. Nechtělo se mu čekat na zobrazení GRUBu a následně hledat a vybírat Windows, tak si pomohl pomocí desky s mikrokontrolérem STM32 a páčkového přepínače. Deska se tváří jako USB disk na kterém je umístěn soubor obsahující 0 nebo 1 podle polohy přepínače. GRUB při bootování tento soubor načte a podle obsahu vybere Linux nebo

… více »
Ladislav Hagara | Komentářů: 9
včera 23:55 | Komunita

Blender Foundation zveřejnila dvaatřicetistránkovou Výroční zprávu za rok 2020 (pdf).

Ladislav Hagara | Komentářů: 1
včera 20:11 | Nová verze

Byla vydána nová major verze 5, přesněji 5.0.0, webového frameworku Bootstrap (Wikipedie). Přehled novinek v příspěvku na blogu.

Ladislav Hagara | Komentářů: 5
včera 14:55 | IT novinky

Správce české národní domény, sdružení CZ.NIC, zaevidovalo včera po 21. hodině doménové jméno s pořadovým číslem 1 400 000. Od začátku roku vzrostl počet domén s českou národní koncovkou o 28 434.

Ladislav Hagara | Komentářů: 8
včera 10:00 | Nová verze

Byla vydána nová verze 1.56 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.56 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

Ladislav Hagara | Komentářů: 13
včera 09:00 | Komunita

Na YouTube byl zveřejněn záznam z Fedora 34 Release Party konané v sobotu 1. května.

Ladislav Hagara | Komentářů: 6
včera 08:00 | Nová verze

Framework Qt byl vydán ve verzi 6.1. Ta přidává nové funkce a doplňuje další moduly, které chyběly ve vydání 6.0. Více v seznamu nových vlastností nebo poznámkách k vydání.

Fluttershy, yay! | Komentářů: 1
včera 07:00 | Nová verze

Byla vydána verze 1.52.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 0
6.5. 22:00 | Zajímavý software

Implementace Pythonu a forky CPythonu: Pyston a Cinder. Pyston byl vydán ve verzi 2.2. Nově zcela open source. Vychází ze stejnojmenného ukončeného projektu Dropboxu. Cinder je pro změnu open source projekt Facebooku. Interně jej používá Instagram.

Ladislav Hagara | Komentářů: 0
Transakční aktualizace
 (10%)
 (5%)
 (8%)
 (4%)
 (10%)
 (64%)
Celkem 105 hlasů
 Komentářů: 0
Rozcestník

GRUB 2 – nová generace zavaděče Linuxu

2. 3. 2011 | Luboš Doležel | Návody | 19927×

GRUB 2 je nová řada jistě nejrozšířenějšího zavaděče Linuxu. Podíváme se na možnosti jeho nastavení.

Obsah

Nový GRUB se pyšní podporou platforem jiných než x86, vlastním jazykem pro skriptování nebo možností překladů do místního jazyka. Zároveň se celý software ještě více modularizoval. Nesmíme zapomenout na tu zásadní změnu, že GRUB už není založen na editaci jediného souboru s nastavením, ale snaží se usnadnit proces strojové úpravy nastavení GRUBu. Doposud toto záviselo na citlivém přístupu nástroje, který konfigurační soubor upravoval, teď už je proces zautomatizovaný a přirozený. Nic vám nicméně nebrání tuto novinku zavrhnout a začít si vše psát sám ručně, tomu se ale věnovat nebudeme.

Zjednodušené nastavení

link

Na /boot/grub/menu.lst nebo grub.cfg tedy zapomeneme, minimálně v Debianu se v tomto adresáři nachází cosi jako skládka modulů a dalších souborů. grub.cfg sice nadále existuje, ale je strojově generován. Zjednodušená konfigurace se na Debianu nachází v /etc/default/grub a je místem, kam uživatel sahá asi nejčastěji – ukázka souboru:

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="ieee80211_regdom=EU"

Popis vybraných proměnných

link
  • GRUB_DEFAULT – výchozí aktivní položka v bootovacím menu (počítáno od nuly), kompletní název výchozí položky (to je poněkud trvalejší) nebo speciální hodnota saved, což znamená poslední použitá položka (při použití saved ještě nastavte GRUB_SAVEDEFAULT=true)
  • GRUB_TIMEOUT – jak dlouho bude GRUB čekat na výběr položky ke spuštění, než bude spuštěna ta výchozí. Tomu se podobá GRUB_HIDDEN_TIMEOUT, což je to samé, akorát bez zobrazení menu; to je aktivováno stiskem klávesy.
  • GRUB_DISTRIBUTOR – text, který se použije v GRUBu pro vytvoření „informativnějších“ položek
  • GRUB_CMDLINE_LINUX – jaké parametry jádra mají být přidány ke všem položkám linuxových jader
  • GRUB_CMDLINE_LINUX_DEFAULT – extra parametry nepouživané u položek pro obnovu (recovery) systém. Užitečné, pokud nejsou zakázány dodatečné položky pro obnovu systému (zakáže se pomocí GRUB_DISABLE_RECOVERY) generované pro každé jádro, pro každé jádro se tedy v menu objevují hned dvě položky.
  • GRUB_DISABLE_LINUX_UUID – hodnota true zakáže používání UUID pro označení disků
  • GRUB_GFX_MODE – videorežim (například 640x480) použitý v GRUBu, lze použít jen režimy podporované přes VBE. Ty lze zjistit příkazem vbeinfo v GRUBu. Režimů je možné nabídnout více, v dokumentaci je jako příklad 1024x768x32,800x600x32,640x480x32,1024x768,800x600,640x480.
  • GRUB_BACKGROUND – obrázek na pozadí GRUBu, lze použít formáty PNG, TGA a JPG. Velikost bude změněna automaticky dle potřeby.
  • GRUB_COLOR_NORMAL a GRUB_COLOR_HIGHLIGHT – nastavení barev:
    GRUB_COLOR_NORMAL="light-blue/black"
    GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
    
  • GRUB_THEME – adresář, jehož obsah detailněji ovlivní vzhled GRUBu. Může tam být obrázek s pozadím, font ve formátu PF2
  • ...a ještě řada dalších voleb, více v info -f grub -n 'Simple configuration'

Pro aplikaci změn je nutné spustit

update-grub

Případně pokud chceme GRUB někam nainstalovat, je tu grub-install nebo grub-setup (ten už jen zapisuje do bootovacího sektoru).

Pokročilejší nastavení

link

Výše uvedené parametry ale nejsou skutečnými parametry GRUBu, jen jsou do nich překládány. Tím se dostáváme k adresáři /etc/grub.d, kde je vidět řada skriptů:

00_header
05_debian_theme
10_linux
20_linux_xen
30_os-prober
40_custom
41_custom

Tento adresář je používán tak, že všechny skripty v něm jsou příkazem update-grub spuštěny v pořadí podle abecedy a jejich výstup je spojen do souboru /boot/grub/grub.cfg. Tento princip umožňuje elegantní automatické vytváření položek v menu. Podle dokumentace jsou čísla na začátku názvů skriptů vyhrazena takto:

  • 00_* – vyhrazeno pro hlavičku
  • 10_* – vyhrazeno pro nativní systémy
  • 20_* – vyhrazeno pro další aplikace (jako memtest)

Do skriptů od nuly až po 30 nebudeme sahat, ale vysvětlíme si fungování. 00_header a 05_debian_theme používá hodnoty z výše popsaného /etc/default/grub a „překládá“ je v příkazy GRUBu. 10_linux je skript, který prohledá /boot a podle toho vygeneruje položky menu s jádry Linuxu. Něco podobného je 20_linux_xen. Zajímavá magie se skrývá v 03_os-prober, což je skript spouštějící nástroj os-prober. Tento skript a program dovedou společně identifikovat ostatní systémy na vašich discích, ať jsou to Windows 7 nebo GNU/Hurd.

Pěkné je, že pokud jakýkoliv z těchto skriptů spustíme, vypíše se nám orientačně obsah, který půjde do grub.cfg:

# ./10_linux 2>/dev/null
menuentry 'GNU/Linux, with Linux 2.6.36-trunk-amd64' --class gnu-linux --class gnu --class os {

        echo    'Loading Linux 2.6.36-trunk-amd64 ...'
        linux   /vmlinuz-2.6.36-trunk-amd64 root= ro  
        echo    'Loading initial ramdisk ...'
        initrd  /initrd.img-2.6.36-trunk-amd64
}
...

Je to jen pro rychlou kontrolu, co za položky tam jde, protože update-grub (respektive grub-mkconfig) ještě nastavuje důležité parametry, takže tady na první pohled chybí hodně parametrů. Do grub.cfg se pak ve skutečnosti dostane toto:

menuentry 'Debian GNU/Linux, with Linux 2.6.36-trunk-amd64' --class debian --class gnu-linux --class gnu --class os {
        insmod part_msdos # Načtení modulu pro podporu DOSových diskových oddílů
        insmod ext2       # Podpora ext2 v /boot
        set root='(hd0,msdos1)'
        search --no-floppy --fs-uuid --set=root fa9f8e4d-dada-4081-b39b-71eb9f430422
        echo    'Loading Linux 2.6.36-trunk-amd64 ...'
        linux   /vmlinuz-2.6.36-trunk-amd64 root=UUID=bcc8f862-9c88-444a-b1d1-efee7e3171e0 ro ieee80211_regdom=EU quiet
        echo    'Loading initial ramdisk ...'
        initrd  /initrd.img-2.6.36-trunk-amd64
}

Toto je do značné míry samopopisné... Příkaz set root nastaví, na jakém oddílu se má hledat jádro a initrd, příkaz search pod tím dělá to samé, ale hledá ještě pomocí UUID. Pozor si dávejte na to, že zatímco disky jsou nadále číslovány od nuly, oddíly jsou číslovány od jedničky! (hd0,1) tedy odpovídá /dev/sda1.

Alternativně lze pro vyhledání disku použít i jeho popisek (nastavený například pomocí tune2fs -L), /boot pak najdeme takto:

search --label --no-floppy --set=root NášPopisek

Pokud si budeme chtít napsat vlastní položky do menu, měli bychom je zapsat do 40_custom. Tento skript má v hlavičce nastaveno, že má vypsat svůj vlastní obsah, takže můžeme na konec souboru rovnou připisovat.

Ostatní OS

link

Modulů je celá řada. Takto můžeme nabootovat například FreeBSD:

insmod part_bsd      # Podpora BSD slices
set root(hd0,1,a)    # Oddíl se zavaděčem
freebsd /boot/loader # Spuštění zavaděče

Windows se spouštějí následovně (a takto lze ostatně spustit i výše uvedené FreeBSD):

insmod part_msdos
set root=(hd0,1)
chainloader (hd0,1)+1

Jestliže má náš proprietární systém problém s tím, že není na prvním disku, i v GRUBu 2 je možné oddíly přemapovat:

drivemap -s hd0 hd2

Bootování ze sítě

link

Nejprve spustíme

grub-mkimage --format=i386-pc-pxe --output=grub.pxe --prefix='(pxe)/boot/grub' pxe pxecmd

což nám vytvoří v aktuálním adresáři soubor grub.pxe. Ten nakopírujeme na náš TFTP server a v DHCP serveru nastavíme, aby tento byl nabízen jako soubor k bootování. Dále na TFTP server nakopírujeme obsah /boot/grub/*.mod a /boot/grub/*.lst, a to do podadresáře /boot/grub.

Chceme-li použít gPXE, stáhneme si z rom-o-matic.net obraz gPXE ve formátu linuxového jádra (.lkrn) a použijeme například tento příkaz pro jeho načtení:

linux16 /boot/gpxe.lkrn

LVM a RAID

link

GRUB 2 podporuje skrze stejně pojmenované moduly i RAID a LVM. Takto určíme, kde hledat jádro uložené kdesi na oddílu LVM:

insmod lvm
set root=(SkupinaLVM-NázevLogickéhoOddílu)

Elegantní je i práce s RAID polem. Pokud máme /boot na zařízení md1:

insmod raid
set root=(md1)

A pokud je jádro schované v souborovém systému na md1p1:

insmod raid
set root=(md1,1)

Další informace

link

Jedna z hezkých věcí na GRUBu je to, že i když zapnete počítač a v jeho menu něco chybí, nejste úplně bezmocní díky jeho příkazovému rozhraní. Řada příkazů se však změnila, proto si určitě projděte nový seznam příkazů. Wiki GRUBu je ale plná i řady dalších nepostradatelných informací a návodů.

GRUB 0.9x se nyní nazývá GRUB Legacy. Nové verze už v této řadě nejsou vydávány.

       

Hodnocení: 90 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

2.3.2011 01:16 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Pěkný článek (jen bych upravil to /boot najdeme pomocí NášPopisek). Ale když to tak čtu a když jsem se s GRUBem2 nedávno zabýval, tak mám dycky pocit: "Tohle řídí atomovou elektrárnu? Nebo je to vlastní operační systém? Ne, to jenom zavádí systém :-)".

Legacy GRUB byl/je pro mně ideální kompromis mezi složitostí a funkcionalitou. Jeden konfigurační soubor, pár stage souborů a uživatelsky příjemné rozhraní ať už při bootu nebo v systému. Pravda, chyběla tomu podpora RAID5,6, pořádné bootování ze sítě, ale zase jsem byl schopen nabootovat grub z CD, vlézt na lokální disk, opravit instalaci grubu a spustit OS. Když tady vidím, jak se konfigurační soubor dělá pomocí sady skriptů, které generují jeho fragmenty a ještě pak mám defaultní volbu 0, tak se děsím, že jednou z toho místo konfiguráku vyjede kočkopes jak Brno (bez urážky kočkopsa případně Brrrrrna)...

Kacířská myšlenka na závěr. V Linuxu už přece jsou mechanismy na zavedení jiného jádra, proč tedy místo grubu nepřipravit nějaký Linux, který nabootuje (najde se stejným způsobem jako se teď hledá GRUB a jeho moduly), rozjede všechny periferie, všechno najde, nějakým pěkným způsobem dá uživateli vybrat (třeba včetně videa, zvuku a youtube, když uživatel bude chtít) a pak prostě nenačte ty dva soubory a kernel parametry k nim a nespustí to? A když se něco poto, tak si v konzoli opravím, co budu chtít...
2.3.2011 01:32 Sten
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
GRUB2 z hlediska definice operačního systému je operační systém, kterým by bylo možné řídit atomovou elektrárnu :-)

Automatické generování konfiguráku pro GRUB Legacy používal už Red Hat 7 (a možná i dřív, tam si to už nepamatuju). Na druhou stranu ten konfigurák si samozřejmě stále můžete napsat ručně ;-)

Protože GRUB2 musí spolupracovat s BIOSem (a to ve stage 1 jenom pomocí 440 bajtů) a přepnout se do 32-bitového režimu, aby spustil sebe a potom Linux. Na druhou stranu pokud máte kompatibilní desku, tak není problém přidat Linux jako payload pro coreboot (přímo na desku) a GRUB úplně vynechat.
2.3.2011 01:50 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Ano, automatické vytváření grub.conf je například v RedHatu/Fedoře už dlouho. Jenže funguje tak, že se poměrně sofisitkovanou metodou edituje ten jeden konfigurák a všechny změny v něm jsou tak nějak akceptovány. Na začátku souboru byla v komentáři šablona, která se používala a pokud jsem třeba jen upgradoval kernel, tak se upravoval starý zaznam za nový tak, že se změnily názvy souborů. Prostě to fungovalo, do toho souboru jsme šahali oba, já i grubby (tak se ta věc tuším jmenuje) a nebyl problém se dohodnout :-)

Co se týče té spolupráce s BIOSem, to musí řešit GRUB stejně jako kdokoliv jiný. Jen Lilo se bylo schopné namačkat do těch pár bajtů. Ale už legacy grub to dělá tak, že má stage1, která funguje jako staré lilo (natvrdo zadrátované načti z disku 0x80 bloky x,y,z a spusť je) a tím se nahraje stage 1.5, která pak obdobně nahraje už kompletní stage2. Systém už je dávno v 32bit režimu a už je poměrně pěkně nažhavený. V tu chvíli už je jedno, jestli načte 300KB stage2 nebo 5MB kernelu...
2.3.2011 01:29 Gilhad | skóre: 20 | blog: gilhadoviny
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Kdyz to vidim, tak u legacy vydrzim tak dlouho, jak jen bude mozne. S trochou stesti i najdu cestu, tak ten novy trvale vymaskovat.
2.3.2011 15:50 ojel
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
+1
Chytrex avatar 2.3.2011 23:24 Chytrex | skóre: 30 | Bohumín
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
+1
Hrdý člen KERNEL ULTRAS .:. define QUESTION ((bb) || !(bb)) .:. Odmítám vaši realitu a nahrazuji ji svou vlastní..
5.3.2011 11:06 Petr Ježek | skóre: 10
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Chápu, kyj je také jednoduchý argument...
Archlinux for your comps, faster running guaranted!
7.3.2011 23:48 Gilhad | skóre: 20 | blog: gilhadoviny
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Legacy mi nabootuje pocitac k plne spokojenosti a snadno se konfiguruje.

GRUB2 mi neprinasi zadny uzitek navic, zato jeho konfigurace je podstatne slozitejsi, mene prehledna a zaneradena nejruznejsimi automatizmy, ktere nepotrebuju, ale pro jejichz vyrazeni bych je musel slozite studovat.

Takze mi reknete, proc bych mel prechazet? Jen proto abych byl desne IN a mel s tim zbytecnou praci navic? To mi za to nestoji. Jen proto, ze se nekdo programoval s necim, co jsem po nem nikdy nechtel? Jeho volba, ne moje.

(To, ze nekdo jiny ma nejake jine pozadavky, kvuli kterym mu to za to stoji je argument, proc by mel prejit on, nikoli ja.

Stejne tak jestli ja si na svem pocitaci zamaskuju nejakou nepotrebnou featuru, tak to dotycnemu nijak nepomuze ani neuskodi.)
2.3.2011 01:36 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
GRUB2 je jedna z věcí, u které jen tiše doufám, že se nerozbije. Pokud se mi totiž rozdrbe z nějakého důvodu starý GRUB, tak jej za pár minut mám zase v kupě, případně ručně nabootuju jádro z konzole třemi snadno zapamatovatelnými příkazy. Ale GRUB2? Tam jsem rád, že distro za mně přidá do zavaděče nové jádro samo od sebe a nemusím se tím probírat.

Hádám, že nejsem daleko od wrapperu, který bude číst staré menu.lst a generovat z něj konfiguraci pro GRUB2 :-)
Píšu pro Pivní recenze a protože mě to IT už fakt nebaví, tak jsme si s klukama postavili pivovar Lucky Bastard
2.3.2011 02:25 2X4B-523P | skóre: 38 | blog: Zelezo_vs_Debian
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
podle mého je oprava grubu a grubu2 stejná, navíc grub2 se nerozbije, ale bývá rozbit něčím :-)
2.3.2011 03:47 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Dá se z grubu2 grub2 nainstalovat do MBR? Aka příkaz setup v legacy?
2.3.2011 08:50 RoboShim
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Ano, tohle je dobra otazka. V legacy jsem vzdy vlezl do grub console, root(hd0,0), setup (hd0). Tohle v grub2 nejde.

V grub2 existuje pouze prikaz grub-install. Bohuzel z Ubuntu LiveCD hlasi chybu, ze grub-osprober nemuze zjistit rootfs. Takze je nutne nainstalovat grub s parametrem --root-directory, napr. do "/mnt/disk/boot" pripojit oddil a pak spustit grub-install --root-directory=/mnt/disk hd0. Tim se nainstaluje do MBR a moduly ulozi do adresare grub na pripojenem oddile.

Dalsi problem je s konfiguraci - chtel jsem konfiguraci vyegenrovat pomoci grub-update nebo grub-mkconfig, ale zase problem s rootfs.

Tak jsem grub.cfg napsal sam. V tom opravdu neni nejak moc velky rozdil od grub legacy, akorat je to trosku logicky udelane. Nejsou uz prikazy "default" nebo "timeout" nebo "root", ale jsou to promenne, takze "set timeout=5", "set default=0" a "set root=(hd0,0)" (dost lze vycist ze skriptu v /etc/grub.d. Bohuzel dokumentace na gnu.org neni kompletni, takze chybi napr. popis prikazu sleep - time je totiz resen hidden timeout (pokud se podivate do /etc/grub.d, tak to tam najdete).

Trosku jinak se definuji polozky, ale zas tak jine to neni. Hlavni problem je v tom, ze se cloveku zda slozity ten system na generovani menu (ale nic vam nebrani ty soubory v /etc/grub.d smazat a psat si grub.cfg sam) a take je tam ta spousta modulu. Tam je dulezite vedet, co bude grub potrebovat. Sam pri instalaci by mel grub zjistit, ze potrebuje napr. ntfs modul pro pristup do /boot/grub a mel by ho pripojit core.img. Pokud pak budete chtit nejakou funkci, tak musite v cfg nacist modul (napr. pro pristup na lvm musite nejdriv nacist lvm modul).

Co se tyka opravovani, rekl bych, ze grub2 je na tom lepe. Muzete nastavit pager (set pager={0|1}) a pak vypisy budou po strankach. Ten grub2 shell vypada opravdu dost dobre, da se v nem skriptovat.

Akorat se clovek nesmi bat.

Ja jsem ted potreboval grub ulozit na ntfs na windows vista, abych mohl bootovat z NTFS ubuntu livecd iso image. S grub legacy by to neslo, protoze legacy nema stage1_5 pro ntfs. Grub2 ma podporu ntfs, takze jsem na disk nainstalovat grub2, napsal vlastni konfigurak a ted pri startu notebook grub2 ceka 5 sekund a kdyz uzivatel nic neudela, tak se bootnou windows (pro manzelku:)) a kdyz drzim shift pri startu nebo behem 5 sekund stisknu ESC, tak mi nabehne normalne grub a tam si vyberu ubutnu live cd nebo knoppix dvd.
2.3.2011 12:51 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Díky, moc pěkné shrnutí.

K těm modulům, proč se do grubu defaultně nenahrají všechny? Určitě nezabírají tolik a když se loadují na požádání, tak by se neměly ani nijak omezovat navzájem. Tohle už jsme si jednou prošli s kernelem, proč se grub nepoučí v minulosti? Nejdřív kernel musel mít přímo v sobě ovladače od věcí, ze kterých boootval. Pak přišlo initrd a mkinitrd, který na initrd nahrál, co bude potřeba. Co já se s ním natrápil, ať mi na initrd nahraje všechny možné drivery, které kdy budu potřebovat* :-( A teď přijde dracut, kde konečně jsou všechny moduly a funguje to krásně. Proč grub2, když už musí mít moduly, neskočí rovnou do fáze dáme tam všechny?

*) Server bootuje z flashky, myšlenka je, že ať strčím flashku do jakéhokoliv hardware, tak se server rozjede. To připadá jednoduché ne? Ale zkuste na initrd dostat drivery od všech řadičů, raidů a síťovek (pro síťový boot), když mkinitrd, pokud ho neumlátim parametrama, tupě nainstaluje jeden od řadiče, jednu síťovku a ještě třeba jen raid0, ale ne raid1...
2.3.2011 14:30 Ivan
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Tohle taky nechapu, pritom to vubec neni zadny problem. Vubec neni potreba nic vymyslet, staci se podivat jak bootuji komercni Unixy, anebo Windows. (dokonce i Wonka to maji vymysleny lip).
2.3.2011 15:13 Aleš Kapica | skóre: 50 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
O něco níže odkazuji na naši wiki, tam se řadu odpovědí na své otázky dočteš.

Jen ve stručnosti k tomu proč se moduly nenahrají defaultně všechny - protože zas tolik místa pro "first stage" ten grub nemá a pak už je jich v podstatě většina zbytečná.
2.3.2011 19:16 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Rád si tu wiki pročtu. Proč řeším ty moduly. Hodně by se mi líbilo, aby mi grub bootoval ze sítě se sadou různých utilit a tak. Kdyby k tomu zvládnul i boot z ISO někde na serveru, totálně super (ale to chápu že už asi chci moc). Dřív jsem to měl přes grub 0.95 s nějakým patchem pro UNDI, protože "nativní" ovladače pro síťovky v grubu s novým HW nefungovali. Pak jsem ovšem narazil, když jsme oddělili DHCP server od TFTP, to ta kombinace nějak nezvládla. Gpxe mi nějak záhadně zlobí a rád bych něco funkčního, Zkoušel jsem i GRUB2, ale nějak jsme nedali to velké množství modulů, které si nebyl schopný přes TFTP vylistovat (protože to TFTP neumí). Proto by se mi líbila jedna binárka, která bude umět všechno a bude to jeden soubor. Když si vezmu, že kernel má bzipovaný třeba 5MB, tak něco, co umí výrazně méně nemůže být o moc větši a v tšchto velikostech by snad problém být neměl...
2.3.2011 20:24 Aleš Kapica | skóre: 50 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Grub2 1.97 sice lze zavadet bezdiskove, ale ma problem v tom, ze spoustet umi pouze lokalni systemy. Tzn. Ze neumel zavest bezdiskove llinux. Proto jsme pouzili kombinaci pxelinuxu a grub2 (pro lokalni win). Novejsi verze uz to mozna zvlada, ale jeste jsem se k testovani nedostal. Prozatim jsem lousknul otazku jak bootovat do linuxoveho sw raidu typu 1.2 nad kterym bezi lvm a teprve v nem vlastni system.
3.3.2011 02:29 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Rozumim tomu dobře, že GRUB2 neumí stáhnout kernel image a initrd odněkud ze sítě? To by bylo pro mně docela zklamání, musím přiznat.
3.3.2011 07:33 Aleš Kapica | skóre: 50 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Neuměla to verze 1.97, ale vývoj jde dál a 1.99 rc3 je o notný kus dál, takže už to možná umí. Testování je časově náročné a dokumentace pro grub2 docela mizerná. Kdyby ten trouba přešel na git, jak mu bylo doporučováno, tak by to bylo snazší. Dalo by se to totiž dohledat ve zdrojáku. Bohužel na rozdíl od svn bazaar nějak inteligentně aktualizovat do gitu nelze. Nebo já tedy alespoň nevím jak.
3.3.2011 16:21 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Nu pokud je to už RC, tak snad by nějaká dokumentace být mohla. Už v té verzei 0.95, o které jsem psal, která je už hodně stará, jsem dal prostě root (tftp) a voila.... A přiznám se, že tohle by byla hlavní věc, proč bych přecházel na GRUB2. LVM nepoužívám, /boot zásadně dávám maxiálně na raid1 a grafika v legacy grubu mi stačí (čti: vypadá dostatečně pěkně)...
2.3.2011 20:53 Aleš Kapica | skóre: 50 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Dost velký problém je také v tom, jakým způsobem probíhá vývoj GRUB2. Některé postupy, které se dají najít na netu nefungují, protože se změnily jak moduly, tak jejich syntaxe.

Kód správce původně udržoval v svn a pak jej přehodil (z mého pohledu naprosto nesmyslně) na bazaar. Od té doby jsem také přestal tento vývoj sledovat.

Přesto je to kus zajímavého a užitečného software a grub-legacy bych už ani používat nechtěl.
2.3.2011 22:14 skim | skóre: 6
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Boot z ISO souboru.

set root=(DISK)
loopback loop /CESTA_K_ISO_SOUBORU
ZAVADEC (loop)/JADRO
3.3.2011 00:37 Aleš Kapica | skóre: 50 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Předpokládám, že by příkazu mělo předcházet načtení modulu loopback, a iso9660. Tedy..

insmod loopback

insmod iso9960

set root=(DISK)

loopback loop /CESTA_K_ISO_SOUBORU

ZAVADEC (loop)/JADRO
3.3.2011 00:47 Aleš Kapica | skóre: 50 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Pochopitelně, pokud by tyto moduly byly součástí "first stage", tak by toho nebylo třeba.

Jinak pokud jde o velikost "first stage", dost jsem se s tím teďka trápil, než jsem to lousknul.
  • Pokud máte souborový systém rovnou nad diskem, tak je k dispozici pouze 8 sektorů (4096 bajtů).
  • Je-li na disku DOS kompatible tabulka, Tak je k dispozici cca 62 sektorů (31744 bajtů), což už je lepší, ale pokud máte nad diskem SW RAID s meta 1.2, a ještě nad ním LVM a teprve pak systém, tak se vám do toho vleze maximálně ovladač pro ext2. Pro reiserfs už ne.
  • V pohodě je až tabulka non-DOS kompatible, kde začínají data až od sektoru 2048 a tím pádem je tam místa habaděj.
3.3.2011 02:39 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
To vypadá, jako že to namountuje ISO a spustí z něj jeden soubor. Nebo to dělá víc? Na emulaci CDromky to asi nevypadá... Tzn pouze to ušetří práci s extrahováním dvou souborů z ISO, ale to, co se pak nabootuje, potřebuje stejně nějak to ISO najít a použít (pokud mu ty dva soubory nestačí).
3.3.2011 07:41 Aleš Kapica | skóre: 50 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
To ovšem ale není už věcí zavaděče, ale kernelu zaváděného OS. Konec konců např. vzdálené desktopy od vmware fungují nejspíš podobně. Nejprve zavaděč spustí osekaný kernel, který se postará o konektivitu a běh virtualizačního engine, načež začne stahovat a spouštět streamovaný virtuální disk s cílovým OS a daty.
3.3.2011 19:17 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
To je jasné, ale já si pod boot z .ISO souboru představím spíše to, že na flashku/síť nahraju .ISO instalačku od Windows, od Fedory, nějaké WinPE, nějaké LiveCD, .ISO od nástroje k HDD,... a to se mi rozjede stejně, jako bych to .ISO vypálil na médium a strčil do mechaniky.

Tedy, že kromě nějakého spuštění něčeho z toho .ISO se mi i provede emulace CDROMky. Tak jako to například dělá memdisk s obrazy disket. Chápu, že je to hodně náročná věc, která ani tak nespadá do funkcionality bootloaderu, ale je to přesně to, co si představím pod feature "boot z ISO". To, že to na loopback nahodí .ISO a z něj spustí kernel a initrd je příjemné, ale pro mne je to spíš zpohodlnění než nová věc. Pokud už někde mám to .ISO, tak z něj vytáhnout ty dva soubory, to už jsem dělal pro instalačky od Fedory (ikdyž tam jsem je možná bral z PXE instalace :-) ). Ale vzít libovolné .ISO a z něj ElTorrito nabootovat, to by byla killer feature :-)
4.3.2011 12:27 Sten
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Emulace CD ROM se provádí jenom v 16-bitovém režimu, kdy se přistupuje přes BIOS, ale instalace Linuxu i Windows jsou 32-bitové (případně 64-bitové). Emulovat by se to teoreticky dalo přes SMM, ale to je extrémně náročné a pokud možno by se tomu mělo vyhýbat.
2.3.2011 02:11 Holák
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Pro zajímavost: Proč se čeká na roztočení a zkontrolování DVD mechaniky (pokud je cd/dvd uvnitř), když to nikde v konfiguraci nevidím a v biosu je boot z mechaniky až na posledním místě? Je to jen pár sekund, ale je to otrava a taky by mě to zajímalo a neznám odpověď.. Napadá někoho něco? Po roztočení (a patrně zjištění, že na dvd není nic bootovatelného) se načte normálně openSUSE z pevného disku.
2.3.2011 03:05 bn
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
zkus se podivat na serazeni bootovacich medii a pravdpodobne budes mit tu CD/DVD pred HDD, tak ji posun dolu a mas to vyresene :-)
2.3.2011 03:43 Holák
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Kde? Jestli myslíš v biosu, tak jsem psal, že je poslední. Nevím, prolezl jsem všechna obvyklá místa a nikde žádný záznam o mechanice není. Ale mám stále starší verzi grubu, zdá se:) To je dobře. Version: 0.97-171.1
2.3.2011 08:54 CET
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
To bude mozna problem v tom, ze neco rekne "inicializuj device a vrat stav media (vlozeno/prazdne)" no a CD/DVD roztozi medium, ale proste ten proces ceka, nez to mechanika vyridi. Kdyz bootuju notebook, tak to notebook dela i s prazdnou mechanikou, stejne jako to delaji biosy s floppy mechanikou a delaji to i s diskem, akorat je to rychle a nepostrehnes to. V BIOSech je taky volba "enable/disable floppy seek on boot". Tim se to dalo zakazat u disket, ale bohuzel to nejde u CD/DVD. Nejlepsi otevrit mechaniku, protoze to pak snad hned vraci status "nedostupna" nebo tak neco a je to rychle.
Marián Kyral avatar 2.3.2011 09:45 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Díky za článek, možná se mi bude někdy v budoucnu hodit. Momentálně migraci na grub2 nechystám, doufám, že mi grub1 ještě dlouho vydrží, žádnou novinku v Grub2 nepotřebuji. Přejdu asi až v okamžiku kdy, grub1 zmizí z portage.
2.3.2011 13:51 Zdenek Mazanec
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Tak tohle je uplne presne. Kdyz jsem prechazel z lila na grub prisel mi grub zbytecne slozity. Casem jsem mu docela prisel na chut, je to dobra vecicka. Ale grub2, to mi prijde desny kus software. Vzdyt to ma jenom pomoct pri bootovani, nic vic ne?
2.3.2011 15:19 Rivon
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Vždycky jsem jel na Grubu, když pak byl v Debianu Grub2, tak mě to tak akorát sralo. Nefungovalo mi tam nějak nastavení rozlišení v konzoli a celá ta konzole se pak nějak rozbila po nabootování a když jsem se do ní z Xek přepnul, tak se s tím absolutně nedalo. Teď před dvěma tejdnama jsem objevil návod na přechod zpátky na Grub a hned to běží krásně. vga=775 do menu.lst a šmitec... Žádnejch pět proměnnejch v deseti souborech.
2.3.2011 10:01 kip | skóre: 8 | blog: kip | Nový Jičín
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu

V kapitolce Zjednodušené nastavení v prvním odstavci přebývá háček ve slově šahá.

V kapitolce Pokročilejší nastavení je v druhém odstavci elegentní, ve třetím odstavci přebývá háček ve slově šahat, a ve třetím odstavci od konce této kapitolky bych "p" v samopopisné... příkaz nahradil "P", protože mi to připadá jako začátek nové věty.

Luboš Doležel (Doli) avatar 2.3.2011 10:59 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Opraveno, díky.
2.3.2011 11:40 Aleš Kapica | skóre: 50 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Zajímavá shoda náhod. Už nějaký čas spisuji na naší wiki praktický manuál pro GRUB2.
2.3.2011 14:41 Kartelus
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Chybí tu to nejzajímavější, multiboot z .ISO (linux, spouštěč her windows / instalace) a .IMG (freeDOS / reflash firmware)... Vše na jedné klíčence. A ještě by to chtělo pár ukázek funkčních grub.cfg, protože normál se generuje a není tak intuitivní jako ve verzi 1.
2.3.2011 16:22 jdobry | skóre: 9
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Tak tohle by me zajimalo take. Skoda.
2.3.2011 16:12 Marián André | skóre: 10 | blog: Qblog
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Z mojho pohladu medvediu sluzbu pre GRUB2 spravil Debian so svojim prekomplikovanym generatorom (a prekomplikovanym vyslednym grub.cfg) a snahou identifikovat zariadenia pomocou UUID - v dvoch pripadoch z dvoch ma zachranovalo GRML...

Pritom na GRUB Wiki je priklad aj naozaj velmi jednoducheho prikladu...
5.3.2011 11:05 Petr Ježek | skóre: 10
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Ano, to je síla Grubu 2. Máte možnost základní konfigurace, pokud nevyužijete benefity té rozšířené. Mne identifikace podle UUID netrápí a ani Vás nemusí :-) Arch bez os-prober...
Archlinux for your comps, faster running guaranted!
tajny_007 avatar 2.3.2011 19:29 tajny_007 | skóre: 8 | /dev/null
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
jen pokud by někoho zajímalo, jak udělat dualboot s Mac OSX (Hackintosh), tak stačí do souboru /etc/grub.d/40_custom přidat

menuentry "MacOS X Leopard" { insmod hfsplus set root=(hd0,X) #změň X na Mac partition multiboot /boot }

a pak update-grub. V případě přeinstalování zavaděče v mbr, se přepnete na roota a dáte logicky grub-install /dev/sda.

Docela mi tenhle článek přijde, jako obšlehlý z http://wiki.ubuntu.cz/GRUB2 a trochu zkrácený. Ale co jiného psát, že?
HP Elitebook 8440p
Luboš Doležel (Doli) avatar 2.3.2011 19:56 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Zkrácený a obšlehlý? Vždyť na té wiki je akorát přepsaná jedna info stránka...
grubber avatar 3.3.2011 23:00 grubber | skóre: 6 | blog: grubber | Břeclav / Brno
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Tohle vypadá na chainloading nějakého multiboot-capable hackintosh zavaděče (nezdá se mi, že by XNU uměl multiboot). GRUB 2 ale zvládne zavádět Mac OS X i přímo, např.:
menuentry "Mac OS X Snow Leopard" {
    insmod efiemu
    insmod hfsplus
    insmod xnu

    acpi -e (hd0,1)/Extra/DSDT.aml
    efiemu_loadcore (hd0,1)/grub/efiemu64.o

    set root=(hd0,2)
    xnu_kernel /mach_kernel rd=disk0s2
    xnu_kextdir /System/Library/Extensions
    xnu_kextdir (hd0,1)/Extra/Extensions
    xnu_devprop_load (hd0,1)/Extra/device-properties.bin
}
3.3.2011 00:13 P.
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Mam na disku Grub 1 a za par sekundach najede Grub 2. Vim, spravil by to jedinej command, ale su tak linej...
4.3.2011 09:35 Lol Phirae | skóre: 23
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
A už to někdo portoval pro Emacs? :-D
4.3.2011 14:31 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Páteční odlehčení: Ne, ale na portu Emacsu pro Grub2 už se pracuje :)
4.3.2011 15:12 polivka
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Takže z toho vyplívá, že linux je dobrej akorát tak na zavedení Windows :-D :-D :-D :-D
4.3.2011 16:02 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Přesně tak, uhodil jste hřebík přímo na hlavičku. Hlavně v případě, kdy se ty Windows samy nedokážou ani zavést...
5.3.2011 10:59 Petr Ježek | skóre: 10
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Osobně si nemohu Grub 2 na Archu (1.99 rc1-3) vynachválit, a to přesto, že nastavení fb se hádá s KMS a ignoruje uvesafb. Předně při plné instalaci včetně nastavení modulů se dále zrychlil již tak rychlý boot proces, je snadná spolupráce s různými FS na oddílech, prostě funguje to lépe než Grub legacy. Kdyby si bootloader dokázal sáhnout pro parametry KMS, zbylo by jediné úvodní probliknutí mezi boot stages pro fb i non-fb (hlasité i tiché) spouštění. Bootloader je fakticky hubený OS s dominantní funkcí, takže ti, kteří žehrají na to, že z trepky je blecha, žijí asi mezi hmyzem :-)
Archlinux for your comps, faster running guaranted!
grubber avatar 6.3.2011 20:14 grubber | skóre: 6 | blog: grubber | Břeclav / Brno
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
+1
7.3.2011 23:54 Martin Mareš
Rozbalit Rozbalit vše Re: GRUB 2 – nová generace zavaděče Linuxu
Mě tuhle zaujalo, že defaultní debianí instalace GRUBu 2 je větší než kernel, který jím bootuji :-)

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.