Debian fórum

Dotazy => Všeobecná podpora => Téma založeno: freax kdy 08. 11. 2011, 14:42:52

Název: kernel boot options [vyřešeno]
Přispěvatel: freax kdy 08. 11. 2011, 14:42:52
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...
Název: Re:kernel boot options
Přispěvatel: Hobild kdy 08. 11. 2011, 19:43:39
jake OS? Linuxove?
jake options? Pokud startovaci, nikoli, ty jsou spolecne. Pokud parametry pro jadro, pak pochopitelne ano.
H.
Název: Re:kernel boot options
Přispěvatel: freax kdy 08. 11. 2011, 23:02:40
OS je to Debian a chtěl bych nastavit "i915.modeset=1".
Název: Re:kernel boot options
Přispěvatel: Hobild kdy 09. 11. 2011, 16:47:35
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.
Název: Re:kernel boot options
Přispěvatel: freax kdy 09. 11. 2011, 17:49:45
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...
Název: Re:kernel boot options
Přispěvatel: 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.
Název: Re:kernel boot options
Přispěvatel: Hobild kdy 09. 11. 2011, 18:35:45
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.
Název: Re:kernel boot options
Přispěvatel: freax kdy 09. 11. 2011, 18:44:56
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...
Název: Re:kernel boot options
Přispěvatel: freax kdy 09. 11. 2011, 20:43:43
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 :-)