2. Előkészületek az XFS támogatás telepítéséhez

2.1. A Linux 2.4.x-XFS forráskód letöltése

Az SGI Open Source Development oldalai jelenleg az egyetlen olyan hely, ahol elérhető az XFS támogatás Linux alatt használható forráskódja. Innen CVS-en keresztül töltheted le az anyagokat

MegjegyzésMegjegyzés
 

jelenleg két különböző változat érhető el:

  • linux-2.5-xfs: fejlesztői változat

  • linux-2.4-xfs: stabil, hibamentes változat

Az én tapasztalataim a 2.4 verzión alapulnak, de úgy gondolom, a fejlesztői változatban is minden ugyanúgy működik. Mindkét változatot szinkronizálják a saját rendszermag-ágával, legalábbis annak fő változataival.

A kernel forrás letöltéséhez szükséges lépések a következők:

A. A Linux kernel forrása általában az /usr/src könyvtárban van, tehát először lépj be ebbe a könyvtárba (vagy ahová a kernel forrást telepítetted - a ford.)

     $ cd /usr/src   
    

B. Állítsd be a CVSROOT környezeti változót, hogy az a megfelelő CVS kiszolgálóra mutasson

Ha gyakran szeretnéd frissíteni a kernelt, érdemes ezt beletenni a login scriptbe.

C. Jelentkezz be a CVS kiszolgálóra.

     $ cvs login  (a jelszó: "cvs")   
    

Ezt csak EGYSZER kell megtenned, nem minden alkalommal, amikor ezt a CVS-t használod.

D. Töltsd le a linux-2.4-xfs forráskódot. Az első alkalommal ez valahogy így néz ki:

     $ cvs -z3 co linux-2.4-xfs    
    

Legközelebb csak le kell ellenőrizni a forrást, valahogy így...

     $ cvs -z3 update linux-2.4-xfs   
    

...majd frissíteni a nálad lévő forráskódot a CVS kiszolgálón lévő legfrissebb változatra.

2.2. XFS támogatás: kernelbe fordítva vagy modulként betöltve?

Az XFS támogatást modulként is lehetséges kernelbe fordítani, ami aztán RAM diszk és néhány lilo konfigurációs beállítás segítségével működik is (nekem legalábbis így mondták). Én nem próbáltam ezt ki egyelőre, tehát nem tudom leírni ennek a menetét, ezért idézek Russel Cattelan fejlesztői levelezőlistára beküldött leveléből:

 

Valójában nem nehéz az xfs támogatást modulként futtatni. A cmd/xfs/misc könyvtárban van egy módosított mkinitrd, amely mindig előállít egy RAM diszket az xfs és xfs_support számára.

Elég egyszer hozzáadni az initrd betöltésére vonatkozó bejegyzést a lilo.conf állományban ÉS:

      append = "ramdisk_size=25000"   
     

Az alapértelmezett méret 4096, ami közel sem elég az xfs támogatáshoz.

Részlet a hordozható gépem beállításainak listájából:

      punch[12:57am]-=>mount
      /dev/ide/host0/bus0/target0/lun0/part8 on / type xfs (rw,noatime) 
      none on /proc type proc (rw) 
      /dev/ide/host0/bus0/target0/lun0/part6 on /boot type ext2 (rw,noatime) 
      none on /dev/pts type devpts (rw,mode=0620)
      /dev/ide/host0/bus0/target0/lun0/part1 on /mnt/windows type vfat (rw,nosuid,nodev,umask=0) 
      /dev/ide/host0/bus0/target0/lun0/part9 on /blam type xfs (rw)   

      punch[12:57am]-=>lsmod 
      Module                  Size Used by 
      autofs                 13180   1 (autoclean) 
      usb-uhci               24918   0 (unused) 
      usbcore                35339   0 [usb-uhci]
      3c59x                  25149   1 (autoclean) 
      maestro                29757   0 (unused) 
      soundcore               6085   2 [maestro]
      vfat                   13075   1 (autoclean) 
      fat                    37733   0 (autoclean) [vfat] 
      xfs                   447888   2 
      xfs_support            13954   0 [xfs] 
      pagebuf                39935   2 [xfs]   
 
      image=/boot/vmlinuz-2.4.0-XFS-test13-pre4 
      label=t13p4  
      root=/dev/hda8
      initrd=/boot/initrd-2.4.0-XFS-test13p4.img 
      append="ramdisk_size=25000"
      read-only   
     

 
-- Russell Cattelan  

Ez alapján azt gondolom nem túl nehéz a támogatást modulként a kernelbe fordítani, ez az, amit én is tenni fogok. Megpróbálom majd így használni később, és további részletekkel szolgálok ennek megvalósításáról. Ha valakinek van ideje leírni ennek menetét mielőtt én megtenném ezt, kérem, küldje el e-mailben, én majd beleteszem a leírásba, a szerzőt megillető jutalékkal együtt :-))