Stránka 1 z 1

Důvody ke kompilaci jádra

Napsal: čtv 26. srp 2004, 23:07
od Dr Meduza
K cemu mi bude gdyz si zkompiluju naky novejsi jadro? :? (to je uz hodne blba votazka co? :oops: )

Napsal: čtv 26. srp 2004, 23:32
od TomV
Důvodů může být spousta. Jelikož v Linuxu se ovladače neinstalují (a hadrware nekonfiguruje) tak, jako ve Windows pomocí instalátorů a konfiguračních okýnek, ale v maximální většině případů jsou obsaženy v balíku jádra, důvod se nám hned nabízí : máš nějaký hardware, ke kterému nemá distribuční jádro instalované ovladače. Tak buď zkompiluješ distribuční jádro znovu se zapnutou podporou tvého hardwaru, nebo, pokud zdrojáky distribučního jádra ovladače neobsahují (nebo nefungují), stáhneš zdrojáky novějšího jádra, které je už obsahovat může. Když děláš jádro třeba pro server, tak z něj vyházíš neužitečné věci (multimédia, zvuk, framebuffer, apod.) a naopak do něj dáš věci užitečné, které tam standardně nejsou (podpora RAID, ovladače dalších síťovek, traffic shaping, SMP, SCSI, apod.). Prostě si to jádro upravíš k obrazu svému.

Další věc je třeba zkompilování jádra na míru pro svůj procesor. Jádra obsažená ve většině dnešních binárních distribucí jsou kompilována pro platformu i686 (aby to šlo spustit skoro na všem). Nicméně, kompilace jádra přímo pro Pentium 4 (nebo třeba AthlonXP) na příslušných strojích zvýší výkon, díky využívání specifických vlastností jednotlivých platforem (a na nepříslušném stroji = jakémkoliv jiném procesoru, než pro který je jádro zkompilováno, to pochopitelně nepoběží).

No a nakonec - každá novější verze mívá opravené chyby a bývá obvykle zase o něco obohacená, takže se tam mohou objevit fíčuky, které třeba v předchozí verzi chyběly, nebo nefungovaly správně.

Každopádně bych doporučil po každé instalaci binární distribuce jádro překonfigurovat a zkompilovat přímo na míru systému, na kterém poběží.
Jak se to dělá ? Na to vám sem možná (když budete hodní :-)) napíšu FAQ... Není to žádná věda, věřím, že pro kompů znalého PC-Tunera to bude hračka... :)

Napsal: pát 27. srp 2004, 08:59
od Dony
Tak to by me opravdu zajimalo, hlavne tohohle se v linuxu fakt bojim, protoze moc dobre vim, co to je za porod, kdyz se hrabe ve zdrojaku v C... nebo na to maj nejaky udelatka aby se to nedalo podelat???? :?

Napsal: pát 27. srp 2004, 10:38
od johny128
jeden z dovodov kompilacie jadra je ziskat podporu NTFS
http://forum.pctuning.cz/viewtopic.php? ... highlight=

a link na kompilaciu jadra
http://www.root.cz/clanek/538 ...ta najvacsia divocina zacina v dalsich clankoch :)

Napsal: pát 27. srp 2004, 10:55
od TomV
Dony píše:Tak to by me opravdu zajimalo, hlavne tohohle se v linuxu fakt bojim, protoze moc dobre vim, co to je za porod, kdyz se hrabe ve zdrojaku v C... nebo na to maj nejaky udelatka aby se to nedalo podelat???? :?
Toho se neboj, žádnej porod to není. :-) Je tam na to jedoduchý a přehledný konfigurační nástroj a pak už jen pár příkazů na samotnou kompilaci a instalaci jádra... Žádný hrabání se ve zdrojácích se nekoná... :-)

Napsal: pát 27. srp 2004, 16:26
od Dr Meduza
Tak sem to zkompiloval (nak), chci se este zeptat delal sem to podle navodu co byl napsanej u toho zdrojaku k jadru, a tam byl cilovej adresar /home/****/build/kernel a ted je teda to jadro v tomdle adresari nebo je nekde jinde :? jinak v to pridalo /boot/initrd2.6*****.img pres kterej se to spousti (vyberu ho na zacatku v LILO)
Sem to tak dukladne zredukoval ze mi nejede konzole v grafice nejede (normalni textovej rezim jede ale je tam nakej divnej font pismena sou naky velky) :oops:

Napsal: pát 27. srp 2004, 19:45
od TomV
To Meduza : Tak tos to asi zkompiloval nějak divně, doktore... :) Ne, napoprvé to zas až tak snadné není, ale časem se z toho stane rutina.

1) Zdrojáky jádra patří do adresáře /usr/src/. Pak ti tam vznikne adresář /usr/src/linux-2.6.něco, který je kořenovým adresářem jádra.

2) Zkompilované jádro najdeš v /usr/src/linux-2.6.*****/arch/i386/boot/, soubor bzImage. Přesuň a přejmenuj ho na /boot/vmlinuz-2.6.***.

