A kernel II.
2004/01/11 21:09
728 megtekintés
A cikk már legalább egy éve nem frissült, az akkor még aktuális információk lehet, hogy mára elavultak.
Előző cikkünkből megtudtuk, mi a kernel. Most nézzük, hogyan állíthatjuk össze magunknak!

Fogjunk hozzá!

A kernelfordításhoz vezető út legelső állomása a kernelforrás beszerzése. Miután eldöntöttük, melyik verziót fogjuk használni, töltsük le a http://www.kernel.org címről vagy bármelyik, itt megemlített tükörszerverről. A kernelforrást tömörített formában (gzip vagy bzip) tölthetjük le, ezt általában a /usr/src/linux könyvtárba csomagoljuk ki a tar zxpvf linux-a.b.c.tar.gz parancs segítségével. A kernel konfigurálását a make config vagy a make menuconfig parancsokkal indíthajuk el. Utóbbi használatához az (n)curses csomagra lesz szükség (Debian alatt az apt-get install libncurses5-dev paranccsal szerezhetjük be), de ezt javasoljuk is, hiszen sokkal áttekinthetőbb felületet kapunk.

A parancs kiadása után egy szép szerkezetű menürendszert láthatunk a következő kategóriákkal:

  • Code maturity level options (itt bekapcsolhatjuk a béta állapotban levő funkciókat)
  • Loadable module support (modularizált kernel létrehozása)
  • Processor type and features (processzor[ok] típusa és mennyisége)
  • General setup (általános beállítások)
  • Memory Technology Devices (MTD)
  • Parallel port support (párhuzamos port konfigurálása)
  • Plug and Play configuration
  • Block devices (blokk eszközök, pl. floppy, RAM-disk)
  • Multi-device support (RAID and LVM)
  • Networking options (hálózati opciók)
  • Telephony Support (telefonos eszközök támogatása)
  • ATA/IDE/MFM/RLL support
  • SCSI support
  • Fusion MPT device support
  • IEEE 1394 (FireWire) support (EXPERIMENTAL)
  • I2O device support
  • Network device support (hálózati interface-ek konfigurációja)
  • Amateur Radio support
  • IrDA (infrared) support
  • ISDN subsystem
  • Old CD-ROM drivers (not SCSI, not IDE)
  • Input core support (USB-s beviteli eszközök)
  • Character devices (karakteres eszközök)
  • Multimedia devices
  • File systems
  • Console drivers (VGA és egyebek)
  • Sound
  • USB support
  • Bluetooth support
  • Kernel hacking
  • Cryptographic options
  • Library routines

Alaposan nézzünk körül, rengeteg beállítási lehetőség van az egyes menükben, sőt, azokon belül is. Miután a kernelünk konfigurálásával végeztünk, nincs más hátra, mint a fordítás elindítása.

Let's make (things better)!

A 2.4.0-s kernel szerkezete

A fordítást a make dep paranccsal kezdjük, ez ellenőrzi, hogy minden függőség a helyén van-e. Következik a make clean, mely letöröl minden felesleges file-t. A make bzImage parancs végre elkezdi a fordítást, melynek lefutása után kapunk egy tömörített kernelt a /usr/src/linux/arch/i386/boot könyvtárban. Amennyiben moduláris kernelt használunk, adjuk ki a make modules és a make modules_install parancsokat, ezek elkészítik és a megfelelő helyre másolják a modulokat. Legvégül jöhet a make install, mely telepíti a kernelt a helyére és futtatja a LiLo-t. Ha próbaképpen szeretnénk a kernelünket elindítani, célszerű a make bzdisk használata, mely egy floppyra írja ki a kész kernelt. Erről bootolva megnézhetjük, működik-e a kernelünk. Ha nem, visszatérhetünk a régihez.

Buktatók

Mielőtt azt hinnénk, hogy a kernelfordítás gyerekjáték, nézzük, milyen hibákat szoktunk véteni:

  • Kihagyunk valamit a kernelből, pl. a merevlemezvezérlő kódját. Szerfelett kellemetlen.
  • Túl sok mindent rakunk a kernelbe, ezért nagy és lomha lesz.
  • Létfontosságú kódot modulba teszünk, pl. a merevlemezvezérlőét, ezért a bootolás meghiúsul.
  • Nem megfelelő filerendszert rakunk a kernelbe, ezért bootolásnál nem tudja azt mountolni.

Sorozatunk következő részében a kernel konfigurálásának finomabb bemutatásával folytatjuk.

Csatlakozz hozzánk!

Ajánljuk

European Schoolnet Academy Ingyenes online tanfolyamok tanároknak
School Education Gateway Ingyenes tanfolyamok és sok más tanárok számára
ENABLE pilot Program iskoláknak a bullying ellen
eBiztonság Minősítés Minősítési rendszer oktatási intézményeknek