JFS Root Boot HOGYAN

Paul Larson, plars@austin.ibm.com

v1.0, May 22, 2001 - Copyright © International Business Machines Corp., 2001

Micskó Gábor, trey@debian.szintezis.hu

v.1.1, 2002. augusztus. 25 - Copyright © Hungarian Unix Portal


Ez a HOWTO leírja azt az eljárást amellyel át tudunk konvertálni egy ext2 filrendszer alapú Linux rendszert úgy, hogy az egész az IBM Journaled File System (JFS)-en fusson. A JFS-sel kapcsolatos bővebb információért és a legfrissebb letöltési lehetőségért látogasd meg a JFS for Linux web oldalt a http://www-124.ibm.com/developerworks/oss/jfs/ URL-en.

1. Bemutatás

2. Előfeltételek

3. Ext2 alapú filerendszer konvertálása JFS-re

4. Copyright, licenc, visszajelzés és ilyesmi




1. Bemutatás

Ez a HOWTO leírja azt az eljárást amellyel át tudunk konvertálni egy ext2 filrendszer alapú Linux rendszert úgy, hogy az egész az IBM Journaled File System (JFS)-en fusson. A JFS-sel kapcsolatos bővebb információért és a legfrissebb letöltési lehetőségért látogasd meg a JFS for Linux web oldalt a http://www-124.ibm.com/developerworks/oss/jfs/ URL-en.

2. Előfeltételek