3) Přes initrd-cosi.img se nic nespouští, to je jenom komprimovaný obraz bootovacího ramdisku jádra. Používá se u modulárního jádra ke zpřístupnění některých životně důležitých modulů ještě před připojením kořenového filesystému. U monolitického jádra není potřeba.

4) Uprav si konfiguraci zavaděče tak, abys mohl nabootovat i původní jádro pro případ, že by se tohle nepovedlo. (DŮLEŽITÉ !)

Napsal: pát 27. srp 2004, 20:42
od Dr Meduza
Tam (v readme) bylo napsany :
make mrproper
make O=/home/name/build/kernel menuconfig (tady sem pouzil xconfig)
make O=/home/name/build/kernel
sudo make O=/home/name/build/kernel modules_install install

takze ten vystupni adresar (/home/name/build/kernel) uz teda neni nutnej gdyz je v /boot/vmlinuz-2.6.*** ?
jj este ze jich tam je ted vic protoze to novi je fakt naky divny :oops: (priste nebudu menit veci ktery nevim co znamenaj :wink: )

Napsal: pát 27. srp 2004, 22:32
od TomV
Pane jo, ten tvůj systém teda teďko musí vypadat... :-)

Tohle je postup pro jádro řady 2.6 :

1) rozbalit do /usr/src

v adresáři zrdrojáků jádra :

2) make menuconfig (případně grafický konfiguátor xconfig, nebo gconfig - nicméně doporučuju textový menuconfig, práce s ním je zdaleka nejrychlejší a nejpohodlnější)

3) make all modules_install

4) cp System.map /boot/System.map-2.6.***

5) cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.***

v /boot :

6)
rm System.map
ln -s System.map-2.6.*** System.map

7) mkinitrd -f /boot/initrd-2.6.***.img 2.6.***

8 ) Upravit LILO / GRUB, aby to vzal a je to OK...

Pozn.: Místo hvězdiček si doplň správné minor číslo podle tvé konkrétní verze. Tj. třeba 2.6.5

//Update : Krok 7 (tj. initrd obraz) se dá úplně vynechat...

Napsal: sob 15. led 2005, 19:18
od Dr Meduza
Taky je dobry udelat si z toho jadra balicek pak odpadne vecina kroku :)
postup u me v Ubuntu (Debian) je jednoudochej
make menuconfig
make-kpkg clean
make-kpkg --initrd --revision=custom.1.0 kernel_image
todle vyrobi kernel_image.deb verze custom.1.0 :)
pak staci nainstalovat vsechny veci si to udela samo :)

Napsal: sob 15. led 2005, 23:59
od johny128
ma tak napada, vacsina z nas uz ma rychle nety, tak si mozte stiahnut prednasku z installfestu 2003_11_02_IF-15-Kompilace_jadra_a_aplikaci , dc je toho plne(hlavne na proshare)

Napsal: ned 23. led 2005, 10:19
od johny128
TomV píše:8 ) Upravit LILO / GRUB, aby to vzal a je to OK...
toto by si este nerozpisal pls? :) lilo pouzivam

// tak nieco ako
image =/boot/vmlinuz-2.6.**
label=2.6.*
read-only

takze takto to frci, skoda len ze moj problem nove jadro nevyriesilo :(

Napsal: stř 10. srp 2005, 10:46
od zajda82
ted maly dotaz, mam RAID pole, zadny klasicky distro z CDcka mi ho zatim nechtelo spapat, jak mam jadro prekompilit kdyz to ani nenainstaluju?

Napsal: stř 10. srp 2005, 11:36
od Dr Meduza
zajda82 píše:ted maly dotaz, mam RAID pole, zadny klasicky distro z CDcka mi ho zatim nechtelo spapat, jak mam jadro prekompilit kdyz to ani nenainstaluju?
kdyz bootis z CDcka tak se to vetsinou na zacatku pta jestli chces natahnout moduly pro RAID a podobny veci

Napsal: stř 10. srp 2005, 11:39
od zajda82
nevsiml jsem si prave vubec niceho :/ , asi tam budu muset hodit gentoo

Největší důvod :)

Napsal: čtv 25. srp 2005, 10:58
od trancelis
Nejvetší důvod pro kompilaci jádra je hlavně ten, že si do zdrojáků přidám různý patche (love, nitro, ck, 3d) který zvyšují výkon/stabilitu a přidávají cool funkce, třeba hibernaci :) ... zdvojnásobení framerate není nic neobvyklýho na nitru

Napsal: ned 18. zář 2005, 06:29
od Drom
zajda82 píše:ted maly dotaz, mam RAID pole, zadny klasicky distro z CDcka mi ho zatim nechtelo spapat, jak mam jadro prekompilit kdyz to ani nenainstaluju?
http://www.tldp.org/HOWTO/HOWTO-INDEX/os.html#OSRAID