pivot_root: no such file or directory (die zweite)

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
michaa7
Beiträge: 5059
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

pivot_root: no such file or directory (die zweite)

Beitrag von michaa7 » 06.07.2006 18:52:02

Es handelt sich um ein ähnlicheas problem, wie ich es schonmal hatte
http://debianforum.de/forum/viewtopic.p ... highlight=
von daher ist es mir im prinzip klar, aber im detail komme ich nun nicht dahinter.

Ich habe auf meinem server eine debian/sarge installation, die auf zu viele partitionen verstreut war ( /, /boot, /usr, /swap, /tmp, /var, /home), durch kopieren in eine NEUE PARTITION zusammengefasst. Ausser /home, /swap und /var liegt nun alles in einer partiton. Das system bootet auch, bleibt dann aber mittendrin hängen. Das letzte, was geschieht ist, das zunächst die fehlermeldung kommt, das hde8 kein reiserfs wäre. Stimmt, hde8 ist die swapartiton. (Ich habe dies sowohl in der fstab als auch mit cfdisk überprüft.) Danach beendet der bootvorgang mit folgenden fehlermeldungen:
pivot_root: no such file or directory
/sbin/init:426: canot open dev/console
no such file
Kernel panic: attempt to kill init!

Durch das umkopieren (es sind dabei KEINE neuen partitonen angelegt worden oder bestehend gelöscht worden!) ist wohl aus sicht der neuen installation irgendetwas nicht mehr an seinem plats, nur was?

Zur festplattengeometrie (wichtig, weil grub in KEINER der beiden systeme installiert ist!)

(Die festplaten hängen an einem extra kontroller, daher keine hda-hdd)

hde1 # wartungsinstallation mit installiertem grub,
hde2 # hierhin habe ich die NEUE serverinstallation durch kopieren zusammengefasst
hde5 # /boot der alten serverinstallation
hde6 # / "
hde7 # /usr "
hde8 # swap für alle installationen
hde9 # /temp der alten serverinsallation
hde10 # /var der alten und NEUEN serverinstallation
hde11 # extra, tut nichts zur sache, nur daten
hde12 #/home der alten und NEUEN serverinstallation


Nun fällt mir natürlich auf, dass ich die alte serverinstallation ausnahmslos auf logische laufwerke verteilt hatte und dies dann auf eine primäre partition kopiert habe. Ist das ein problem?

Ziel der ganzen aktion soll natürlich sein die partitionen so zusammenzufassen, dass dan endlich hde1 die wartungsinstallation enthält, auf hde2, der server läuft, und sonst nur noch /var, swao, /home und extra vorhanden ist. Dauzu muß ich aber erstmal diesen zusammankopierten server zum laufen bringen.

Hoffentlich durchschaut jemand das chaos. Ich gehe mal davon aus, das meine einträge in der grub menu.lst stimmen, weil sonst wohl das booten ja gar nicht in gang käme., kann ich bei bedarf jedoch nachreichen
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 06.07.2006 19:21:45

