A /boot könyvtár egy szeparált kis méretű ext2 filerendszeren legyen,
mert a Lilo (LInux LOader) nem támogatja a ReiserFS filerendszerről való
bootolást (ez nem teljesen igaz. Lehet Lilo-val ReiserFS-ről bootolni, de!
a ReiserFS filerendszert egy -notail opcióval kell felmountolni. Hogy miért?
Lásd a hibaelhárítás című részt.) A grub (GRand Unified Bootloader) az újabb
információk szerint tud boot-olni ReiserFS-ről. Esetleg használj Lilo helyett
grub-ot. Bővebb információért látogasd meg a Lilo honlapját a
http://brun.dyndns.org/pub/linux/lilo/, és a grub honlapját a
http://www.gnu.org/software/grub/ URL-en.
Ez a dokumentum feltételezi, a partícióid kiosztása a következő: A /dev/hda1
(swap), /dev/hda2 /boot (ext2), /dev/hda3 root (/) filerendszer (ext2), és
végül a /dev/hda4 amely filerendszert fogjuk ReiserFS-re alakítani.
Ez rendszer-specifikus, értelemszerűen más gépeken az ottani beállításokkal
kell végezni a műveleteket.
A Linux kernel (2.4.x) lassan egy éve támogatja a ReiserFS filerendszert,
tehát külső patcheket nem kell beszereznünk. Amire szükségünk lesz, az egy
Linux kernel ReiserFS filerendszer támogatással, és a reiserfsprogs programokra.
A ReiserFS programokat (reiserfsprogs) letölthetjük a ReiserFS honlapjáról
(http://www.reiserfs.org/) reiserfsprogs-x.x.x.tar.gz néven. Linux kernelt
fordítani ReiserFS támogatással 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 ReiserFS-re
Több kereskedelmi Linux terjesztés felajánlja telepítéskor, hogy a rendszerünket
ReiserFS filerendszerre telepíthetjük. Ilyenkor nem kell mást tenni, mint
kiválasztani a ReiserFS-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 Reiserfs root (/) filerendszert, és hogyan bootoljuk be azt.
3.1 Kernel fordítása ReiserFS támogatással
Töltsd le a legutolsó 2.4.x kernelt az ftp.kernel.org-ról a /tmp könyvtárba.
Csomagold ki egy elkülönített könyvtárba. Másold a /usr/src/ alá.
Konfiguráld a kernelt a make config (make menuconfig, make xconfig)
segítségével, amelyik közelebb áll a szívedhez :-). A "File systems" címkével
jelzett szekcióban kapcsold be a "ReiserFS support" stuffot. Legyél
biztos abban, hogy a ReiserFS támogatást a kernelbe fixen drótozva tetted,
NEM MODULBA, mert akkor nem fogja boot időben a kernel támogatni a ReiserFS-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-reiserfs
#cp /usr/src/linux/System.map /boot
Most szükségünk van a ReiserFS programok lefordítására, (én a debian
sarge rendszeremen egyszerűen kiadtam az 'apt-get install reiserfsprogs'
parancsot, de aki akarja forgassa le (a fordításhoz nézd meg a letöltött
reiserfsprogs-x.x.x.tar.gz-ben levő telepítési útmutatót). Ezek a programok
azok, amellyel a ReiserFS filerendszert létre lehet hozni, ellenőrizni lehet,
ki lehet terjeszteni a méretét, stb.
A következő lépés az, hogy módosítani kell a LILO bejegyzéseit úgy, hogy az
új kernelünket bootolja be. Szerkesszük a /etc/lilo.conf filet és végezzük
el az alábbi bejegyzéseket:
image=/boot/vmlinuz-2.4.0-reiserfs
label=reiserfsboot
read-only
root=/dev/hda3
Futtassuk az /sbin/lilo parancsot, ahhoz hogy aktiváljuk az új konfigurációt
és rebootoljunk az új kernellel.
3.2 A ReiserFS filerendszer készítése
OK, most van egy kernelünk ReiserFS támogatással, itt az ideje, hogy
megformázzuk az üres partíciónkat ReiserFS-re.
#mkreiserfs /dev/hda4
<-------------mkreiserfs, 2002------------->
reiserfsprogs 3.6.2
mkreiserfs: Guessing about desired format..
mkreiserfs: Kernel 2.4.20-pre4 is running.
Format 3.6 with standard journal
Count of blocks on the device: 515080
Number of blocks consumed by mkreiserfs formatting process: 8227
Blocksize: 4096
Hash function used to sort names: "r5"
Journal Size 8193 blocks (first block 18)
Journal Max transaction length 1024
inode generation number: 0
UUID: 6693db94-d0e1-410c-a35e-27472e56299d
ATTENTION: YOU SHOULD REBOOT AFTER FDISK!
ALL DATA WILL BE LOST ON '/dev/hda4'!
Continue (y/n):
[...]
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 ReiserFS 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 /reiserfsvol
#mount -t reiserfs /dev/hda4 /reiserfsvol
#cd /
#cp -a bin etc lib boot dev home usr var [...] /reiserfsvol
#mkdir /reiserfsvol/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 ReiserFS 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 /reiserfsvol/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:
/dev/hda3 / ext2 defaults 1 1
Ezt kell megváltoztatnunk így:
/dev/hda4 / reiserfs defaults 1 1
Editáld a /etc/lilo.conf-ot úgy, hogy a root partíciódra mutasson. Valami
ilyesmit kell csinálnod:
default=reiserfsboot2
...
image=/boot/vmlinuz-2.4.0-reiserfs
label=reiserfsboot2
read-only
root=/dev/hda4
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 ReiserFS-en
fut. Hogy ellenőrizd ezt, írd be 'mount' és nézd meg a kimenetet:
/dev/hda4 on / type reiserfs (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 (/dev/hda3) megformázhatod
ReiserFS-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. Hibaelhárítás
Probléma:
ReiserFS-t választottál a /boot partíció fájlrendszereként. Amikor egy
LILO beállítást akar létrehozni, a következő üzenetet kapod:
Hole found in map file (alloc_page)
Ezután, amikor újraindítja a rendszert. a lilo megáll, és csak a 'LI' betűk látszanak.
Ok:
A 16k-nál kisebb méretű fájlok esetében a reiserfs megpróbálja elkerülni a részblokkok
elpazarlását, a fájlok végének és elejének "összecsomagolásával". Ez problémákat okoz a
lilo számára, mivel a szükséges adatok a merevlemezen nem megfelelő helyre kerülnek.
Megoldás
Kétféle megközelítés létezik: formázd újra a /boot partíciót ext2 fájlrendszer
használatával, vagy csatold fel a /boot partíciót a 'notail' paraméter használatával.
Az újraformázás módja:
Root-ként másold le a /boot könyvtár tartalmát és csatold le a /boot partíciót:
cp -a /boot /boot.backup
umount /boot
Formázd újra a partíciót, ahol a /boot 'ext2'-ként lett csatolva:
mke2fs /dev/hd??
Szerkeszd meg az /etc/fstab fájlt:
változtasd meg a
/dev/hd?? /boot reiserfs defaults 0 0
sort a
/dev/hd?? /boot ext2 defaults 0 0
sorra.
Csatold fel a /boot partíciót újra, mozgasd vissza a tartalmát, majd futtasd a lilo-t:
mount /boot
mv /boot.backup /boot
lilo
A 'notail' paraméter megadása:
Rootként szerkessze az /etc/fstab fájlt:
változtasd meg a
/dev/hd?? /boot reiserfs defaults 0 0
sort a
/dev/hd?? /boot reiserfs notail 0 0
sorra.
Indítsd újra a rendszert. Másold és mozgasd át a /boot könyvtárat, majd futtasd le újból a lilo-t:
cp -r /boot /boot2
mv /boot2 /boot
lilo
5. Copyright, licenc, visszajelzés és ilyesmi
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!