b3nz0l Geschrieben 12. März 2012 Melden Share Geschrieben 12. März 2012 Moin, erstmal zu den voraussetzungen: CPU: 75MHz RAM: 40MB HDD: 40GB ide fluxbuntu, kernel 2.6.22-14 auf genanntem PC habe ich fluxbuntu installiert, setup lief problemlos (im low-mem mode) durch, wenn ich das system jetzt allerdings boote wird keine festplatte erkannt, er fliegt raus mit "/dev/hda1 does not exist, dropping to a shell" das root= argument wurde beim laden korrekt an den kernel übergeben, # ls /dev/h* (ohne ergebnis) # ls /dev/d* (ohne ergebnis, auch kein disk unterordner) # cat /proc/partitions major minor #blocks name (ohne ergebnis) als wenn keine hdd da ist, er hat aber den kernel und die initrd von ihr geladen, da hatte grub aber auch noch den zugriff... beim setup und wenn ich den rechner mit der cd im rescue-mode starte (und da die ide und pata module zum laden auswähle) wird die platte erkannt und eingebunden... bei vorhergehenden setup versuchen hatte ich noch ne 1GB SCSI platte am entsprechenden controller (der jetzt nicht mehr steckt) und die wurde vom kernel erkannt und eingebunden, war aber zu klein zum installieren, die hda wurde nie vom installierten kernel gefunden... daraus würde ich dann mal folgern dass in dem installierten system die ide module nicht oder zu spät geladen werden... jetzt die Frage: wie beheben? initrd bearbeiten? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
grave_digga Geschrieben 12. März 2012 Melden Share Geschrieben 12. März 2012 Bin kein Linux Profi aber für mich sieht das aus als würde hda1 gar nicht gemounted. Deswegen -> does not exist. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
b3nz0l Geschrieben 13. März 2012 Autor Melden Share Geschrieben 13. März 2012 echt? nee oder...?!? dir ist aber schon klar dass die voraussetzung zum mounten das blockdevice in /dev/ ist..? das laufwerk kann existent sein (wurde erkannt), d.h. es gibt z.b. eine /dev/sda3 und trotzdem nicht gemountet wenn man sie z.b. nicht in der fstab einträgt... wenn aber z.b. das modul ide-generic.ko nicht geladen bzw. in der initrd integriert wurde weiß der kernel garnicht dass es einen ide-bus mit platten dran gibt und es existieren demzufolge auch keine /dev/hdXn devices die gemountet werden könnten... trotzdem vielen Dank für den Ausdruck guten Willens (; und jetzt bitte jemand der sich mit sowas auskennt EDIT: wenn ich den rechner bis zu dem beschriebenen fehler laufen lasse und er mich dann im initramfs rausschmeißt kann ich folgendes tun: insmod /lib/modules/2.6.22-14-generic/kernel/drivers/ide/ide-core.ko insmod /lib/modules/2.6.22-14-generic/kernel/drivers/ide/ide-generic.ko danach kann ich dann hda2 in einem noch leeren ordner mounten (mounten auf / geht nicht) das bestätigt dann ja schonmal meinen verdacht... und wir wissen dass die benötigten module in der initrd enthalten sind... habe auch rausbekommen dass meine initrd ein gzip komprimiertes cpio archiv ist, weiß aber immernochnicht genau wo ich dann die änderungen machen muss und wie ich das ganze dann wieder zusammenbaue... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
b3nz0l Geschrieben 15. März 2012 Autor Melden Share Geschrieben 15. März 2012 Thementitel kann um [gelöst] erweitert werden... wie gesagt müssen wir dafür sorgen dass die ide module geladen werden bevor die root partition eingebunden wird... ich habe die systemplatte in einem anderen rechner unter ubuntu bearbeitet, soweit ich gesehen habe sollte es aber auch möglich sein das manöver in der gebooteten initrd durchzuführen... da wir bereits festgestellt hatten dass die benötigten module schon enthalten sind müssen wir nur noch die scripte anpassen... wenn wir zugriff auf die partition mit dem /boot/ ordner haben kopieren wir erstmal die aktuelle initrd nach tmp und vereinfachen bei der gelegenheit den dateinamen... $ cp /mnt/hda2/boot/initrd.img-2.6.22-14-generic /tmp/initrd.gz hab nichtmehr genau im kopf wofür ich dabei sudo brauchte aber das sollte beim nachvollziehen dann ja auffallen...^^ es ist wie bereits erwähnt ein gzip komprimiertes cpio archiv, das entpacken wir jetzt in einen dafür erstellten ordner $ mkdir /tmp/src $ cd /tmp/src $ gzip -dc /tmp/initrd.gz | cpio -idm nun können wir mal in der initrd rumstöbern, im root liegt ein script namens init das wir uns zuerst greifen und suchen uns den punkt mit der message "mounting root filesystem" bzw. die zeilen davor... ich habe da noch nen aufruf von load_modules, konnte aber nicht ermitteln wo da was ausgeführt wird also habe ich mich entschieden bei /scripts/init-premount anzusetzen... das ist ein ordner in dem 2 scripte lagen dort fürgen wir dann ein neues ein $ vim /tmp/src/scripts/init-premount/ide mit dem Inhalt #!/bin/sh modprobe ide-generic das praktische an modprobe im gegensatz zu insmod ist dass hier die modulabhängigkeiten automatisch gelöst werden jetzt noch das script ausführbar machen chmod +x /tmp/src/scripts/init-premount/ide und wieder zusammenbauen die hütte :/tmp/src$ find . | cpio --dereference -o -H newc | gzip -9 > /tmp/initrd.img-2.6.22-14-modified ab damit in den boot ordner und den symlink anpassen (der von grub aufgerufen wird) $ mv /tmp/initrd.img-2.6.22-14-modified /boot/ $ rm /initrd.img $ ln -s /boot/initrd.img-2.6.22-14-modified /initrd.img reboot und gut... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
b3nz0l Geschrieben 25. März 2012 Autor Melden Share Geschrieben 25. März 2012 Ergänzung: habe gerade die fluxbuntu version von Gutsy (7.10) auf Hardy (8.04) aktualisiert und dabei wurde auch versucht die initrd anzupassen, da der symlink in / aber auf die modifizierte version zeigt versucht update-initramfs auch wieder eine *-modified anzulegen, die es aber standardmäßig nicht gibt... also wäre es vorausschauender wenn man seine modifizierte version nach der orginalen benennt und vorher die orginale sichert... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.