Handbook:MIPS/Blocks/Kernel/hu

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:MIPS/Blocks/Kernel and the translation is 100% complete.


Beállítás előkészítése

Important
Az Origin 200/2000, Indigo2 Impact (R10000), Octane/Octane2 és O2 rendszerek esetében 64 bites kernel szükséges a rendszer indításához. Ezekhez a számítógépekhez telepítse a sys-devel/kgcc64 szoftvercsomagot, hogy létrehozzon egy keresztfordítót 64 bites kernelek forráskódjának a fordításához.

Számos támogatott operációs rendszeren a mintaként szolgáló alapértelmezett .config fájlok a kernel forráskódjában találhatók meg. Nem minden rendszerhez érhetők el ilyen beállításfájlok. Azoknál, amelyekhez igen, a lenti táblázatban említett parancsokkal lehet beállítani a rendszert.

Rendszer Beállítási parancs
Cobalt szerverek make cobalt_defconfig
Indy, Indigo2 (R4k), Challenge S make ip22_defconfig
Origin 200/2000 make ip27_defconfig
Indigo2 Impact (R10k) make ip28_defconfig
O2 make ip32_defconfig

Az összes Gentoo telepítési képfájl tartalmaz egy kernel beállítási opciót, amely maga a képfájl részeként elérhető a /proc/config.gz helyen. Ez sok esetben használható. Azonban a legjobb, ha a kernelforráskódja szorosan illeszkedik ahhoz a kernelhez, amely jelenleg fut. A kibontáshoz egyszerűen futtassa zcat parancson keresztül, ahogyan az alább látható.

root #zcat /proc/config.gz > .config
Important
Ez a kernelbeállítás egy netboot képfájlra van beállítva. Ez azt jelenti, hogy elvárja, hogy a root fájlrendszer kép valahol a közelben legyen, akár egy initramfs könyvtárként, akár egy loopback eszközként initrd esetén. Amikor a make menuconfig parancsot hajtja végre, ne feledjen el belépni a General Setup menüpontba, és tiltsa le az initramfs opciókat.

Beállítás testreszabása

Miután megtalálta a beállítást, töltse le a kernel forráskódjának a könyvtárába, és nevezze át .config névre. Ezt követően futtassa a make oldconfig parancsot, hogy mindent naprakésszé tegyen a fenti utasítások szerint, majd testre szabhatja a beállítást a forráskód fordítása előtt.

root #cd /usr/src/linux
root #cp /path/to/example-config .config
root #make oldconfig

Egyszerűen csak nyomja meg az ENTER (vagy Return) billentyűt minden kérdésnél, hogy most elfogadja az alapértelmezett értékeket...

root #make menuconfig
Important
A Kernel Hacking szekcióban található egy "Are You Using A Cross Compiler?" nevű opció. Ez arra utasítja a kernel Makefile-jait, hogy a gcc és as parancsok elé illessze a "mips-linux-" (vagy mipsel-linux stb.) előtagot a kernel forráskódjának a fordításakor. Ezt az opciót ki kell kapcsolni, még akkor is, ha keresztfordítást végez. Ha keresztfordítóra van szükség, akkor a prefixet a CROSS_COMPILE változóval kell megadni, ahogy azt a következő szakasz mutatja.
Important
Ismert probléma van a JFS és az ALSA között az Octane rendszereken, ahol az ALSA nem működik megfelelően. Tekintettel a JFS kísérleti jellegére a MIPS platformon, ajánlott, hogy egyelőre kerülje a JFS használatát.

Forráskód fordítása és telepítés

Most, hogy a kernel be van állítva, eljött az idő a forráskód fordítására és a bináris képfájl telepítésére. Lépjen ki a beállításból, és indítsa el a forráskód fordításának a folyamatát:

Note
64 bites számítógépeken adja meg a CROSS_COMPILE=mips64-unknown-linux-gnu- (vagy mips64el-..., ha little-endian rendszeren van) változót a 64 bites forráskód fordító használatához.

A forráskód natív fordításhoz:

root #make vmlinux modules modules_install

Kereszt-fordítás célgép esetén, igazítsa a mips64-unknown-linux-gnu- értéket ennek megfelelően:

root #make vmlinux modules modules_install CROSS_COMPILE=mips64-unknown-linux-gnu-

Amikor egy másik számítógépen, például egy x86 számítógépen fordítja a forráskódot, akkor használja a következő parancsokat a kernel forráskódjának a fordításához és a kernelmodulok telepítéséhez egy adott könyvtárba, hogy azokat átmásolhassa a cél számítógépre:

root #make vmlinux modules CROSS_COMPILE=mips64-unknown-linux-gnu-
root #make modules_install INSTALL_MOD_PATH=/somewhere
Important
Indy, Indigo2 (R4k), Challenge S és O2 számítógépekhez 64 bites kernel forráskódjának a fordításakor a vmlinux helyett használja a vmlinux.32 célt. Ellenkező esetben a számítógép nem fog tudni bootolni. Ez a megoldás azért szükséges, mert a PROM nem érti az ELF64 formátumot.
root #make vmlinux.32
Note
Lehetőség van párhuzamos forráskód fordítás engedélyezésére a make -jN használatával, ahol N a párhuzamosan indítható feladatok számát jelenti. Ez hasonló a korábbi, /etc/portage/make.conf fájlban található MAKEOPTS változóval kapcsolatos utasításokhoz.

A fenti művelet létrehozza a vmlinux.32 fájlt, amely a végleges kernelképfájl.

Amikor a kernel forráskódjának a fordítása befejeződött, másolja a bináris kernelképfájlt a /boot/ könyvtárba.

Note
Cobalt szervereken a bootloader tömörített kernelképfájlt vár. Ne felejtse el a fájlt gzip -9 paranccsal tömöríteni, miután a /boot/ könyvtárba helyezte.
root #cp vmlinux /boot/kernel-6.6.21-gentoo

Cobalt szerverek esetén tömörítse a kernelképfájlt:

root #gzip -9v /boot/kernel-6.6.21-gentoo