A forrást anonymous ftp-vel lehet beszerezni az ftp.kernel.org
-on a
/pub/Linux/
könyvtárból, egy tükrözésrõl, vagy
egyéb helyrõl. Általában linux-x.y.z.tar.gz
a neve, ahol
x.y.z
a verziószám. Az újabb (jobb?) verzók és patch-ek általában
`v2.0
' és `v2.1
' nevû alkönyvtárakban vannak. A legnagyobb
szám a legújabb verzió (jelenleg v2.1
), és ezek "fejlesztõi verziók".
Ha félsz az alfa és béta verzióktól, akkor inkább maradj egy stabil verziónál
(v2.0
).
Nyomatékosan ajánlom, hogy használj egy tükör ftp-helyet az ftp.kernel.org helyett. Itt egy rövid lista a tükrözésekrõl:
USA: sunsite.unc.edu:/pub/Linux/kernel USA: tsx-11.mit.edu:/pub/linux/sources/system UK: sunsite.doc.ic.ac.uk:/pub/unix/Linux/sunsite.unc-mirror/kernel Ausztria: ftp.univie.ac.at:/systems/linux/sunsite/kernel Németország: ftp.Germany.EU.net:/pub/os/Linux/Local.EUnet/Kernel/Linus Németország: sunsite.informatik.rwth-aachen.de:/pub/Linux/PEOPLE/Linus Franciaország: ftp.ibp.fr:/pub/linux/sources/system/patches Ausztrália: sunsite.anu.edu.au:/pub/linux/kernel Magyarország: ftp.kfki.hu:/pub/linux/kernel ftp.aszi.sztaki.hu:/pub/Linux/kernel ftp.bme.hu:/pub/OS/Linux/kernel ftp.jate.u-szeged.hu:/pub/linux/kernel
Általában a sunsite.unc.edu
tükrözésein érdemes keresni. A
/pub/Linux/MIRRORS
fájl tartalmazza az ismert tükrözések listáját.
Ha általános Linux információkat keresel, próbáld meg a következõ címeken:
http://www.linux.org
(angolul),
http://www.cab.u-szeged.hu/linux/
(magyarul).
Lépj be `root
'-ként (vagy válts át su
-val) és menj
át (cd
-vel) a /usr/src
-be. Ha a linux telepítésekor a
forrást is felrakattad (ahogy a legtöbben), akkor már lesz ott egy
`linux
' nevû könyvtár, ami tartalmazza az egész forrás-hierarchiát.
Ha van elég lemezterületed és biztosra akarsz menni, akkor tartsd meg ezt a
könyvtárat. A legjobb ha kideríted melyik verzió fut éppen és a könyvtárat
annak megfelelõen nevezed át. A `uname -r
' parancs kiírja az aktuális
verziószámot. Tehát ha az `uname -r
' azt válaszolta, hogy
`2.0.17
', akkor nevezd át a `linux
'-ot (`mv'-vel)
`linux-2.0.17
'-re. Ha szeretsz kockáztatni, akkor csak töröld ki az
egész könyvtárat. A lényeg, hogy ne legyen `linux
' nevû könyvtár
a /usr/src
-ben amikor kibontod a forrást.
Most (még mindig a /usr/src
-ben) bontsd ki a forrást a
`tar zxpvf linux-x.y.z.tar.gz
' paranccsal. (Ha csak egy
.tar
fájl van .gz
nélkül a végén, akkor a
`tar xpvf linux-x.y.z.tar
' paranccsal.) Az archivum tartalma el fog
száguldani a képernyõn. Amikor vége, lesz egy új `linux
' könyvtár
a /usr/src
-ben. Menj bele és nézd át a README
fájlt. Lesz
benne egy `INSTALLING the kernel
' címû rész. Hajtsd végre az
utasításait, ha szükséges -- például a szimbolikus linkek elkészítése a
megfelelõ helyre, stb.
Megjegyzés: Az itt következõk egy része a Linus-féle README
egy hasonló fejezetének megismétlése, részletezése.
A /usr/src/linux
-ból kiadott `make config
' parancs
elindít egy konfiguráló scriptet, amely sok kérdést tesz fel. A bash
kell hozzá, ezért ellenõrizd, hogy létezik-e a /bin/bash
, a
/bin/sh
a /bin/bash
-ra mutat-e,
vagy a $BASH
tartalmazza-e a /bin/bash
-t.
A `make config
'-nak van két könnyebben és kényelmesebben használható
alternatívája. Azok akik X alatt dolgoznak, megpróbálhatják a
`make xconfig
'-ot, ha van Tk installálva. A `make menuconfig
'
azoknak való, akik jobban szeretnének egy szöveges menüt; (n)curses kell hozzá.
Ezeknek a felületeknek van egy határozott elönyük: Ha elrontasz valamit a
konfigurálás közben, akkor egyszerûen vissza lehet menni kijavítani.
A kérdésekre általában igennel (`y
' (yes)) vagy nemmel (`n
'
(no)) kell válaszolni. Az eszközmeghajtókhoz általában van `m
' opció
is. Ez azt jelenti ``modul'', azaz a rendszer le fogja fordítani, de nem
közvetlenül a kernelbe, hanem betölthetõ modulként. Néhány nyilvánvaló és
nem fontos opciót itt nem magyarázok el, néhány egyéb opció leírását
lásd az ``
Egyéb konfigurációs opciók'' címû
fejezetben.
A 2.0.x verziótól kezdve van egy `?' opció is. Ennek hatására az adott paraméter egy rövid leírását kapjuk. Ez a legnaprakészebb információ az adott opcióról.
Társprocesszor emuláció. Ha nincs matematikai társprocesszor a gépedben (egy sima 386 vagy 486SX esetén) akkor erre igennel kell válaszolni. Ha van társprocesszor és mégis igennel válaszolsz, ne aggódj -- a kernel használni fogja a társprocesszort és figyelmen kívül hagyja az emulációt. Az egyetlen következmény az, hogy a kernel nagyobb lesz, fogyasztva a memóriát. Úgy hallottam, hogy a társprocesszor emuláció lassú. Bár nincs sok köze ehhez a fejezethez, jó ha ez eszedbe jut, ha azt tapasztalod, hogy nagyon lassú az X.
Megnövelt IDE/MFM/RLL disk/cdrom/szalagos egység támogatás. Erre valószínûleg szükség lesz. Ez azt jelent, hogy a kernel támogatni fogja a szabványos PC merevlemezeket; a legtöbb gépben ilyen van. Ebbe nem tartoznak bele az SCSI maghajtók, ezek konfigurálására késõbb kerül sor.
Amennyiben nem a fenti kell, választhatod még az `Old harddisk (MFM/RLL/IDE) driver'-t (régi MFM/RLL/IDE lemez meghajtó). Csak az egyiket lehet választani. A fõ különbség az, hogy a régi meghajtó csak két lemezegységet tud kezelni egy csatolón, míg az elõbbi egy második csatolót is tud kezelni illetve az IDE/ATAPI CD-ROM és szalagos egységeket is. Az új meghajtó 4k-val nagyobb, mint a régi és feltételezhetôen ``javított'', ami azt jelenti, hogy amellett, hogy több hibajavítást is tartalmaz, megnöveli a lemezek teljesítményét, különösen az újabb (EIDE) hardver esetén.
Hálózati támogatás.
Elméletileg erre csak akkor kellene igennel válaszolni, ha géped
egy hálózaton van, mint amilyen az Internet, vagy éppen SLIP, PPP, term,
stb. segítségével telefonvonalon akarsz hálózatra kapcsolódni.
De mivel sok programcsomag (mint például az X ablakozó rendszer)
akkor is igényel hálózati támogatást, ha a gép nincs igazi hálózatra
kötve, mindenképpen igennel kell válaszolni. Késõbb megkérdezi, hogy
akarsz-e TCP/IP támogatást; itt is y
' a válasz, ha nem vagy
teljesen biztos az ellenkezõjében.
Memória korlátozása az alsó 16 MB-ra. Vannak hibás 386-os DMA vezérlõk, amelyek nem tudnak 16 MB fölé esõ memóriát megcímezni. Csak abban a ritka esetben kell igennel válaszolni, ha ilyened van.
Az IPC (Interprocess Communication = ``processzek közötti kommunikáció'')
egyik legjobb definicója a Perl könyv szómagyarázatában található.
Nem meglepõ, hogy néhány Perl programozó ennek segítségével küld
üzeneteket processzek között, csakûgy mint sok más programcsomag
(pl. a DOOM, hogy a legismertebbet említsem). Ezért nem ajánlatos
n
-nel válaszolni, hacsak nem tudod pontosan mit csinálsz.
Processzor típusa. Régebben ez befordított bizonyos optimalizációt az adott processzorhoz; a kernel simán futott más processzorokon is, csak egy kicsit nagyobb volt. Az újabb kernelek esetén ez már nem így van, ezért annak a processzornak a tipusát kell beírni, amelyhez a kernel készül. Egy ``386-os'' kernel minden gépen menni fog.
SCSI támogatás.
Ha van SCSI eszközöd, válaszolj `y
'-t. További kérdéseket fog
feltenni CD-ROM támogatásról, a lemezegységek és az SCSI adapter típusáról.
Lásd az
SCSI-HOWTO-t részletes információért.
Hálózati eszköz támogatás. Ha van hálózati kártyád, vagy szeretnél SLIP-pel, PPP-vel vagy a párhuzmos porton át csatlakozni az Internethez, válaszolj igennel. A konfigurációs script megkérdezi a kártya tipusát és a használandó protokollt.
Fájlrendszerek. A konfiguráló script ezek után megkérdi, hogy akarod-e használni a következõ fájlrendszereket:
Minix - Az újabb disztribúciók nem hoznak létre minix fájlrendszereket, és sokan nem is használják, de ennek ellénére érdemes lehet bekonfigurálni. Néhány ``mentõlemez''-program használja, és sok floppyn van minix fájlrendszer, mert floppyn sokkal kényelmesebb ezt használni (kevesebb helyet foglal maga a fájlrendszer).
Extended (ext) - Ez volt az ext2 fájlrendszer elsõ változata, ma már nem használják széles körben. Ha szükséged van rá, akkor valószínüleg tudsz is róla; ha nem tudod, akkor nincs is rá szükséged.
Second extended (ext2) - Ezt széles körben használják az újabb disztribúciók. Valószínûleg ilyened van, ezért igennel kell válaszolni.
xiafs - Egy idõben elterjedt volt, de most nem ismerek senkit aki használja.
msdos - Ha használni akarod a meglévõ MS-DOS winchester particiókat, vagy DOS alatt formázott floppykat akarsz mountolni, akkor válaszolj igennel.
umsdos - Ez a fájlrendszer kibõvít egy MS-DOS fájlrendszert a szokásos Unix-szerû tulajdonságokkal, mint például a hosszú fájlnevek. Haszontalan olyanoknak (mint én), akik nem használnak DOS-t.
/proc - Az egyik legnagyszerûbb dolog a tejpor feltalálása óta. (Az ötletet
azt hiszem a Bell Labs-tól lopták szégyentelen módon.) A proc fájlrendszer
nem arra való, hogy létrehozzák a lemezen; ez egy fájlrendszer felület
a kernel és a processzek felé. Sok processz-listázó (mint a `ps
')
használja. Egyszer próbáld ki a `cat /proc/meminfo
' vagy
`cat /proc/devices
' parancsokat. Néhány parancsértelmezõ
(különösen az rc) használja a /proc/self/fd
-t (más rendszereken
/dev/fd
néven ismert) I/O mûveletekre. Majdnem biztosan
igennel kell válaszolnod erre, sok fontos linux segédprogram támaszkodik rá.
NFS - Ha a géped hálózatra van kötve és szeretnél más gépeken lévõ fájlrendszerereket használni NFS-sel, akkor válaszd ki.
ISO9660 - A legtöbb CD-ROM-on ez található. Ha van CD-ROM meghajtód és szeretnéd linux alatt használni, válaszd ki.
HPFS - Az írás idején egy csak olvasható fájlrendszer OS/2 HPFS-hez.
System V and Coherent - System V és Coherent partíciókhoz. (Ezek más PC-s Unix változatok.)
Jól van, írd be, hogy `mount
'. A kimenet valami ilyesmi lesz:
blah# mount
/dev/hda1 on / type ext2 (defaults)
/dev/hda3 on /usr type ext2 (defaults)
none on /proc type proc (defaults)
/dev/fd0 on /mnt type msdos (defaults)
Nézd meg mindegyik sort. A `type
' utáni szó a fájlrendszer
típusa. Ebben a példában a /
és a /usr
fájlrendszerek
típusa ext2 (second extended). Használok /proc
fájlrendszert is, továbbá egy floppy be van mountolva msdos
fájlrendszerként.
Megpróbálkozhatsz a `cat /proc/filesystems
' paranccsal, ha
a /proc
éppen támogatva van a futó kernelben és be van mountolva;
ez ki fogja listázni az aktuális kernel fájlrendszereit.
Ritkán használt, nem létfontosságú fájlrendszerek bekonfigurálása túlméretezett kernelt eredményezhet. A modulokról szóló fejezetbõl kiderül, hogy ezt hogy lehet elkerülni. A `` Néhány kelepce'' címûbõl pedig az, hogy miért nemkívánatos a nagy kernel.
Karakteres eszközök.
Itt állíthatók be a (párhuzamos) nyomtató, busz-egér (busmouse), PS/2 egér
(sok notebook gép használ PS/2 egér protokollt a beépített trackballhoz),
néhány szalagos egység és más hasonló ``karakteres'' eszközökhöz a meghajtók.
Nyomj `y
'-t a megfelelõ helyen.
1. Megjegyzés: A selection egy program amely lehetõvé teszi az egér használatát az X ablakozó rendszeren kívül is, virtuális konzolok közötti másolásra. Ha soros egered van, elég kellemes, mert jól megfér az X-el, de ha másmilyen, akkor trükközni kel. A selection támogatása valamikor konfigurációs opció volt, de ma már szabványos.
2. Megjegyzés: A selection már elavultnak számít. Az új program neve ``gpm''. Többet tud: például egér protokollok között fordítani, több egeret kezelni, stb.
Hangkártya. Ha nagyon vágysz arra, hogy halljad a biff
-et ugatni,
nyomj `y
'-t, és a konfigurációs program részletesen ki fog kérdezni
a hangkártyádról. Ha van hangkártyád, melegen ajánlom a
Sound-HOWTO-t.
Nincs az összes konfigurációs opció felsorolva itt, egyrészt mert túl gyorsan
változnak, másrészt mert magától értetõdõek. (Például a ``3Com 3C509 support''
az említett ethernet kártyához való támogatást jelenti.)
Axel Boldt (axel@uni-paderborn.de
) összeállított egy meglehetõsen
széleskörû listát az összes opcióról (és egy módszert, amivel be lehet
tenni õket a Configure
scriptbe), amely a
http://math-www.uni-paderborn.de/~axel/config_help.htmlcímen található, vagy anonymous FTP-vel a
ftp://sunsite.unc.edu/pub/Linux/kernel/config/krnl_cnfg_hlp.x.yz.tgzcímen, ahol
x.yz
a verziószám.
A késõbbi kernelekben (2.0.x és e fölött) ez már be van integrálva a forrásba.
Linus írja a README-ben:
A ``kernel hacking'' konfigurációs részletek általában nagyobb vagy lassabb (vagy mindkettõ) kernelt eredményeznek, sõt akár kevésbé stabilabbá is tehetik a kernelt azáltal, hogy bekonfigurálnak néhány rutint, amelyek megpróbálják aktívan feltörni a hibás programrészleteket, hogy így találjanak problémákat. Ezért inkább `n'-t kell válaszolni az erre vonatkozó kérdésekre egy ``stabil'' kernel esetén.
A make menuconfig
vagy a make xconfig
után egy üzenet
tudatja, hogy a kernel konfigurálása
megtörtént és felszólít, hogy ``check the top-level Makefile
for
additional configuration'', stb. (``További konfiguráláshoz ellenõrizd a
felsõszintû Makefile-t'')
Nézz bele tehát a Makefile
-ba.
Valószínûleg nem kell megváltoztatni semmit, de megnézni sosem árthat. Az
opciókat megváltoztathatod akkor is, amikor az új kernel már a helyén van
az `rdev
' paranccsal.