kernel boot options [vyřešeno]

Založil freax, 08. 11. 2011, 14:42:52

Předchozí téma - Další téma

freax

Zdravim.
Prosim Vás mám na HDD 2 různé OS a různá jádra k těmto OS. Používám Grub2. Zajímalo by mě, zda mohu nastavit ke každému jádru, propřípadě OS jiné kernel boot options a popřípadě jak.

Předem děkuju moc za odpovědi...

Hobild

jake OS? Linuxove?
jake options? Pokud startovaci, nikoli, ty jsou spolecne. Pokud parametry pro jadro, pak pochopitelne ano.
H.

freax

OS je to Debian a chtěl bych nastavit "i915.modeset=1".

Hobild

Parametry pro linuxove jadro zadej do souboru /etc/default/grub
radek GRUB_CMDLINE_LINUX=""
takze bude vypadat asi takhle:
radek GRUB_CMDLINE_LINUX="i915.modeset=1"
a pak spustit vygenerovani souboru /boot/grub/grub.cfg prikazem update-grub.
Lze to i zapsat do souboru /boot/grub/grub.cfg primo, ale pri jakekoli zmene v jadre, v nastaveni bootu ap. se automaticky spousti update-grub a nastaveni by se ztratilo.
H.

freax

Omlouvám se, dotaz jsem formuloval špatně.. Tohle vím. Mám problém s tím, že mám Debian kde mám nainstalovaný grub a dále pak mám Ubuntu, kde grub není. Když jsem nainstaloval Ubuntu, dal jsem v Debianu update-grub, Debian Ubuntu našel a zahrnul do grub.cfg. Nicméně když nastavím v Debianu GRUB_CMDLINE_LINUX="i915.modeset=1", tyto volby platí pouze pro jádra Debianu a ne pro jádra Ubuntu. Tudíž musím při startu Ubuntu ručně připsat i915.modeset=1 aby mi nabootovalo do X, což není zrovna pohodlné. Teď asi budu mluvit hlouposti, ale zkoušel jsem nainstalovat grub i do oddílu s Ubuntu abych mohl upravit /etc/default/grub v domění, že pak dám update-grub v Ubuntu, následně i v Debianu a budu mít Ubuntu s nastaveným i915.modeset=1, což se ale ukázalo jako hloupost a při update-grub v Debianu jsem už Ubuntu nemohl nabootovat vůbec. Zmizelo z nabídky...

Nicméně když už jsme se k tomu dostali, zajímalo by mě také to, jak bych řešil problém když bych chtěl nastavit rozdílné parametry pro jádra...

Díky moc za ochotu a odpovědi...

Petr Slunský

Myslím, že od dob KMS je parametr v Grub zbytečný, nebo jinak, že se parametrizace řeší na úrovní loadování jaderného modulu i915. Podívej se do /etc/modprobe.d/i915-kms.conf

Modul se natáhne s parametrem zadaným v konfiguráku.
Debian

Hobild

Trosku popisu nastaveni:
/etc/default/grub:
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.

V adresáři /etc/grub.d, kde je řada skriptů:
00_header
05_debian_theme
10_linux
20_linux_xen
30_os-prober
40_custom
41_custom

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. 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)

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. Do skriptů 00 až 30 se nedoporučuje sahat.

Pokud jakýkoli z těchto skriptů spustíte samostatně, vypíše, co by šlo do /boot/grub/grub.cfg, ideální pro ladění nastavení. Příkaz update-grub (neboli grub-mkconfig) nastavuje ještě další věci, onen výpis není zcela úplný.

Pro nastavení dalších systémů je položka 40_custom. Její obsah se do /boot/grub/grub.cfg jednoduše zkopíruje (po kontrole), da se tam tedy rovnou psát, co je třeba. Jak další linuxové distra, tak třebas BSD:
insmod part_bsd      # Podpora BSD slices
set root(hd0,1,a)    # Oddíl se zavaděčem
freebsd /boot/loader # Spuštění zavaděče

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

ap.
Není-li systém na prvním disku, grub2 je umí přemapovat:
drivemap -s hd0 hd2
Přeji zdar.
H.

freax

2 Hobild: díky moc za vyčerpávající odpověď. přiučil jsem se :-) a i když hned nevím jak můj problém řešit, alespoň znám směr kterým se ubírat a co si prostudovat :-) díky moc...

freax

#8
Citace od: Petr Slunský kdy 09. 11. 2011, 18:25:42
Myslím, že od dob KMS je parametr v Grub zbytečný, nebo jinak, že se parametrizace řeší na úrovní loadování jaderného modulu i915. Podívej se do /etc/modprobe.d/i915-kms.conf

Modul se natáhne s parametrem zadaným v konfiguráku.

Takový konfigurák v /etc/modprobe.d nemám. Když ho vytvořím a do něj zapíšu options i915 modeset=1 tak se mi nenaloaduje.. :-/

EDIT: áááh.. tak naloaduje :-) sem zapomněl obnovit initrd.. díky moc :-)