Toon posts:

[CentOS4.1] /root veranderen naar XFS-filesystem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoe zet ik mijn /root om naar xfs?

Ik heb het volgende gedaan;

1. Ik heb een /spare # partitie in Ext3
2. cd /
tar lvcf - . | (cd /spare ; tar xpvf -) # /root naar /spare kopieren
3. edited /spare/etc/fstab # fstab /root wordt na /spare partitie
LABEL=/spare /
4. edited grub.conf
root=/spare
5. reboot
6. formated into xfs
mkfs.xfs -L / -V /dev/hda2
7. Directory maken
cd /
mkdir xfs
8. mount /dev/hda2
mount -t xfs /dev/hda2 /xfs
9. terugzetten
cd /
tar lvcf - . | (cd /xfs ; tar xpvf -)
10. stap 3. en 4. opnieuw # LABEL=/ / xfs defaults 1 1
11. reboot

Ik krijg nu een kernel panic;

**********************************************

Switching to new root
switchroot mount failed: 22
umount /initrd/dev failed: 2
kernel panic - not syncing: Attempted to kill init!

**********************************************

# Ik heb trouwens de kernel-2.6.9-11.106.unsupported rpm samen met xfs-tools van Centosplus geinstaleerd! kernel-2.6.9-11.106.unsupported boot bij originele configuratie ok.

Wat zie ik over het hoofd?

  • ajvdvegt
  • Registratie: Maart 2000
  • Laatst online: 04-12-2025
Zit XFS wel in je kernel? Mounten hoeft niet met '-t xfs', mount zou zelf je filesystem uit moeten vogelen.

I don't kill flies, but I like to mess with their minds. I hold them above globes. They freak out and yell "Whooa, I'm *way* too high." -- Bruce Baum


Verwijderd

Topicstarter
Ja, volgens de Centosplus README.txt zitten oa. JFS,Reiserfs, XFS, NTFS en USB en Firewire als modules bij de kernel.

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Verwijderd schreef op zondag 17 juli 2005 @ 18:02:
Ja, volgens de Centosplus README.txt zitten oa. JFS,Reiserfs, XFS, NTFS en USB en Firewire als modules bij de kernel.
Als modules bij de kernel is iets anders als IN de kernel.
Je kunt dit met een initrd.img bestand oplossen, maar het is makkelijker om
een kernel met ingebouwde xfs te maken.

( De kernel kan pas modules laden als het filesystem gemount is, en je kunt
pas je xfs filesystem mounten als je xfs module geladen is..... daarom moet ie
erin zitten en niet erbij als module)

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Verwijderd

Topicstarter
Redhat maakt toch altijd gebruik van initrd?

README.txt;

kernel-2.6.x-x.x.x.xxx.unsupported
----------------------------------
This is a kernel that has many of the options and modules turned on which
are turned off by default in the upstream providers kernels. A list of
some of the items that this Kernel includes are:

File Systems:
NTFS (read and write)
XFS (read and write)
JFS (read and write)
ReiserFS (read and write)
UFS {BSD default FS} (read only)
BeOS FS (read only)
AFS (read only)

Hardware Modules:
All USB
All Firewire
All SCSI
Video4 Linux and all Video, Audio and Radio modules

Ik kan niet vinden of in initrd de filesystems in zitten gebakken. Nog ff doorzoeken, doe ik dadelijk wel een editje.

volgens webmaster van CentOS forum;

For some things (like NTFS, ReiserFS, XFS, JFS support and some others), they are now built into a kernel that we have released in CentOS plus. It is called kernel-xxxxx-unsupported. It replaces the main kernel and provides items not in the standard boot Kernel.

Het zit dus in de kernel.

Wanneer ik de Fedora Core4 CD gebruik voor rescue. Dan kan ik kiezen tussen hda2 en hda6 als root. Dit klopt dus hda2 is xfs en hda6 is /spare-partitie in ext3. Echter er komt een melding dat er een fout is opgetreden niet alles gemount kan worden. hda2 is dus niet gemount.

Ik heb de disk label van /root veranderd naar /dev/hda2 in zowel fstab als grub.conf. Het rare is dat ik de foutmelding 'VFS: Can't find ext3 filesystem on dev hda2' krijg.

[ Voor 40% gewijzigd door Verwijderd op 18-07-2005 11:16 ]


Verwijderd

Topicstarter
Het lijkt er toch echt op dat de filesystems niet in de kernel gecompiled zijn. ik heb namelijk /var en /tmp al succesvol naar xfs omgezet. Lsmod zegt dat xfs-module 1 keer is ingeladen, DUS.

Hoe zorg ik ervoor dat de module in de initrd kan worden gevrot?

  • frim
  • Registratie: Augustus 2001
  • Niet online
