Felhasználónév:    Jelszó:    Adatok megjegyzése     Regisztráció


Kernel fordítás howto
Kernel fordítás howto
pomm 2005 December 10 Saturday

Kernel fordítás


Letölthető ez a doksi html verzióban is innen.

Figyelem, az alant következőket mindenki saját felelőségére használja! Semmiféle garancia nincs rá, hogy az én általam tesztelt és kipróbált beállítások nem okoznak nálad - esetleg - hw
gondot! A leírást mindenesetben olvasd el az elejétől a végéig, mert ha csak belekapsz, nem lesz belőle semmi, max törölsz vagy felülírsz fontos és müködő dolgokat, ami után - jobb esetben - nem fog
elindulni a leforgatott kerneled, roszabb esetben, nem fog menni a linuxod, legrosszabb esetben gallyra vágod valamelyik hardwered!!! Mielőtt úgy gondolnád, hogy ez pont veled nem fordulhat elő,
közlöm, láttam már ilyet! A kernel a linux rendszermag, ennek fordítása nem "5 perc alatt összecsapom" dolog. Figyelj oda! Ha jól csinálod, jutalmul a tiéd lesz, egy jól müködő, gyors és stabil
rendszer, ami a TE kezed munkája!
Sok sikert kívánok!



Tömörítsük ki a kernelt forrást a /usr/src-be ( ezt csak rootként tehetjük meg
- figyeljünk arra, hogy a meglévő kernel forrást ne írjuk felül! )
Lépjünk be a /usr/src/linux-2.x.x-be ( az x-ek a kernel verzióját jelentik,
példának okáért legyen az épp aktuális kernel 2.6.11 )
root@pomm:/# cd /usr/src/linux-2.6.11
root@pomm:/usr/src/linux-2.6.11#


Ezuán adjuk ki a make menuconfig parancsot ( lehet használni a make xconfig
vagy make gconfig parancsokat is, ezek után grafikusan lehet a kernelt
configurálni, a make menuconfig pedig menüvezérelt, de karakteres felületű - én
ezt favorizálom. Van még a make config, ez kimondottan mazochisták számára
ajánlott )
root@pomm:/usr/src/linux-2.6.11#make menuconfig

Ezt kell látnunk:



Azt tudnunk kell a továbbiakban, hogy ami "x" az fixen van a kernelben,
ami "M" az modulként, ami nincs kijelölve az sehogy
Nálam sok dolog fixen van, de igazából ez rád van 90%-ban bízva. Van néhány dolog,
amit nem szabad modulként berakni! Javaslom - az elején - kövesd azt, ahogy én csináltam!
És most vágjunk bele!
Amennyiben uhu-hoz fordítjuk a kernelt rögtön ellenőrizzük le, hogy be van-e
kapcsolva a Code maturity level options. Az uhu ugyanis /dev fájlrendszert
használ ( legalábbis mostanáig - Uhu-verzió 1.1 ) és ahhoz kelleni fog a
későbbiekben. Ez tulajdonképpen a még nem teljesen kiforrott kódrészek
használatának engedélyezése. Amúgy - hacsak nem szerverhez fordítasz kernelt - engedélyezheted, nem szokott velük gond lenni. A szerverekhez és egyéb fontos munkaállomásokhoz - már csak az elvek miatt
- nem illik betenni.
A következő a General setup, én ezt nem szoktam változtani, jó a gyári
beállítás. Hangsúlyozom, ÉN nem szoktam, neked lehet, hogy kell
Loadable module support, itt eldönthetjük, hogy használunk-e modulokat vagy sem.
Ha monolitikus kernelt ( minden a rendszermagba van befordítva ) szeretnél
használni, akkor kikapcsolhatod, ha modulost, akkor engedélyezned kell (
defaultból engedélyezetten áll ). Sztem kezdetben ezt hagyd így, ha gond lenne
a modulokkal még mindíg újra fordíthatod monolitikusan.
Processor type and features a következő. Itt már tuti állítgatnod kell
Így néz ki:



