Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 2 ] 
AutorSpráva
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Kernel - Kompilácia

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok NapísalOffline : 07.09.2005 19:07

WebSite - http://www.kernel.org/

Kompilácia nového jadra pre Debian
Tento posup je v podstate rovnaký pri všetkých Linuxoch :)

Prečo by ste si mohli chcieť pripraviť nové jadro? Obvykle nejde o nutnosť, pretože jadro dodávané s Debianom funguje vo väčšine počítačov. Nové jadro môže byť užitočné v nasledujúcich situáciach:

v štandardnom jadre vám chýba podpora zariadení alebo nejaká služba (napr. Advanced power management alebo SMP)
chcete menšie jadro bez ovládačov, ktoré nepoužívate. Urýchlite štart systému a ušetríte pamäť. (neaktívne časti jadra sa nedajú odložiť na disk).
chcete jadro rozšíriť o nejakú funkciu (napr. firewall).
chcete jadro z vývojového radu.
chcete urobiť dojem na známych, vyskúšať niečo nového.
Nebojte sa kompilácie jadra, je to zábava a budete z nej mať úžitok.

Doporučený spôsob kompilácie jadra v Debiane vyžaduje tieto balíky: kernel-package, kernel-source-2.2.19 (aktuálna verzia v dobe vzniku dokumentu), fakeroot a ďaľšie, ktoré už máte asi nainštalované (úplný zoznam je v súbore /usr/doc/kernel-package/README.gz). Poznamenajme, že jadro nemusíte pripravovať touto ``Debianovskou'' cestou, ale myslíme si, že s využitím balíčkovacieho softvéru sa proces zjednoduší a je tiež bezpečnejší. Môžete si kľudne vziať zdrojové texty jadra priamo od Linusa a nebudete potrebovať balík kernel-source-2.2.19, stále môžete použiť metódu kompilovania pomocou kernel-package.

Popis balíku kernel-package sa nachádza v adresári /usr/doc/kernel-package. V nasledujúcich odstavcoch nájdete len úvod do jeho používania.

V ďaľšom budeme predpokladať, že zdrojové texty jadra verzie 2.2.19 uložíte do /usr/local/src. Ako superužívateľ vytvorte adresár /usr/local/src a zmeňte jeho vlastníka na Váš normálny účet. Zalogujte sa na svoj účet a prejdite do adresára, kde chcete mať zdrojové texty jadra ()(cd /usr/local/src), rozbaľte archív (tar xzf /usr/src/kernel-source-2.2.19.tar.gz) a choďte do tohto adresára (cd kernel-source-2.2.19/). Urobte konfiguráciu jadra príkazom make xconfig v prostredí X11 alebo make menuconfig. Prečítajte si nápovedu a pozorne vyberajte z ponúkaných možností. Pokiaľ si v niektorom bode nebudete vedieť rady, je väčšinou vhodnejšie zariadenie do jadra vložiť. Voľby, ktorým nerozumiete a ktoré sa nevzťahujú k hardvéru, radšej nechajte na prednastavených hodnotách. Nezabudnite do jadra zahrnúť "Kernel daemon support (tj. automatické vkladanie modulov)" v "Loadable module support", ktoré prednastavené nie je, Debian túto službu predpokladá.

Príkazom /usr/sbin/make-kpkg clean prečistíte strom zdrojových textov a nastavenie balíku kernel-package.

Kompiláciu jadra naštartujete príkazom fakeroot /usr/sbin/make-kpkg --revision=custom.1.0 kernel_image. Číslo verzie ``1.0'' si môžete zvoliť podľa vlastnej úvahy, slúži na Vašu orientáciu v pripravených balíkoch. Kompilácia zaberie trochu času, záleží na výpočtovom výkone Vášho počítača.

Pokiaľ využívate zariadenia PCMCIA, nainštalujte tiež balík pcmcia-source. Rozbaľte archív v adresári /usr/src (Programy predpokladajú, že nájdu moduly v adresári /usr/src/modules). Balík pripravte príkazom make-kpkg modules_image. Pre obidva úkony musíte byť prihlásení ako užívateľ root.

