unable to mount root fs => kernelmodul vergessen?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
lynix
Beiträge: 13
Registriert: 23.02.2004 17:33:17

unable to mount root fs => kernelmodul vergessen?

Beitrag von lynix » 11.10.2004 09:45:14

Hi!

Ich hab folgendes Problem mit meinem Sarge NetInstall-System:

Ich hab mir (strikt nach der Anleitung im Tipps-Bereich: make menuconfig, make dep, make bzImage, make modules, make modules_install) einen neuen 2.6er Kernel gebacken, hat auch alles wunderbar geklappt. Wenn ich den neuen Kernel jedoch booten will kommt ne Kernelpanic:

VFS: Cannot open root device "/dev/hda3"
VFS: Unable to mount root fs on 03:03

An was kann das liegen? Hab ich ein Kernelmodul vergessen, das er braucht, um das root-Dateisystem zu lesen oder hab ich was in der Grub-menu.lst verrafft? In dieser wird mein alter Kernel mit

Code: Alles auswählen

title     Debian GNU/Linux, kernel 2.4.27-1-386
root     (hd0,2)
kernel     /boot/vmlinuz-2.4.27-1-386 root=/dev/hda3 ro
initrd     /boot/initrd.img-2.4.27-1-386
savedefault
boot
aufgerufen, also hab ich analog dazu Folgendes ergänzt:

Code: Alles auswählen

title     Neuerkernel
root     (hd0,2)
kernel     /boot/newkernel root=/dev/hda3
savedefault
boot
Wär für Hilfe sehr dankbar.

Gruß,

lynix

Fuffi
Beiträge: 92
Registriert: 28.04.2002 09:38:24
Wohnort: Wien

Beitrag von Fuffi » 11.10.2004 09:50:46

das Problem ist, dass wenn du keine initrd (initial ramdisk, braucht man um module am anfang laden zu können) verwendest, dass dann die sachen fix in den kernel reinkompiliert sein müssen (in dem fall ext3)

aber allereinfachsten du schaust dir mal dieses wiki an
http://www.debianforum.de/wiki/?page=Ke ... stem+bauen

ist relativ angenehm so einen neuen kernel zu machen mit initrd, dann sollte das eigentlich gehen

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 11.10.2004 10:21:00

auch nicht vergessen:
Die controllertreiber für IDE oder SCSI müssen auch fest in den kernel.
Also ALLES, was zum einbinden der rootpartition nötig ist.

lynix
Beiträge: 13
Registriert: 23.02.2004 17:33:17

Beitrag von lynix » 11.10.2004 12:04:21

Hi, Leutz und THX für die Schnellen Antworten! :D

Fuffi, ich hab mich jetzt mal an deine Anleitung gehalten, allerdings erhalte ich jetzt beim Kompilieren das:

Code: Alles auswählen