Defaultból a pc-style nekünk jó, a processzort viszont állítsuk át olyanra,
amilyen a miénk. Nekem amd van, ezért az látható a képen.
Alapból bent van a több processzoros gép támogatása is, ezeket én már
kiszedtem. Tulképpen a képen látható dolgokat másold le a beállításaidban, úgy
menni fog!
A High Memory Support-ot akkor kapcsold csak be, ha 4 GB-nál több RAM van a
gépedben. A Firmware Drivers nálam ki van kapcsolva. Ha ezek megvannak, akkor
exit és visszaértünk a főmenübe.

Power management options (ACPI, APM)
itt a adjuk meg, hogy akarjuk-e ( ez az energia gazdálkodásért felelős, pl.: a
gép szofveres kikapcsolása - atx-es táp esetén! - )
Tudnunk kell melyiket támogatja a BIOS-unk. Nekem acpi-t ( ez az újabb, új
alaplap estén, biztos, hogy ez a támogatott )
Állítsuk be, ahogy a képen, ha acpi-nk van:





A kettő együtt nem a legjobb választás, ha bizonytalanok vagyunk válasszunk
egyet és a kernel lefordítása után adjuk ki a halt parancsot. Ha teljesen leáll
a gépünk ( értsd, nem kell a power gombbal kikapcsolni ), akkor jó, ha nem,
akkor cseréljük meg és használjuk a másikat. A kernelt ekkor nem kell teljesen
újra forgatni, hanem az automatikusan ( ha nincsenek főbb változtatások )
updatelődni fog, így nem tart már olyan sokáig!*

*Megjegyzés:
Ehhez viszont elengedhetetlen,
hogy kernel forgatását követően az erdeti bzImage még ott legyen a
/usr/src/linux-2.6.11/arch/i386/boot könyvtárban! Ezt azért mondom, mert én is
soxor nem átmásolom a /boot alá a kész kernelt, hanem átmozgatom. Tehát,
maradjunk a másolásnál, sztem, 2 megát pluszban elviselünk a merevlemezünkön
és ha valamit változtatni szeretnénk a kernelben, akkor sok időt megspórolunk:)


Ebben a menüpontban még van egy beállítási lehetőség a CPU Frequency scaling.
Én ezzel még nem szorakoztam, ez inkább notebookokhoz jó, akinek ilyen van, az
olvassa a helpet , amúgy célszerű kikapcsolni.

A következő a Bus options (PCI, PCMCIA, EISA, MCA, ISA).
Lépjünk be, ezt kell látnunk:



Ahogy a képen van, én úgy állítom be. Tedd te is ezt! Ha van ISA-ás kártyád (
akkor nem mai géped van ) akkor azt még jelöld be!
A PCI access mode, a NatSemi SCx200 support, PCCARD (PCMCIA/CardBus) support és
a PCI Hotplug Support nálam ki van kapcsolva!
Ha te úgy gondolod, ezekre szükséged van, akkor használd őket.

Az Executable file formats a következő. Erről nincs mit regélni, alapból mind
a három be van kapcsolva ( ha nem így lenne, KAPCSOLD BE őket!!! ) és legyenek
is bekapcsolva!

Elérkeztünk a Device Driver-ekhez. Lépjünk be! Látható, hogy sok almenü van (
és milyen sok beállítási lehetőség, azokon belül...huhúúú )



Kezdjük!

Generic Driver Options: alapból minden beállítása
kijelölve, hagyd így!

Memory Technology Devices (MTD) Alapból nincs, én sem használom.

Parallel port support



Én ezeket a beállításokat hagytam meg, persze ha kell Multi-IO cards (parallel
and serial) illetve innen bármi, jelöld be! Én az alapokat próbálom leírni,
extra hw-iddel neked kell kisérletezni!

A Plug and Play support nálam így néz ki, sztem neked is jó lesz :