Keď kompilácia skončí, jadro nainštalujete ako každý iný balík. Ako root napište dpkg -i ../kernel-image-2.2.19-subarch_custom.1.0_i386.deb. subarch je voliteľné upresnenie architektúry, napr. ``i586'', , ktoré ste zadali pred kompiláciou jadra. dpkg -i kernel-image... nainštaluje jadro spolu so sprievodnými súbormi. Ide napríklad o súbory System.map, ktorý je užitočný pri dohľadávaní problémov v jadre a /boot/config-2.2.19 obsahujúci konfiguračný súbor jadra. Behom inštalácie balíku kernel-image-2.2.19 sa spustí program lilo a obnoví sa zavádzací záznam na disku. Pokiaľ ste vytvorili balík s modulmi, je potrebné ho tiež nainštalovať.

Teraz môžete spustiť systém znova s novým jadrom. Prezrite si výpisy, ktoré spôsobil predchádzajúci krok, či sa pri inštalácii jadra nevyskytli problémy a spustite shutdown -r now.

Popis balíku kernel-package nájdete v adresári /usr/doc/kernel-package.

viac
http://www.debian.org/releases/potato/i386/install.sk.html#contents
http://www.linuxos.sk/clanok.php?clanokid=43
http://www.zive.sk/h/Spravodajstvo/AR.asp?ARI=102843


Offline

Užívateľ
Užívateľ
Kernel - Kompilácia

Registrovaný: 13.07.06
Prihlásený: 22.10.07
Príspevky: 61
Témy: 5
Príspevok NapísalOffline : 13.07.2006 16:27

Ja tu popisem troska iny sposob vymeny kernelu.

Ide o to ze samotny kernel je jeden subor + kernel moduly co je jeden adresar. snad este nalinkovane kernel headers

Zacneme tym ze si uz na vyzsie spominanej stranke www.kernel.org stiahneme aktualnu najnovsiu alebo aku verziu kernelu potrebujeme.

vacsinou stiahneme subor linux-2.x.xx.tar.bz2

rozbalime pomocou programou bzip2 a tar

odporucam rozbaleny adresar linux-2.x.xx prekopirovat do adresara
/usr/src/

nasledne nalinkovat dany adresar ako adresar linux nasledovne
shell> ln -s /usr/src/linux-2.x.xx /usr/src/linux
Tymto sme dostali v adresari /usr/src adresare linux-2.x.xx a adresar linux ktore su totozne.
Adresar linux sme nalinkovali koli niektorym neskorsim veciam, ak by sme napriklad chceli nainstalovat ati driver alebo nvidia driver, oni vacsinou hladaju zdrojove kody jadra prave v adresari /usr/src/linux

takze vojdeme do adresar /usr/src/linux
shell> make clean odstrania sa prekompilovane binarky a dalsie subory ktore sa pri kompilacii vytvaraju
shell> make menuconfig alebo shell> make xkonfig
menuconfig nam vytvori pekne menu ktore mozeme browsovat aj v konzole a xkonfig ak mame spustene Xka a nejake graficke prostredia vytvori nam menu len trosku grafickejsie ;) nie velmi ale trosku ;)

Konfiguraciu kernelu nebudem opisovat je to pre zaciatocnika velmi zlozita vec najme ak nevie co 90 % veci tam znamena.
V zaklade snad len ak zaskrtavate nejaku moznost v kerneli moze byt :
[ ] - nezaskrtnuta
[M] - dana vec bude vytvore na ako modul
[*] - dana vec bude priamo skompilovana v kerneli

Nezabudajte ze niektore moznosti v kerneli maju svoje zavislosti..
Cize sa moze stat, ze niektore moznosti nenajdete kym nezaskrtnete niektore ine.

vyjdeme z konfiguracie spyta sa nas ci chceme ulozit dame ze "yes" ;)

Kompilacia
Tu prichadza mensi rozdiel medzi kernelmi rady 2.4.x a 2.6.x

Kernel 2.4.x