drivers/usb/usbdrv.o(.text+0x214e2): In function `isd200_get_inquiry_data':
: undefined reference to `ide_fix_driveid'
make[1]: *** [vmlinux] Fehler 1
make[1]: Leaving directory `/usr/src/linux-2.4.27'
make: *** [stamp-build] Fehler 2
Hatte ich schon öfter, was bedeutet das?

Gruß,

lynix

lynix
Beiträge: 13
Registriert: 23.02.2004 17:33:17

Beitrag von lynix » 11.10.2004 14:26:31

So, ich habs jetzt nochmal manuell gemacht, danach ein mkinitrd und der Kernel hat gebootet :D

Dummerweise kommen jetzt beim Booten x Zeilen von wegen "file not found" und irgendwas von wegen "can't open Dependencies file" (ich weiß, nicht gerade tolle Fehlerbeschreibung, aber des rauscht so schnell vorrüber ^^)
Danach versucht er n paar mal den X-Server zu starten und hängt sich dann mit folgender Meldung auf:

Code: Alles auswählen

INIT: Id "1" respawning too fast: disabled for 5 minutes
INIT: Id "2" respawning too fast: disabled for 5 minutes
INIT: Id "3" respawning too fast: disabled for 5 minutes
INIT: Id "4" respawning too fast: disabled for 5 minutes
INIT: Id "5" respawning too fast: disabled for 5 minutes
INIT: Id "6" respawning too fast: disabled for 5 minutes
INIT: no more processes left in this runlevel
TTja, und jetzt? :(

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 11.10.2004 15:18:58

das mit den dependencies kann ein modulproblem vom alten/installierten und neuen Kernel sein, wenn der neue kernel auf module des alten kernels zugreift.
Wie installierst du den Kernel/wie 'bäckst' du ihn?

lynix
Beiträge: 13
Registriert: 23.02.2004 17:33:17

Beitrag von lynix » 11.10.2004 15:36:41

Hi, HELLinG3R! Hab folgendes gemacht:

- Kernelsourcen geladen und entpackt (2.4.27)
- in /usr/src kopiert und mit /usr/src/linux verlinkt (ln -s)
- make menuconfig
- "Load alternate configuration file" -> das Standardfile des alten Kernels geladen
- diverse Sachen geändert (PCMCIA abgeschaltet, Soundmodule aktiviert)
- make dep
- make bzImage
- make modules
- make modules_install
- cp arch/386/boot/bzImage /boot/newkernel
- mkinitrd -o /boot/newinitrd.img
- menu.lst für Grub angepasst

Falls jemand interessiert, warum ich das (neuen Kernel kompilieren, obwohl der alte geht) eigentlich mache:
Die b0x ist ein (Gericom Hummer) Notebook und ich hab lange Knoppix 3.6 drauf laufen gehabt, ging alles einwandfrei. Habs dann irgendwie nicht hinbekommen, Gnome auf mein auf HD installiertes Knoppix zu installieren, also hab ich mir die Sarge-NetInstall besorgt.
Mit dem von der Installation eingesetzten Kernel (ebenfalls 2.4.27) geht alles, bis auf die Soundkarte (wurde früher von Knoppix als Intel i810_audio erkannt). Da ich nicht wusste, wie ich unter Debian ne Soundkarte neu erkennen lasse oder manuell einrichte, hab ich mal "modprobe i810_audio" gemacht, da dieses Modul unter Knoppix immer lief, aber von meinem Sarge nicht geladen wird. Er hat das Modul dann nicht gefunden, was mich auf die Idee brachte, mir einfach nen neuen Kernel zu machen, in dem ich dann dieses Modul per menuconfig aktiviere. Wenn jemand ne andere Möglichkeit weiß, eine von Knoppix 3.6 erkannten, aber von Sarge ignorierte Soundkarte zum Laufen zu bekommen, bin ich ganz Ohr ^^

Cytrix
Beiträge: 76
Registriert: 12.05.2004 20:40:07

Beitrag von Cytrix » 11.10.2004 18:04:56

Hmm
ich versteh nich warum alle die "alte" methode zum Kernel backen benutzen ?!?
Also ich mach das so:
- Kernel Source installieren und evl. patchen
- make-kpkg clean
- make-kpkg --revision=lol.1 --initrd (wenn gewünscht!) kernel_image
- ../dkpg -i kernel-image-2.6. ...
da werden sogar die grub bzw. lilo einträge für einen gemacht !!
Kann mir einer sagen ob die andere methode irgendwelche vorteile bietet außer das sie keine "sinnloses" packet erstellt.
Natürlich muss kernel-package installiert sein !
MFG
Cytrix

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 11.10.2004 18:51:28

ich benutze auch den debian-way... ;)
bist also nicht der einzige ;)

lynix
Beiträge: 13
Registriert: 23.02.2004 17:33:17

Beitrag von lynix » 11.10.2004 21:47:21

So, hab ein paar Fehler meinerseits behoben, neuer Stand der Dinge:

Kernel ist nach der "neuen" Methode ("debian-way" ^^) erfolgreich kompiliert, installiert und bootet auch einwandfrei, jedoch hängt sich das System immernoch bei der Initialisierung des GDM auf und es kommen alle 5 Minuten die oben beschriebenen Zeilen.
Erst dachte ich klare Sache, X-Server Configfile neu geschrieben und Basta, aber genazzt, nach einer XF86Config gehts immernoch nicht. 2 Sachen sind dabei auffällig:

1. X-Server Configfile kernelabhängig?!
Wenn ich die XF86Config-4 umschreibe, also zB den Driver auf "VGA" stelle, bootet der neue Kernel immernoch nicht. Starte ich dann aber den alten Kernel, habe ich direct rendering und immernoch einen wunderbaren 1024x768 24Bit Desktop. Das kann ja aber schlecht mit den VGA-Treibern realisiert worden sein!? Kann es also sien dass der X-Server ein anderes Configfile benutzt oder das es irgendwie kernelabhängig ist???

2. keine X-Server Fehlermeldung
Wie gesagt geht es nach der Fehlermeldung nicht wirklich weiter. Ich komme in keine virtuelle Konsole und nix. Es kommt auch keine X-Server Fehlermeldung von wegen "no screens found" oder so, wie ich das sonst gewohnt bin. Deshalb zweifle ich an einr fehlerhaften XF86Config-4...

So n Mist, ich will doch eigentlich nur die Soundkarte zum Laufen bringen und jetzt geht der ganze X-Server nich :D

Gruß,

lynix

Cytrix
Beiträge: 76
Registriert: 12.05.2004 20:40:07

Beitrag von Cytrix » 12.10.2004 10:01:58

Schau mal ob unter device treiber graphik der
1. VESA fest eingebunden ist !!
2. Diene Graphikkarrte (wenn vorhanden auch !!)

Den Fehler hat ich auch mal !!

lynix
Beiträge: 13
Registriert: 23.02.2004 17:33:17

Beitrag von lynix » 12.10.2004 17:18:36

Hi, Cytrix!

Hab nachgeschaut, ist alles so wie es sein sollte. Das Komische daran ist ja, dass ich ohne an der Config was zu ändern mit dem alten Kernel noch prima ins System komme...

Naja, hab inzwischen einen neuen Ansatzpunkt gefunden: discover

Wenn ich das Tool starte, versucht er das Kernelmodul "i810_audio" zu laden, was korrekterweise für meine Soundkarte zustänsig ist, und scheitert mit "file not found (/lib/modules/2.4.27-1-386/kernel/drivers/sound/i810_audio". Da es in den Sourcen des 2.4.27er Kernels aber so ein Modul gibt, hab ich einfach die "i810_audio.o" nach /lib/modules/2.4.27-1-386/kernel/drivers/sound/ kopiert. Jetzt versucht er es zu laden und scheitert mit "can't find the kernel the module was compiled for" (sinngemäß ^^). Nun meine Frage:

Gibt es eine Möglichkeit, ein einzelnes Modul für einen bestimmten Kernel neu zu kompilieren?

Hab schon "gcc i810_audio.o" probiert, ging aber wie erwartet nicht .

Hat jemand ne Idee?

Gruß,

lynix

Antworten