Fehler nach Linux Kernel-Update
M.K.
- sonstiges
0 felix0 M.K.0 Andreas Janssen
Hallo,
ich habe per
apt-get install kernel-image-2.6.7-1-386...
einen neuen Kernel installiert. Nach dem Neustart erscheint die Fehlermeldung:
###################################################
"Cannot open root device 303"
"Correct "root=" boot option
"Kernel panic unable to mount root fs"
###################################################
Gibts noch Hoffnung für mein System? Die lilo.conf:
###################################################
lba32
boot=/dev/hda
root=/dev/hda3
install=/boot/boot-menu.b
map=/boot/map
delay=20
vga=normal
default=Linux
image=/vmlinuz
label=Linux
read-only
image=/vmlinuz.old
label=LinuxOLD
read-only
optional
###################################################
Was kann ich noch machen? Auf LinuxOLD kann ich noch booten...
Gruss M.K.
apt-get install kernel-image-2.6.7-1-386...
einen neuen Kernel installiert. Nach dem Neustart erscheint die Fehlermeldung:
###################################################
"Cannot open root device 303"
"Correct "root=" boot option
"Kernel panic unable to mount root fs"
###################################################Gibts noch Hoffnung für mein System? Die lilo.conf:
###################################################
lba32
boot=/dev/hda
root=/dev/hda3
install=/boot/boot-menu.b
map=/boot/map
delay=20
vga=normaldefault=Linux
image=/vmlinuz
label=Linux
read-onlyimage=/vmlinuz.old
label=LinuxOLD
read-only
optional###################################################
Was kann ich noch machen? Auf LinuxOLD kann ich noch booten...
Bei apt-get install kernel_image kompiliert der dir auch gleich alles ?
Also wenn du vorher eine 2.4er Kernel hattest und nun eine 2.6er hast, ist es ein wenig anders zum kompilieren.
Also wenn ich mir unter Debian eine neue Kernel gemacht haben, habe ich mir das kernel.tar von www.kernel.org runtergeladen, entpackt und selber alles eingestellt. danach hab ich dann kompiliert.
Vorteil ist, dass du weißt was du machst.
Bis du dir ganz sicher, dass er auch alles kompiliert bei der apt-get install Geschichte ?
Grüße, Felix
Hallo,
Bis du dir ganz sicher, dass er auch alles kompiliert bei der apt-get install Geschichte ?
Gute Frage...?! Ich weiss es nicht...
Gruss
Probiere doch mal eine ältere Kernel zu installieren. 2.6 oder so.
Wenn das klappt kannst du ja darauf aufbauen. Vielleicht kann man eben nicht einfach von der 2.4er auf die 2.6er springen, da es ja auf jeden Fall Unterschiede gibt!
Hab die Lösung gefunden:
#######################################################################
2.2 Kernel-Panik: "unable to mount rootfs" mit der Debian-Kernel.
F: Ich habe einen Kernel von Debian installiert (kernel-image-foo-bar) und beim booten kriege ich nur Kernel-Panik: "unable to mount rootfs".
A: Selbst schuld. Der Kernel-Setup schreibt klar und deutlich, was man in /etc/lilo.conf (bzw. die Konfigurationsdatei deines Boot-Loaders) eintragen soll und fragt DICH, ob DU es getan hast. Wer nicht liest, muss leiden.
Abhilfe: Das System mit dem alten Kernel booten (sofern der im Lilo-Menü noch vorhanden ist), oder mit der Installationsdiskette/CD durch Angabe von "rescue root=/dev/meine_partition". Dann /etc/lilo.conf editieren, in die ersten Zeilen "initrd=/initrd.img" eintragen, "lilo" aufrufen und neu booten.
#######################################################################
apt-get install kernel-image-2.6.7-1-386...
einen neuen Kernel installiert. Nach dem Neustart erscheint die Fehlermeldung:
###################################################
"Cannot open root device 303"
"Correct "root=" boot option
"Kernel panic unable to mount root fs"
###################################################
Zur Erklärung: der installierte Kernel ist eine Art Universal-Kernel, er soll also auf möglichst vielen Systemen laufen. Dazu braucht er aber Unterstützung für möglichst viel Boothardware (IDE-Platten, SCSI, usw.) und Dateisysteme auf möglichen Root-Partitionen (ext2/ext3, jfs, reiserfs usw.).
Damit das nicht alles in der Kernel muß und er nicht so aufgebläht wird sind die Treiber als Module übersetzt. Die Module liegen aber normalerweise auf der Root-Partition, und der Kernel müsste erst die Module laden, um darauf zugreifen zu können. Genau dafür ist die initrd da: sie enthält die Treiber, die benötigt werden, um die Root-Partition einzuhängen.
Gibts noch Hoffnung für mein System? Die lilo.conf:
###################################################
image=/vmlinuz
label=Linux
read-only
Hier brauchst Du noch folgenden Eintrag:
initrd=/initrd.img
oder
initrd=/boot/initrd-2.6.7-1-386.img
Was kann ich noch machen? Auf LinuxOLD kann ich noch booten...
Das ist der Grund, warum man bei der Kernelinstallation den alten Kernel nicht gleich entfernt.
Bei apt-get install kernel_image kompiliert der dir auch gleich alles ?
Nein. Der Kernel ist für die entsprechende Architektur schon vorkompiliert. Es gibt wahrscheinlich auch Pakete speziell für den verwendeten Prozessortyp, z.B. k7, k6, 686 o.ä.
Also wenn ich mir unter Debian eine neue Kernel gemacht haben, habe ich mir das kernel.tar von www.kernel.org runtergeladen, entpackt und selber alles eingestellt. danach hab ich dann kompiliert.
Übrigens gibt es für Debian das Programm make-kpkg (Paket kernel-package), mit dem man bei vorhandenen und konfigurierten Kernelquellen leicht Debian-Pakete eines Kernels, der Quellen, Dokumentation oder Header erstellen kann. Dieses lässt sich dann mit dpkg installieren.