Block devices. Ezt értelemszerűen töltsd ki! Nekem így néz ki:



Egy kis magyarázat:
Mivel nekem nincs floppym, így azt kikapcsoltam, viszont a Loopback device
support-ot és a RAM disk support bekapcsoltam. Előbbi kell - például - ISO
mountolásánál, az utóbbi - például - live cd-éknél a ram disk létrehozásánál.
Az előbbit, mindenképpen kapcsold be ( Loopback device support ), az utóbbit
rád bízom. A floppyt se feledd, ha neked kell!

ATA/ATAPI/MFM/RLL support - nálam így néz ki:



Az alapbeállításokat csak egy helyen kell megváltoztatni!!! Mondom hol, a
többit NE bántsd!

Keresd meg ezt a beállítást:
SiS5513 chipset support - nálam ez be van jelölve, de ha neked nem ilyen
alaplapi cuccosod van, akkor keresd meg, hogy melyik kell, mert enélkül rumlis
lesz a dma-d és igen lassú lesz a merevlemez kezelés. Tehát válaszd a neked
kellő chipset-et. Amit viszont NE tegyél az az, hogy ezt NE kapcsold ki:
Intel PIIXn chipsets support - hacsak mérget nem mersz venni rá, hogy neked nem
kell!!!
Itt igazából a nálam bejelölt SiS5513 chipset support helyett kell a neked
megfelelőt bejelölnöd, a többit hagyd békén!!! ( Majd ha guru leszel
forgatásban, akkor kisérletezgess! )

SCSI device support - én ezt hagytam úgy ahogy van, mert nincs scsi
merevlemezem...

A Multi-device support (RAID and LVM), Fusion MPT device support, IEEE 1394
(FireWire) support nálam kikapcsolt állapotban vannak. Ebből neked max a IEEE
1394 (FireWire) support kellhet - egyenlőre ( hacsak nem raid cuccod van ) - ezt
esetleg bejelölheted, én sokat nem tudok róluk írni, soha nem használtam egyiket
sem!

I2O device support - na ezekről én is marha keveset tudok,
amúgy ezt te hagyhatod defaulton ( asszem ki van kapcsolva ), az elején nem lesz rá szükséged!

Networking support - nálam így van:



Ebből neked esetleg az irda nem kell, én is csak tesztelem, a többi pedig a
gyári beállítás, itt ne lépjünk ki, hanem lépjünk be a Ethernet (10 or 100Mbit)
almenübe, már ha van ethernet kártyád és használni is akarod...( Értelemszerűen
ha 1000 megásod van akkor oda lépj, ha 10000 megásod akkor oda ) Válaszd ki a
neked kellő kártyát! Nálam így néz ki:



Mivel nekem SiS 900/7016 PCI Fast Ethernet Adapterem van így ezt jelöltem be!
Ezt te ne jelöld be, hacsak nem ez kell, hanem keresd meg a neked kellőt ezek
közül.
Eztuán lépjünk vissza kettőt!

Az ISDN subsystem következik, amit én a Telephony Support-tal együtt
kikapcsoltam, mert nem kell! Ha neked kell, akkor használd őket a help szerint!

Az Input device support-ot én soha nem bántom, mert az egér és a billzet nekem
úgy jó, ahogy van, más extrám pedig nincs. Ha neked kell joystic vagy
touchscreen, akkor mazsolázz!

A Character devices-ba megint kell egy kicsit állítgatni...nálam így néz ki:



Az elején lévő beállításokat ne nagyon cseszegesd, hacsak jó okod nincs rá ( jó
ok = kell neked )
Innen érdekes: /dev/agpgart (AGP Support)
Amint az látható én a sis-es cuccokat jelöltem be...




Te válaszd a /dev/agpgart (AGP Support)és a Direct Rendering Manager (XFree86
4.1.0 and higher DRI support) utáni részből a te vga-dnak megfelelőt!