http://users.rcn.com/t3iv/ide-initrd.html

Datzelfde proces lijkt me ook te volgen voor jouw initrd, maar dan met wat andere modules. Anyway, met wat knutselen moet je er wel uitkomen, op google staat ook een hoop.

Verwijderd

Topicstarter
OK, ik ben bezig om via mkinitrd de gewenste modules in initrd te bouwen. Nou kijkt mkinitrd eerst in /etc/modprobe.conf om de modules in de Ramdrive te bouwen.
Ik kom er niet uit hoe ik deze module moet toevoegen. ik had al eerst xfs en reiserfs in de file met vi gezet. Dit wordt gewoon genegeerd tijdens aanmaken van initrd via mkinitrd. Ik heb al de manpage van modprobe.conf bekeken, allemaal opties die ik niet nodig heb. Ja eigenlijk --install alleen al de parameters hoeven lijkt mij niet te worden meegegeven.

EDIT;

Ik heb nou via optie mkinitrd -v -f --with=xfs --with=reiserfs --with=raid1 voorelkaar gekregen dat de modules worden geladen. Echter bij Create root device loopt het weer naar de #$^$#^#^;

code:
1
2
3
4
5
6
7
VFS: Can't find ext3 filesystem on dev hda2
mount: error 22 mounting ext3
mount error 2 mounting none
Switching to new root
switchroot mount failed: 22
umount /initrd/dev failed: 2
kernel panic - not syncing: Attempted to kill init!


Wat gaat er fout :( 8)7 8)7 8)7 8)7

opsomming;

-grub.conf is geconfigureerd
-/dev/hda2 is xfs-filesysteem
-modules met mkinitrd toegevoegd en worden geladen voordat /root wordt ge'chroot.
-/etc/fstab heb ik /root in /dev/hda2 / xfs defaults 1 1

Schiet mij maar helemaal lek. Waarom 'denkt' systeem dat /root nog steeds ext3 behoort te zijn?

[ Voor 50% gewijzigd door Verwijderd op 19-07-2005 17:39 ]


  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Verwijderd schreef op dinsdag 19 juli 2005 @ 16:23:
OK, ik ben bezig om via mkinitrd de gewenste modules in initrd te bouwen. Nou kijkt mkinitrd eerst in /etc/modprobe.conf om de modules in de Ramdrive te bouwen.
Ik kom er niet uit hoe ik deze module moet toevoegen. ik had al eerst xfs en reiserfs in de file met vi gezet. Dit wordt gewoon genegeerd tijdens aanmaken van initrd via mkinitrd. Ik heb al de manpage van modprobe.conf bekeken, allemaal opties die ik niet nodig heb. Ja eigenlijk --install alleen al de parameters hoeven lijkt mij niet te worden meegegeven.

EDIT;

Ik heb nou via optie mkinitrd -v -f --with=xfs --with=reiserfs --with=raid1 voorelkaar gekregen dat de modules worden geladen. Echter bij Create root device loopt het weer naar de #$^$#^#^;
Ik weet niet of je een andere versie van mkinitrd hebt als ik maar als ik de manpage lees,
lijkt me dat je zoiets moet hebben:
code:
1
mkinitrd -f /dev/hda2 -m xfs,reiserfs,raid1

[....]
-grub.conf is geconfigureerd
-/dev/hda2 is xfs-filesysteem
-modules met mkinitrd toegevoegd en worden geladen voordat /root wordt ge'chroot.
-/etc/fstab heb ik /root in /dev/hda2 / xfs defaults 1 1

Schiet mij maar helemaal lek. Waarom 'denkt' systeem dat /root nog steeds ext3 behoort te zijn?
/etc/fstab is niet relevant bij booten, die wordt nog niet gelezen.

Heb je meer output van wat initrd allemaal doet ?

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Verwijderd

Topicstarter
u_nix_we_all schreef op dinsdag 19 juli 2005 @ 18:55:
Ik weet niet of je een andere versie van mkinitrd hebt als ik maar als ik de manpage lees,
lijkt me dat je zoiets moet hebben:
code:
1
mkinitrd -f /dev/hda2 -m xfs,reiserfs,raid1
Deze opties zie ik niet in de man van mkinitrd staan
Heb je meer output van wat initrd allemaal doet ?
Waar kan ik deze logs toveren? Ik krijg namelijk een kernel panic. Er wordt toch niets in dmesg gelogd?!

Zou het ook iets met het volgende te maken kunnen hebben;

 --fstab=fstab
          Use  fstab  to  automatically determine what type of filesystem
          the root device is on. Normally, /etc/fstab is used.


Namelijk is de initrd gemaakt toen de /root ext3 was.
Pagina: 1