12. A 2.6-os Linux rendszermag

12.1. Mik az újdonságok?

A rendszer beállítása a fent leírt módon tökéletes 2.4.x rendszermagok esetén, azonban 2.6.x (x = 0, 1, 2, 3, a készítés időpontjakor) esetén sokkal több lehetőségünk van:

12.2. Rendszermag beállítások

A rendszermag konfigurációs beállításai nagyrészt megegyeznek a 5.2 fejezetben leírtakkal. A beállító menüt azonban (# make menuconfig) szisztematikusan átszervezték.

12.3. Megjegyzések

A saját érdekedben ajánlatos elolvasni az Migrating to Linux Kernel 2.6 (Áttérés a 2.6-os Linux rendszermagra) leírást, de nem szükséges olyan lépéseket követni, amelyeket nem tudsz.

12.4. Gyorscsere és elnevezés

A 6.2 fejezetben tárgyaltuk az egy időben felcsatolt USB eszközök esetét. A nehézséget az okozza, hogy a felhasználó számára nehéz az eszközök megkülönböztetése. Előrehaladás történt ez ügyben a Linux Hotplug Project -ben (Linux Gyorscsere Projekt ) (keress rá a hotplug-ra), és a 2.6-os rendszermag-családban már meg is valósították, lehetővé téve a probléma hatékony kezelését. Ehhez szükség van néhány dologra:

12.4.1. Telepítés

A sysfs fájlrendszer része a 2.6-os rendszermag sorozatnak. Az udev és a sysfstools használja, hogy információt szerezzenek rendszermag-objektumokról (eszközök stb.): tulajdonságaikat és közös kapcsolatukat. Az aktiválás a következőképpen történik:


              # cd /
              # mkdir sys
              # mount -t sysfs none /sys
            

Az ls -F /sys parancs kiírja az egész könyvtárstruktúrát bejegyzésekkel, mint például block/, bus/, ... Ez is sikerült. A felcsatolást tartóssá tehetjük, ha az alábbi sort az /etc/fstab fájlhoz adjuk:


              none  /sys   sysfs  defaults  0  0
            

A szokványos módon telepíthető, nem igényel speciális beállítást. A README fájl útmutatásai jól érthetők. Azonban elsőként bizonyosodjunk meg arról, hogy az /usr/local/lib bejegyzés szerepel az /etc/ld.so.conf fájlban. Erre azért van szükség, hogy a libsysfs.so programkönyvtárakat felismerje a rendszer. Az telepítés után ellenőrizzük, hogy az /usr/local/bin/lsbus és az /usr/local/bin/systool segédprogramok települtek-e. Végül pedig ellenőrizzük, hogy a fent említett programkönyvtárak helyesen be vannak linkelve (ldconfig -p | grep libsysfs).

Következő lépésként telepítsük a hotplug szkripteket. Ha megvan, ellenőrizzük működésüket: less /proc/sys/kernel/hotplug. Az eredmény valami hasonló lesz: /sbin/hotplug. Ha mégsem, akkor egy megfelelő inicializáló szkriptbe (például: /etc/rc.d/rc.local) írjuk be: echo "/sbin/hotplug" > /proc/sys/kernel/hotplug. Ezt a parancsot (root felhasználóként) kiadhatjuk magunk is az ellenőrzés előtt. A telepítés különösen egyszerű: # make install. Ezután nézzük meg, hogy a /sbin/hotplug szkript megvan-e.

Ez az utolsó telepítés. Tanulmányozzuk a README fájlt, és kövessük a make USE_KLIBC=true futtatásához szükséges lépéseket. Ha már fordítottál 2.6.x-es rendszermagot, nem fog gondot okozni. Ellenőrizzük, hogy az /sbin/udev és az /sbin/udevinfo léteznek-e. Vannak más fájlok is, az egyik nagyon fontos az /etc/udev/udev.rules. Ha van egy működő rendszered, amivel működik a memóriakártyád (ahogy fent bemutattuk), és felcsatolod azt, kipróbálhatod, hogy a rendszer látja-e (sda, sda1, ...): ls /udev. Ha ott van, csatold le és listázz újra. Már nem lesz ott!

12.4.2. Memóriakártyák elnevezése

Az udev lehetőséget biztosít a memóriakártyák felismerésére, néhány beépített tulajdonság alapján. Ez a vendor azonosító alapján működik, amit a systool -vb scsi | grep vendor paranccsal tudhatunk meg, ha az eszköz csatlakoztatva van. Egy listát kapunk a csatlakoztatott SCSI eszközökről (emlékezzünk, hogy a memóriakártya a rendszer felé egy SCSI eszköz; 6.2 fejezet). Feltételezzük, hogy egyidejűleg két memóriakártya van felcsatolva. Ekkor két vendor azonosítót találunk. Név szerint: "UFD" és "STORAGE". Adjuk a következő sorokat az /etc/udev/udev.rules fájlhoz (akár az elejére is lehet):


              ## Flash Memory 1
              BUS="scsi", SYSFS_vendor="UFD*", NAME="namib%n"

              ## Flash Memory 2
              BUS="scsi", SYSFS_vendor="STORAGE*", NAME="kalahari%n"
           

A vendor azonosítóban lehetnek kiegészítő szóközök, ezért kellettek a csillagok. Ne hagyjuk le őket. Válasszuk el, majd ismét csatlakoztassuk a memóriakártyákat, és adjuk ki a ls /udev parancsot. A személytelen sda, sda1 stb. helyett kalahari, kalahari1, namib és namib1 van kiírva. Ezzel elneveztük az eszközt a "vendor" információ alapján. Mivel most már fel tudjuk ismerni az eszközt, nem probléma többé, hogy mihez van rendelve. Már csak annyi dolgunk van, létrehozzuk a szükséges csatolási pontokat, például /mnt/namib és kalahari, valamint bejegyezzük őket az /etc/fstab fájlba:


             /udev/namib1     /mnt/namib     vfat,ext2  user,noauto,rw  0 0 
             /udev/kalahari1  /mnt/kalahari  vfat,ext2  user,noauto,rw  0 0         
            

Ez jó móka... És jusson eszünkbe, hogy vannak még más sivatagok is a Földön.