Az I2C support – keveset tudok róla, de a tv karikhoz tuti kell

Dallas's 1-wire bus a következő - én nem használom, azaz ki van nálam kapcsolva.

Misc devicesa a következő - én nem használom, azaz ki van nálam kapcsolva.

Multimedia devices - na ez alatt vannak a tv tunerek, radió tunerek,
digitalizáló kártyák, amihez az I2C support kellett. Én
mindent itt beforgatom ami az én karimhoz kell. ( bttv )

Graphics support - kikapcsolt nálam

Sound a következő, ami fontosabb...nos elég egyértelmű, ha akarsz hangot, be
kell kapcsolni, majd az almenü(k)ben beállítani a kártyád.
Lépj bele, majd lépj a Advanced Linux Sound Architecture-ba aztán válaszd a neked megfelelőt
( nekem pci-os, tehát PCI devices ) ez így néz ki:



Illetve beléphetsz az Open Sound System-be is és beállíthatod ott is. Nekem mindkét helyen ki van választva a megfelelő... kered meg, neked melyik kell!

USB support - ha csak nincs extra dolgod, ami usb-és ( mint nálam a
hálózatoknál beállított irda, mert az usb-és és itt meg kell azt is adnom ),
akkor hagyhatod, ahogy van. Az usb nyomtató és storage defaultból bent van.
Azért nézd át, sok extra dolog van benne ( hogy párat említsek: bluetooth, x-box
gamepad, stb. )

MMC/SD Card support a következő, nekem ilyen nincs, ezért be sincs kapcsolva...
Ha kell, akkor tudod... ---> help

InfiniBand support - erről lövésem sincs, új dolog, nálam kikapcsolt...

Ezzel ennek a menünek a végére értünk, lépjünk egyet vissza...

File systems - ez megint fontos...ha belépünk ezt látjuk:



Itt láthatjuk a fájlrendszereket az elején. Ezt állítsuk be, ahogy nekünk kell!
Fontos, hogy azt a fájlrendszert, amit a linuxunk használ, NE tegyük modulba,
mert nem fog elindulni a rendszerünk! Én egyiket sem szoktam modulba rakni. Az
ext2 és ext3 legyen bekapcsolva, ha reiser-t használsz ( suse-nél pl.: ez a
default fájlrendszer ), akkor kapcsold be azt is! A JFS és XFS nem igazán
gyakori, de ha kell, azt is bekapcsolhatod. Minixet a linuxos floppy-k
használnak, én még soha nem használtam ( emellett a fat16-os floppyt is kiválóan
kezeli a linux - már ha használ valaki még ilyen megbízhatatlan és elavult
adathordozót )

A CD-ROM/DVD Filesystems-ről nincs mit beszélni, jó ahogy van, ellenben a
DOS/FAT/NT Filesystems-re szükséged lehet, ha van wined. Itt már támogatott az
NTFS írása is...itt bekapcsolhatod, ha kell...

Pseudo filesystems - nos uhu-soknak itt kell figyelni ( legalábbis uhu-1.1-ig
így volt ) Az általam eddig használt rendszerekhez - KIVÉTEL AZ UHU - ez a
beállítás kelett:



Viszont UHU alá így kell:



A különbség a /dev file system support-ban van és ennek az automountjában. Uhu
alatt ha ez a kettő nincs kijelölve kernel panic-ot kapsz bootkor!!!Fontos, hogy ezt sem rakhatod modulba! Ellenben
más disztrik alatt, ha be van kapcsolva, akkor azért sikít a rendszer!!!
Tehát erre figyelj oda!

Miscellaneous filesystems - nálam ki van kapcsolva, ha kell vmi belőle kapcsold
be, elég egyértelmű mi ez

Network File Systems - mint fent, ha kell NFS vagy Samba, akkor lődd be, nálam
ki van kapcsolva.

Partition Types - soha nem használtam, kikapcsolt nálam