Mielőtt nekilátnánk, két előfeltételnek kell megfelelned:
  • Rendelkezned kell egy telepített és működő Linux rendszerrel
  • Rendelkezned kell egy üres partícióval, a partíciónak 83-as típusúnak (Linux) kell lennie. Az nem számít, hogy a partíció formázva van-e vagy sem, mi majd megformázzuk JFS-re, és úgyis eltűnik róla minden, ami előtte rajta volt ;-)

    Ez a dokumentum feltételezi, hogy egy nagy, egybefüggő Linux partíciód van, amelyen a root (/) filerendszered helyezkedik el, és nincsen külön a /home, /usr, stb. Nem baj ha esetleg külön vannak, viszont egy dologra figyelni kell, hogy az üres partíció amelyen a JFS filerendszer lesz elegendően nagy legyen ahhoz, hogy az egész / filerendszered elférjen rajta, módosítani tudd a /etc/fstab filet, törölni tudjál róla, vagy meg tudd változtani a becsatolások helyét ha az szükséges. Végül, a dokumentumban a root filerendszer (/) a /dev/hda5 eszközön van, és a új partíció, amelyet meg fogok formázni JFS-re a /dev/hda6-on lesz. Ez rendszer-specifikus, értelemszerűen más gépeken az ottani beállításokkal kell végezni a műveleteket.

    Amit még figyelembe kell vennünk az az, hogy szükség lesz a megfelelő patchekre (hacsak nem kernel támogatást használunk, amely a 2.4.20-pre4-től a rendelkezésünkre áll), patchelnünk kell a kernel forrást, és egy kernelt kell fordítanunk JFS támogatással. Ez nem nehéz dolog, de ha még soha nem fordítottál kernelt, akkor lehet hogy nem ezzel kellene kezdened ;-)

    3. Egy ext2 alapú rendszer konvertálása JFS-re

    Több kereskedelmi Linux terjesztés felajánlja telepítéskor, hogy a rendszerünket JFS filerendszerre telepíthetjük. Ilyenkor nem kell mást tenni, mint kiválasztani a JFS-t, megadni a csatolási pontot (/) és a telepítő elvégzi helyettünk a szükséges feladatokat. Ez a dokumentum a meglevő ext2 alapú rendszer ``áthelyezéséről" szól.

    A következő szekció leírja a szükséges lépéseket ahhoz, hogy hogyan építsünk fel egy JFS root (/) filerendszert, és hogyan bootoljuk be azt.

    3.1 Kernel fordítása JFS támogatással

    Töltsd le a legutolsó 2.4.x kernelt az ftp.kernel.org-ról, és a legutolsó jfs-x.y.z-patch.tar.gz-t a JFS for Linux web oldalról a /tmp könyvtárba. Csomagold ki őket egy elkülönített könyvtárba. Másold őket a /usr/src/ alá. Lépj be a kernel forrás alapkönyvtárába és patcheld meg a kernelforrást.
    #cd /usr/src
    #rm linux
    #tar -xvzf /tmp/linux-2.4.3.tar.gz
    #mv linux linux-2.4.3
    #ln -s linux-2.4.3 linux
    #mkdir jfs
    #cd jfs
    #tar -xvzf /tmp/jfs-0.3.1-patch.tar.gz
    #cd /usr/src/linux
    #patch -p1 < ../jfs/jfs-2.4.0-v0.3.1-patch
    #patch -p1 < ../jfs/jfs-common-v0.3.1-patch
    
    Konfiguráld a kernelt a make config (make menuconfig, make xconfig) segítségével, amelyik közelebb áll a szívedhez :-). A "Code maturity level options" címkével jelzett szekcióban, kapcsold be azt a menüpontot, hogy "Prompt for development and/or incomplete code/drivers." A "File systems" címkével jelzett szekcióban kapcsold be a "JFS filesystem support" stuffot. Legyél biztos abban, hogy a JFS támogatást a kernelbe fixen drótozva tetted, NEM MODULBA, mert akkor nem fogja boot időben a kernel támogatni a JFS-t (csak kisebb cselek árán, de erre most nem térek ki). Konfiguráld az egész kernelt ahogy szükséged van rá, mentsd el a konfigot, majd forgasd le a kernelt. A kernel fordítását a make dep; make clean; make bzImage parancsok kiadásával végezd (vagy ahogy tetszik, ezerféleképpen lehet) ha szükséges fordítsd le a modulokat is, make modules; make modules_install. Utána másold az új kernelt a /boot könyvtárba. Másold a System.map-ot /boot-ba.
    #make dep
    #make clean
    #make bzImage
    #cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.0-jfs
    #cp /usr/src/linux/System.map /boot
    
    Most szükségünk van a JFS programok lefordítására, (én a debian sarge rendszeremen egyszerűen kiadtam az 'apt-get install jfsutils' parancsot, de aki akarja forgassa le). Ezek azok a programok, amellyel a JFS filerendszert létre lehet hozni, ellenőrizni lehet, ki lehet terjeszteni a méretét, stb.
    #cd fs/jfs/utils
    #make
    #make install
    
    A következő lépés az, hogy módosítani kell a LILO bejegyzéseit úgy, hogy az új kernelünket bootolja be, és root (/) filerendszernek a JFS-t húzza fel. Szerkesszük a /etc/lilo.conf filet és végezzük el az alábbi bejegyzéseket:
    image=/boot/vmlinuz-2.4.0-jfs
    	label=jfsboot
    	read-only
    	root=/dev/hda5
    
    Futtassuk az /sbin/lilo parancsot, ahhoz hogy aktiváljuk a az új konfigurációt és rebootoljunk az új kernellel.

    3.2 JFS filerendszer készítése

    OK, most van egy kernelünk JFS támogatással, itt az ideje, hogy megformázzuk az üres partíciónkat JFS-re.
    #mkfs -t jfs /dev/hda6
    
    mkfs.jfs development version: $Name: v0_3_1 $
    
    Warning!  All data on device /dev/hda6 will be lost!
    
    Continue? (Y/N) y
       
    
    Format completed successfully.
    
    5120608 kilobytes total disk space.
    

    3.3 A root filerendszer másolása

    Ez egy könnyű lépés, kevés munkát igényel a részedről, viszont ez viszi el a legtöbb időt a munka során. Először is umount-old az összes NFS, SMB, és cdrom-ot, ami esetleg mountolva lenne. Készíts egy csatolási pontot (mount point) az új JFS partíció részére, és mountold azt. Néhány dolog mielőtt másolsz: ne másold a /proc könyvtárt, viszont készíts neki egy csatolási pontot. Ha nem tudod umountolni a NFS-ed vagy cd-rom-od, emlékezz rá, hogy ezeket ne másold. Minden mást másolj át a cp -a paranccsal.
    #mkdir /jfsvol
    #mount -t jfs /dev/hda6 /jfsvol
    #cd /
    #cp -a bin etc lib boot dev home usr var [...] /jfsvol
    #mkdir /jfsvol/proc
    
    Ugyanezt a cp -ax paranccsal is el lehet végezni könnyebben, lásd a bővebb információkért a cp man oldalát.

    3.4 Végső beállítások

    Mielőtt rebootolnánk az új JFS partíciónkra, el kell végeznünk néhány beállítást. Először is, meg kell változtatnunk a /etc/fstab bejegyzést a root partíciónkhoz. Emlékezz! hogy az fstab file amin dolgoznunk kell a /jfsvol/etc alatt van, hiszen az lesz az új root partíciónk. Tehát szerkeszd ezt a filet, és írd át a root partícióhoz szóló bejegyzést. Valahogy így:
    LABEL=/		/	ext2	defaults	1 1
    
    Ezt kell megváltoztatnunk így:
    /dev/hda6	/	jfs	defaults	1 1
    
    Editáld a /etc/lilo.conf-ot úgy, hogy a root partíciódra mutasson. Valami ilyesmit kell csinálnod:
    default=jfsboot2
    ...
    image=/boot/vmlinuz-2.4.0-jfs
    	label=jfsboot2
    	read-only
    	root=/dev/hda6
    
    Figyelj arra, hogy futtasd a'/sbin/lilo'-t újra, mielőtt rebootolnál.

    3.5 Reboot

    Gratulálok! Ha követted a lépéseket, akkor a rendszered tisztán JFS-en fut. Hogy ellenőrizd ezt, írd be 'mount' és ellenőrizd a kimenetet:
    /dev/hda6 on / type jfs (rw)
    none on /proc type proc (rw)
    none on /dev/pts type devpts (rw,gid=5,mode=620)
    
    Ha minden jól működik, akkor a régi partíciódat megformázhatod JFS-re, és visszaállíthatod a rendszered az eredeti partícióra. Vagy csinálhatsz amit kedved tart. Ha rám hallgatsz azt csinálsz amit akarsz ;-).

    4. Copyright, licenc, visszajelzés és ilyesmi

    JFS Root Boot HOWTO
    Paul Larson, plars@austin.ibm.com
    v1.0, May 22, 2001 - Copyright © International Business Machines Corp., 2001
    Micskó Gábor, trey@debian.szintezis.hu - Hungarian Unix Portal

    Ez a dokumentum szabadon másolható és terjeszthetõ, ha a copyright és az engedély szövegét minden másolaton megõrzik.

    E dokumentum módosított változatai a változatlan másolatokkal megegyezõ feltételek alapján másolhatók és terjeszthetõk, ha a módosított változatot is az ezzel az engedéllyel megegyezõ feltételekkel terjesztik. A fordítások is a ``módosított változat'' kategóriájába tartoznak.

    Garancia: Nincs.

    Ajánlások: Az üzleti célú terjesztés megengedett és támogatott, de nyomatékosan ajánlott, hogy a terjesztõ lépjen kapcsolatba a szerzõvel a terjesztés elõtt, a dolgok naprakészségének biztosítása végett. (Küldhetsz egy példányt abból, amit csinálsz, ha már úgyis csinálod.) A fordítóknak is ajánlott kapcsolatba lépni a szerzõvel, mielõtt lefordítják. A nyomtatott változat jobban néz ki. A papírt használd fel újra!

    Visszajelzéseket, építő jellegű kritikát a trey@debian.szintezis.hu email címre várok.

    Sok szerencsét!