Ein Anpassen der /etc/fstab und der /boot/grub/menu.lst sollte eigentlich genügen.
In der menu.lst solltest du den Kernelparameter "root=/dev/hda2" setzen.
Wenn du yaird zum Bauen der initrd verwendest, nützt dieser Kernelparameter allerdings nichts (siehe http://www.debianforum.de/forum/viewtop ... e4753ba9a4)

Gruß
gms

michaa7
Beiträge: 5059
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von michaa7 » 06.07.2006 20:47:31

gms hat geschrieben:Ein Anpassen der /etc/fstab und der /boot/grub/menu.lst sollte eigentlich genügen.
In der menu.lst solltest du den Kernelparameter "root=/dev/hda2" setzen.
Wenn du yaird zum Bauen der initrd verwendest, nützt dieser Kernelparameter allerdings nichts (siehe http://www.debianforum.de/forum/viewtop ... e4753ba9a4)
abgesehen davon dass es bei mir natürlich hde2 heißen muß habe ich das auch so.

Was meinst du mit initrd bauen? Ich habe da gar nichts gebaut sondern kopiert, da liegt dann eventuell mein fehler? Falls das der fall ist, kannst du mir bitte skizzieren, was ich machen muss, bzw. nen link posten, der mir auf die sprünge hilft?
Oder anders gefragt: was ist standart bei debian/sarge, die initrd wurde ja vor ca 1 1/2 jahren beim install gebaut.

Falls das jedoch nicht der fehler war, was dann? Ich habe eben noch verifiziert, ob die partitionsreihenfolge vielleicht durcheinander ist, liegen aber schön der reihe nach. habe nochmal die fstab kontroliert, die stimmt, aber irgendetwas bringt in der zusammenkopierten installation wohl die partitionszuordnung durcheinander.

Übrigens, kopiert habe ich mit

Code: Alles auswählen

cp -a
, im verzeichis /boot gibt es eine datei System.map, die ist auch kopiert,kann es daran liegen? Ich bin echt ratlos...
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Dyskord
Beiträge: 116
Registriert: 12.04.2006 17:58:35

Beitrag von Dyskord » 06.07.2006 21:00:49

Keine Ahnung ob es was zur Sache tut, aber vielleicht klappt es mit

Code: Alles auswählen

cp -ax
besser?

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 06.07.2006 21:10:55

Die System.map enthält die Symbole, die im Kernel enthalten sind. Damit hat es also sicher nichts zu tun. Die zwei Dateien (fstab und menu.lst) hast du zwar sicher schon öfters überprüft, aber vielleicht postest du sie trotzdem auf http://nopaste.debianforum.de/ .

Ich tippe derzeit auf ein Problem mit der initrd. Welche Kernelversion hast du eigentlich ?
Hat sich das root-Filesystem durch das Kopieren verändert (reiserfs, ext2, ext3, ...) ?
Welches Tool wurde zum Erstellen der initrd verwendet (ist eines der folgenden Pakete installiert: yaird, initramfs-tools, initrd-tools)
was ergibt folgendes Kommando ?

Code: Alles auswählen

file path/to/initrd
verwendest du udev oder devfs ?

Traust du dir zu in das neue System zu "chrooten" und die initrd neu zu bauen ?


Gruß
gms

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von rendegast » 06.07.2006 21:35:43

Hallo michaa7,
Hoffentlich durchschaut jemand das chaos. I
Dazu ein Tip von mir: Gebe den einzelnen Dateisystemen Namen (Labels).
Diese Labels kannst Du in der fstab verwenden, also statt

Code: Alles auswählen

/dev/hde6 / ....
/dev/hde7 /usr ....
wird genommen

Code: Alles auswählen

LABEL=Root / ...
LABEL=Usr /usr ...
Die Werkzeuge dafür sind 'tune2fs' oder 'xfs_admin' oder 'reiserfstune'.
Eine schöne Auflistung kommt dann durch 'cfdisk'.
Als Name für / ist auch "/" möglich.

(Eine solche Referenzierung geht auch über die UUID, ist aber ob der ewig langen Zahlen total unübersichtlich (ala Win-DiskID).)

Bei späteren Umpartitionierungen ist dann nur noch das

Code: Alles auswählen

root(x,y)
kernel ... root=... ...
bei GRUB anzupassen, was Du dann auch notfalls beim Starten in der GRUB-Shell durchführen kannst.

michaa7
Beiträge: 5059
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von michaa7 » 06.07.2006 21:42:04

hier der link zu nopaste: http://nopaste.debianforum.de/3618

//EDIT: die letzte zeile habe ich unvollständig kopiet, sie lautet im original:

Code: Alles auswählen

initrd          /boot/initrd.img-2.6.8-1-386

es gab einen wechsel der formatierung "/boot" ist bei der alten installation ext3, der rest ist reiserfs. Dies wurde alles auf reiserfs kopiert, somit bei "/boot" ein wechsel

file /path/to/initrd

Code: Alles auswählen

# file boot/initrd.img-2.6.8-1-386
boot/initrd.img-2.6.8-1-386: Linux Compressed ROM File System data, little endian size 4419584 version #2 sorted_dirs CRC 0xd91b7f48, edition 0, 2528 blocks, 308 files
ob ich mir zutraue zu chrooten? Bislang habe ich mich durch alles durchgewurstelt, die frage ist: wie sehr kann ich dich beanspruchen?

Die platte mit der kopierten installation hängt ja im moment sowieso in /media/hde2/

wenn ich nun in der kommandozeile "chroot /media/hde2/" (notwendigerweise als root?) eingebe passt das doch, oder? Oder meinst du so nachbauen wie du es mir schonmal gezeigt hast (link erstes posting)

zu initrd: laut apt-chache policy ist nur initrd-tools installiert, wobei ich dies jetzt in der ALTEN installation nachgeschaut habe, nur wird dann ja in der neunen zwangsläufig auch so sein.

bezüglich udev oder devfs: Ich weiß es nicht, es ist debian/sarge standardinstallation OHNE X, immer über dist-upgrade aktuell gehalten. Habe allerdings auch backports.org in der sources.list


und zum tipp von rendegast: Alle partitionen sin gelablet, wollte dies auch umstellen, aber erst, wenn der server läuft
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 06.07.2006 22:06:35

In deine menu.lst hat sich ein Fehler eingeschlichen:

Code: Alles auswählen

kernel          /boot/vmlinuz-2.6.8-1-386 root=dev/hde2 ro
sollte eigentlich so ausschauen:

Code: Alles auswählen

kernel          /boot/vmlinuz-2.6.8-1-386 root=/dev/hde2 ro
Ist der auch im Original vorhanden ?

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 06.07.2006 22:27:29

wenn sich obiger Fehler erst beim Pasten eingeschlichen hat, zurück zum chroot:

"chroot /media/hde2" ist in Ordnung, vorher aber wie in dem alten Thread "/proc" in "/media/hde2/proc" einhängen.
Mit den folgenden Kommandos kannst du dann im chroot die alte initrd sichern und eine neue erstellen. Dabei kannst du auch gleich das richtige root-Device mit angeben:

Code: Alles auswählen

cp /boot/initrd.img-2.6.8-1-386 /boot/initrd.img-2.6.8-1-386.bak
mkinitrd -o /boot/initrd.img-2.6.8-1-386 -r /dev/hde2 2.6.8-1-386


Gruß
gms

michaa7
Beiträge: 5059
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von michaa7 » 06.07.2006 22:33:54

boaaaaa , ja der war auch im orginal vorhanden. Habe es korrigiert, gebootet, alles ok, surfe eben über die kopierte serverinstallation,

Diesen fehler hätte ich so schnell nicht gefunden, zumal ich ihn wohl im auskommentierten default eintrag schonmal korrigiert hatte.

Danke für deine Hilfe und Aufmerksamkeit!
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Antworten