Native Language Support - ez is egyértelmű, állítsd Codepage 852
(Central/Eastern Europe)-ra és NLS ISO 8859-2 (Latin 2; Slavic/Central European
Languages)-ra, de akár mindet kijelölheted... Én a fenti kettőt kapcsolom be.

Ezzel ez az almenü is kész, lépjünk eggyel feljebb!

Most már rendben is vagyunk! A következőket ( Profiling support; Kernel
hacking; Security options; Cryptographic options; Library routines ) hagyhatod
gyári beállításokon.
Mentsd el egy fájlba a configodat ( hátha még kell ) - Save Configuration to
an Alternate File, majd lépj ki! A kérdésre pedig ( Do you wish to save your
new kernel configuration? ) válaszolj igennel.



Most már nincs más dolgod, mint kiadni a következő parancsot:
root@pomm:/usr/src/linux-2.6.11#make bzImage

Ha monolitikus kernelt csináltál, akkor ha ez lefutott, másold a kernelt
ahonnan indítani szeretnéd és kész vagy! Ha modulost csináltál, akkor folytasd
a make bzImage lefutása után így:
root@pomm:/usr/src/linux-2.6.11#make modules
Ha ez is kész:
root@pomm:/usr/src/linux-2.6.11#make modules_install
Ha megvan, akkor másolod a bzImage-t, ahonnan indítani szeretnéd és kész vagy!*

*Megjegyzés:
Nem feltétlen kell a bzImage-t másolnod, megadhatod a grub-ban vagy a Lilo-ban
a mostani helyének elérési útját is.
egy példa grubra:
title kernel-2.6.11
kernel (hd0,1)/usr/src/linux-2.6.11/arch/i386/boot/bzImage root=/dev/hda2

Amiért ezt nem javaslom az az, hogy én is egyszer így csináltam, aztán vmiért
újra forgattam a kernelt és simán felülírtam a régit aminek nem örültem!
Ez igaz arra is ha a bzImage-t másolod a /boot alá ( ahol az eredeti is van
)!
Nem biztos, hogy jó ha, felülírod az eredetit!!!
Adj neki más nevet ( én a kernel verziószámot adom pl. meg )
A bzImage-t másolom 2611 névvel és kész. Ha elszabtunk vmit az eredeti még
mindíg indítható és javíthatjuk a hibánkat!


Ha ez is kész van már csak a grubunkat kell szerkeszteni. Ehhez editáljuk a
/boot/grub/menu.lst fájl-t és hozzunk létre új bejegyzést, az új kernelünknek.
Példa:
title 2.6-os kernelem
kernel (hd0,1)/boot/2611 root=/dev/hda2

Értelemszerűen változtad a merevlemez nevét és partició számát a neked kellőre!
Ha nem érted mi is az, akkor el se kezd fordítani a kernelt!!!

Nos, tudom a leírásom nem tökéletes és biztos vannak benne hibák. Teljesnek sem nevezném,
mert sok dolgot nem használok, ezekről nekem sincs infim és nem
HELP-et fordítottam ( mivel nem is beszélek angolul ), hanem leírtam a
tapasztalataim.
Én ezt nem tanultam, amit leírtam azt maga bogarásztam ki vagy saját káromon
tanultam meg.

A leírást mindenki saját felelőségére használja,
semmiféle garanciát nem vállalok a következményekért!!!


Ezen leírást pomm követte el az Úr 2005. évében Március 3.-án a Linux-klub
számára. Okulásként bárhol megjelenhet, kérésem csak annyi, hogy tüntessétek
fel a nevem...


Bármilyen kérdéssel, észrevétellel nyugodtan forduljatok hozzám vagy a linux klubhoz, akár e-mail-ben, akár a fórumunkon!


üdv: pomm




>> Kategória cikkeinek listája
<< Vissza a cikkek főoldalára


Értékelés
A cikkre szavazat(ok):  10.0 - 2 szavazat

Oldal létrehozási idő: 0.8153 másodperc.