shell> make dep
shell> make bzImage
shell> make modules
shell> make modules_install

Taak a chyba nam tam este "make install" tuto vec konkretne ja nepouzivam lebo nemam rad ked mi nieco saha automaticky do lila a do ostatnych veci.

Takze musime samotny kernel nakopirovat.
Kernel by sa mal nachadzat pri obycajnom PCcku (nie 64bit) v adresari
/usr/src/linux/arch/i386/boot
Tam sa nachadza subor bzImage a to je nas kernel. Ak mate inu architekturu tak v adresari "/usr/src/linux/arch" si najdete tu svoju a v nej uz adresar boot. Zvysok je rovnaky.
Moj AMD Turion je napriklad x86_64

skopirujeme si bzImage do adresara /boot a premenujeme ho na nieco co nam o tom povie nieco viac. napr.
shell> cp /usr/src/linux/arch/i386/boot/bzImage /boot/bz-2.4.33
takze v adresari /boot mame subor bz-2.4.33

Upravime Lilo tak ze pridame dalsi "zaznam", to preto aby sme sa k predoslemu kernelu mohli jednoducho vratit. Konfiguraciu lila si muste prejst sami je dost specificka pre kazdy pocitac. Idealne je cast ktoru mate nakonfigurovanu skopirovat a upravit len meno ktore sa zobrazuje pri boote a cestu k kernelu v nasom pripade k /boot/bz-2.4.33
shell> lilo
zapise sa do MBR nove lilo a uz len restart. Novy zaznam sme pridali preto, ze ked po boote noveho kernelu nam vyhlasi napriklad KERNEL PANIC tak proste restartujeme a v Bootovacom menu lila si vyberieme moznost ktora patri predchadzajucemu kernelu.
Priklad:
Kernel - Kompilácia

Linux je stary kernel
Linux-mosix je novy kernel, v mojom pripade s podporou mosixu
Windows to je taka vec ;)

Kernel 2.6.xx

jediny rozdiel je:

Namiesto krokov :
shell> make dep
shell> make bzImage
shell> make modules
shell> make modules_install

staci len:

shell> make
shell> make modules_install

To je tak asi vsetko snad som na nic nezabudol, ak hej nestrielajte ;)


Odpovedať na tému [ Príspevkov: 2 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. kompilácia kódu vo SFML

v Assembler, C, C++, Pascal, Java

2

416

23.12.2011 18:44

majky358 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. uprava a kompilacia skryptu

v Assembler, C, C++, Pascal, Java

6

598

02.05.2012 9:40

Mavel Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kompilacia cez Qt Creator 4.8.5

v Ostatné

2

517

25.12.2013 12:29

MAREK17 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Youtube a ich kompilácia - problém kvality videa

v Ostatné programy

6

969

23.02.2022 14:39

boxolop Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kernel error

v nVidia grafické karty

1

315

13.05.2016 10:43

wirus552 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kernel power

v PC skrinky a zdroje

2

664

27.05.2018 15:46

camarovk19 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kernel chyba

v Operačné systémy Microsoft

19

1231

13.08.2011 19:39

mafcool Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kernel driver crash

v nVidia grafické karty

8

408

03.04.2015 16:50

Outplash Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kernel power 41

v PC skrinky a zdroje

10

961

15.02.2016 22:44

pheonix Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. NT Kernel & System

v Ostatné

1

315

28.12.2015 9:00

michalesku Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. windows kernel mode driver

v Ovládače

1

438

25.11.2012 22:34

putain Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kernel power 41 (63)

v Ostatné

7

382

02.04.2021 10:55

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Dupming kernel memory? WTF?

v Operačné systémy Microsoft

20

896

02.10.2006 18:08

pershing Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Galaxy S - ROM + KERNEL

v Smartfóny a tablety

5

435

27.01.2013 19:18

R3Z0R Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kernel Power 41 (63)

v Operačné systémy Microsoft

13

799

23.08.2017 22:26

JanSpasitel Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Critical Error - Kernel Power (41)

v Operačné systémy Microsoft

6

710

12.02.2018 18:15

4040 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra