ReiserFS Root Boot HOWTO

Címkék

ReiserFS Root Boot HOWTO

Micskó Gábor trey@debian.szintezis.hu - Hungarian Unix Portal

v.1.0, 2002. augusztus. 26 - Copyright © Hungarian Unix Portal

1. Bemutatás

2. Elõfeltételek

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

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

3.2 ReiserFS filerendszer készítése

3.3 A root filerendszer másolása

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

3.5 Reboot

4. Hibaelhárítás

5. Copyright, licenc, visszajelzés és ilyesmi1. Bemutatás:

Ez a HOWTO leírja azt az eljárást amellyel át tudunk konvertálni egy Ext2 filerendszer alapú Linux rendszert úgy, hogy az egész root (/) filerendszer ReiserFS-en fusson. A ReiserFS-sel kapcsolatos bõvebb információért és a legfrissebb letöltési lehetõségért látogasd meg a ReiserFS project web oldalát a http://www.reiserfs.org/ URL-en.

2. Elõfeltételek:

Mielõtt nekilátnánk, három 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 ReiserFS-re, és úgyis eltûnik róla minden, ami elõtte rajta volt ;-)

# 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 bootolni 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 programok.

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


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): y

[...]

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ítd újra 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

/sbin/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!

Hozzászólások

Tudom az meg under development ;), és csak mozilla sidebarral es news klienssel olvasható (hehe)

De lassan kiteszem azt is.

Ezek mar regebben is megvoltak irva, most kicsit kipofoztam oket. Ha lesz idom akkor a tobbit is kiteszem, van meg egy-ketto... :-)