Kernel bootet nicht (Error 15: File not found)
Kernel bootet nicht (Error 15: File not found)
Hallo,
ich habe mir einen neuen Kernel gebaut und installiert.
make menuconfig
dpkg -i linux-image-2.6.26_2.6.26-10.00.Custom_amd64.deb
grub> root (hd1,1)
grub> setup (hd0)
-> Soweit so gut, aber wenn ich nun versuche den neuen Kernel zu booten bekomme ich als Fehlermeldung:
Error 15: File not found
So sieht der entsprechende Eintrag in der menu.lst aus:
title Debian GNU/Linux, kernel 2.6.26
root (hd1,1)
kernel /vmlinuz-2.6.26 root=/dev/md3 ro noapic
initrd /initrd.img-2.6.26
Zum vergleich ein funktionierender Eintrag:
title Debian GNU/Linux, kernel 2.6.26-1-amd64
root (hd1,1)
kernel /vmlinuz-2.6.26-1-amd64 root=/dev/md3 ro noapic quiet
initrd /initrd.img-2.6.26-1-amd64
hostvm:~/linux-2.6-2.6.26# ls -l /boot/vmlinuz-2.6.26
-rw-r--r-- 1 root root 1673072 28. Feb 23:24 /boot/vmlinuz-2.6.26
hostvm:~/linux-2.6-2.6.26# ls -l /boot/initrd.img-2.6.26
-rw-r--r-- 1 root root 8011813 1. Mär 07:08 /boot/initrd.img-2.6.26
-> Die Dateien sind also vorhanden.
Damit nehme ich an das das Problem daran liegt das root und boot auf einem raid1 liegen.
Folgendes habe ich schon probiert, weiss aber nicht wie ich überprüfen kann obs funktioniert hat:
# List of modules that you want to include in your initramfs.
#
# Syntax: module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
raid1
ahci
hostvm:/etc/initramfs-tools# update-initramfs -u -k all
-> Die Timestamps der initrds sehen so aus als wären sie aktualisiert worden.
Muss ich da noch irgendwas beachten?
ich habe mir einen neuen Kernel gebaut und installiert.
make menuconfig
dpkg -i linux-image-2.6.26_2.6.26-10.00.Custom_amd64.deb
grub> root (hd1,1)
grub> setup (hd0)
-> Soweit so gut, aber wenn ich nun versuche den neuen Kernel zu booten bekomme ich als Fehlermeldung:
Error 15: File not found
So sieht der entsprechende Eintrag in der menu.lst aus:
title Debian GNU/Linux, kernel 2.6.26
root (hd1,1)
kernel /vmlinuz-2.6.26 root=/dev/md3 ro noapic
initrd /initrd.img-2.6.26
Zum vergleich ein funktionierender Eintrag:
title Debian GNU/Linux, kernel 2.6.26-1-amd64
root (hd1,1)
kernel /vmlinuz-2.6.26-1-amd64 root=/dev/md3 ro noapic quiet
initrd /initrd.img-2.6.26-1-amd64
hostvm:~/linux-2.6-2.6.26# ls -l /boot/vmlinuz-2.6.26
-rw-r--r-- 1 root root 1673072 28. Feb 23:24 /boot/vmlinuz-2.6.26
hostvm:~/linux-2.6-2.6.26# ls -l /boot/initrd.img-2.6.26
-rw-r--r-- 1 root root 8011813 1. Mär 07:08 /boot/initrd.img-2.6.26
-> Die Dateien sind also vorhanden.
Damit nehme ich an das das Problem daran liegt das root und boot auf einem raid1 liegen.
Folgendes habe ich schon probiert, weiss aber nicht wie ich überprüfen kann obs funktioniert hat:
# List of modules that you want to include in your initramfs.
#
# Syntax: module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
raid1
ahci
hostvm:/etc/initramfs-tools# update-initramfs -u -k all
-> Die Timestamps der initrds sehen so aus als wären sie aktualisiert worden.
Muss ich da noch irgendwas beachten?
Re: Kernel bootet nicht (Error 15: File not found)
http://www.gnu.org/software/grub/manual/html_node/Stage2-errors.html hat geschrieben:15 : File not found
This error is returned if the specified file name cannot be found, but everything else (like the disk/partition info) is OK.
Es wird ganz einfach keine vmlinuz-2.6.26 geben!warhammer hat geschrieben: kernel /vmlinuz-2.6.26 root=/dev/md3 ro noapic
initrd /initrd.img-2.6.26
Trage also den wirklichen Dateinamen der betreffenden vmlinuz ein, mit ls -l /boot/ sollte der zu bekommen sein.
"/" ist also die für Grub die /boot Partition?
http://www.gnu.org/software/grub/manual ... rrors.html
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
Re: Kernel bootet nicht (Error 15: File not found)
<copy from first posting>
hostvm:~/linux-2.6-2.6.26# ls -l /boot/vmlinuz-2.6.26
-rw-r--r-- 1 root root 1673072 28. Feb 23:24 /boot/vmlinuz-2.6.26
hostvm:~/linux-2.6-2.6.26# ls -l /boot/initrd.img-2.6.26
-rw-r--r-- 1 root root 8011813 1. Mär 07:08 /boot/initrd.img-2.6.26
</copy>
... sagt doch eigentlich das die Datei vorhanden ist. War auch meine Idee...
Da ein funktionierender Eintrag auch mit /<Dateiname> funktioniert sollte das wohl so funktionieren...
Ich habe wie gesagt das Gefühl das es daran liegt das sowohl boot auf einem RAID1 liegt und Grub darauf nicht zugreifen kann. Da es mit anderen Einträgen auch geht, vermute ich die initrd als fehlerhaft.
Da muss mir aber leider jemand auf die Sprünge helfen.
hostvm:~/linux-2.6-2.6.26# ls -l /boot/vmlinuz-2.6.26
-rw-r--r-- 1 root root 1673072 28. Feb 23:24 /boot/vmlinuz-2.6.26
hostvm:~/linux-2.6-2.6.26# ls -l /boot/initrd.img-2.6.26
-rw-r--r-- 1 root root 8011813 1. Mär 07:08 /boot/initrd.img-2.6.26
</copy>
... sagt doch eigentlich das die Datei vorhanden ist. War auch meine Idee...
Da ein funktionierender Eintrag auch mit /<Dateiname> funktioniert sollte das wohl so funktionieren...
Ich habe wie gesagt das Gefühl das es daran liegt das sowohl boot auf einem RAID1 liegt und Grub darauf nicht zugreifen kann. Da es mit anderen Einträgen auch geht, vermute ich die initrd als fehlerhaft.
Da muss mir aber leider jemand auf die Sprünge helfen.
Re: Kernel bootet nicht (Error 15: File not found)
Ahh alles klar hier liegt der Fehler.warhammer hat geschrieben:<copy from first posting>
hostvm:~/linux-2.6-2.6.26# ls -l /boot/vmlinuz-2.6.26
-rw-r--r-- 1 root root 1673072 28. Feb 23:24 /boot/vmlinuz-2.6.26
hostvm:~/linux-2.6-2.6.26# ls -l /boot/initrd.img-2.6.26
-rw-r--r-- 1 root root 8011813 1. Mär 07:08 /boot/initrd.img-2.6.26
</copy>warhammer hat geschrieben:Da ein funktionierender Eintrag auch mit /<Dateiname> funktioniert sollte das wohl so funktionieren...
Ich bin davon ausgegangen, das Du eine separate Bootpartition hast, sonst wäre eine /vmlinuz ... einfach falsch.
Gib also den absoluten Pfad an, das ist sicher:
Code: Alles auswählen
kernel /boot/vmlinuz-2.6.26 root=/dev/md3 ro noapic
edit: Ach doch eine separate Partition?
Sollte die initrd fehlerhaft sein (aber warum), musst Du sie nat. neu packen
Code: Alles auswählen
update-initramfs -u -k 2.6.26
Code in code Tags sieht man einfach besserwarhammer hat geschrieben:<copy from first posting>
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
- habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Re: Kernel bootet nicht (Error 15: File not found)
Hallo!
Gruß, habakug
Ich glaube so kann das nicht gehen. Wie soll grub denn zu diesem frühen Zeitpunkt dein Raid zusammensetzen, zumal (wie du weißt) die Module eigentlich in einer Datei auf dem Raid liegen?root=/dev/md3
Gruß, habakug
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Re: Kernel bootet nicht (Error 15: File not found)
Doch das funktioniert so. Entweder die Raidtreiber sind fest im Kernel und der Kernel setzt das Raid selbst zusammen, oder die Raidmodule und mdadm liegen auf der Initramdisk.
- habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Re: Kernel bootet nicht (Error 15: File not found)
Hallo!
@Spasswolf
Ja klar funktioniert das so. Aber bei ihm nicht.
Du solltest mal mit grub nach deinem Kernel und der initrd suchen:
Gruß, habakug
@Spasswolf
Ja klar funktioniert das so. Aber bei ihm nicht.
Du solltest mal mit grub nach deinem Kernel und der initrd suchen:
Code: Alles auswählen
grub> find /boot/initrd.gz
find /boot/initrd.gz
(hd2,0)
Re: Kernel bootet nicht (Error 15: File not found)
Hallo,
also das RAID1 und Grub sich (eigentlich) vertragen weiss ich (siehe auch der funktionierende Eintrag).
Also Raid Modul habe ich ja nur RAID1 in die initrd eingetragen. Muss da noch ein anderes Modul hin?
Wie bekomme ich mdadm in die initrd?
... und vor allem, wie kann ich überprüfen was alles in der initrd ist?
Ich verstehe an der Stelle allerdings die grub Einstellung root (hd1,1) nicht wirklich.
Wie wird das gezählt?
Ich habe zwei phy. Platten: sda und sdb. Sollten die nicht hd0 und hd1 sein? Damit würde für die RAID Sachen ja eher hd2 zutreffen...
Ich habe md2 (boot), md3 (/) ... . Damit sollte nach meiner Logik doch eher (hd2,0) richtig sein, oder? -> Aber warum funktioniert dann der andere Eintrag???
also das RAID1 und Grub sich (eigentlich) vertragen weiss ich (siehe auch der funktionierende Eintrag).
Also Raid Modul habe ich ja nur RAID1 in die initrd eingetragen. Muss da noch ein anderes Modul hin?
Wie bekomme ich mdadm in die initrd?
... und vor allem, wie kann ich überprüfen was alles in der initrd ist?
Ich verstehe an der Stelle allerdings die grub Einstellung root (hd1,1) nicht wirklich.
Wie wird das gezählt?
Ich habe zwei phy. Platten: sda und sdb. Sollten die nicht hd0 und hd1 sein? Damit würde für die RAID Sachen ja eher hd2 zutreffen...
Ich habe md2 (boot), md3 (/) ... . Damit sollte nach meiner Logik doch eher (hd2,0) richtig sein, oder? -> Aber warum funktioniert dann der andere Eintrag???
Re: Kernel bootet nicht (Error 15: File not found)
Code: Alles auswählen
grub> find vmlinuz-2.6.26
find vmlinuz-2.6.26
Error 15: File not found
Re: Kernel bootet nicht (Error 15: File not found)
Das ist korrekt. Der zählt von 0 einfach hoch.warhammer hat geschrieben: Ich habe zwei phy. Platten: sda und sdb. Sollten die nicht hd0 und hd1 sein?
(hd2,0) wäre eine bei dir nicht vorhandene dritte Platte. Das RAID ist ja nur eine Aufteilung deiner Festplatten.Damit würde für die RAID Sachen ja eher hd2 zutreffen...
Ich habe md2 (boot), md3 (/) ... . Damit sollte nach meiner Logik doch eher (hd2,0) richtig sein, oder? -> Aber warum funktioniert dann der andere Eintrag???
Code: Alles auswählen
grub> root (hd1,1)
grub> setup (hd0)
Warum bei dir root (hd1,1) setup (hd0) geht ist ganz einfach. Du hast ja ein RAID1 welches beide Platten spiegelt.
Das Problem daran ist leider das du grub sagst: Meine root ist auf der 2ten Platte aber installiere den Bootsektor auf die erste Platte.
Besser ist es bei RAID1 den Bootsektor auf jede einzelne Platte zu schreiben und die jeweilige root Partition anzugeben. Dann bootet das System nämlich auch wenn eine der Platten einen Abgang gemacht hat.
Code: Alles auswählen
grub> find vmlinuz-2.6.26
find vmlinuz-2.6.26
Error 15: File not found
EDIT: Kannst du mal die Ausgabe von cat /proc/mdstat posten?
Gruß Athlux
Re: Kernel bootet nicht (Error 15: File not found)
Ok, da mein /boot auf sda2 und sdb2 und mein / auf sda3 und sdb3 liegt, also hd(0,2) als root. Das mit dem setup ist mir soweit auch klar.
Ein generelles Problem habe ich mit der Frage woher grub weiss wo es sich den Kernel herholen soll. Ich gebe ja immer nur root an und nirgendwo den Speicherort von initrd und kernel. Soweit ich das noch aus meiner lilo Zeit in Erinnerung habe muß der Kernel ja nicht unter /boot/ liegen. Damit fällt auch die Möglichkeit über die fstab nachzusehen wo boot liegt aus...
Ein generelles Problem habe ich mit der Frage woher grub weiss wo es sich den Kernel herholen soll. Ich gebe ja immer nur root an und nirgendwo den Speicherort von initrd und kernel. Soweit ich das noch aus meiner lilo Zeit in Erinnerung habe muß der Kernel ja nicht unter /boot/ liegen. Damit fällt auch die Möglichkeit über die fstab nachzusehen wo boot liegt aus...
- habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Re: Kernel bootet nicht (Error 15: File not found)
Hallo!
"(hd2,0)" ist die Ausgabe auf meiner Maschine. Das war nur ein Beispiel, wie man mit grub nach Dateien sucht.
Du kannst dir aber ausgeben lassen auf welchen Partitionen grub installiert ist:
Poste auch mal "fdisk -l".
Gruß, habakug
"(hd2,0)" ist die Ausgabe auf meiner Maschine. Das war nur ein Beispiel, wie man mit grub nach Dateien sucht.
Du kannst dir aber ausgeben lassen auf welchen Partitionen grub installiert ist:
Code: Alles auswählen
fdisk -l 2>/dev/null | egrep "Disk /|/dev/" | sed "s#^/dev/#Part /dev/#" | awk '{print $2}' | sed 's/://' | xargs -n1 -iX sh -c "dd if=X bs=1 count=512 2>/dev/null | grep GRUB > /dev/null && echo Grub gefunden: X || echo Kein Grub: X"
Gruß, habakug
Re: Kernel bootet nicht (Error 15: File not found)
Fast richtig. Falls ich es noch nicht gesagt habe: root ist immer da wo sich grub befindet. In deinem Fall ist das (hd0,1) weil sda2 die /boot Partition ist.warhammer hat geschrieben:Ok, da mein /boot auf sda2 und sdb2 und mein / auf sda3 und sdb3 liegt, also hd(0,2) als root. Das mit dem setup ist mir soweit auch klar.
Genau das gibt man mit dem root(hd0,1) an. Erste Platte und 2te Partition. Deshalb ist auch der Pfad nicht /boot/vmlinuz... sondern lautet bei einer extra boot Partition /vmlinuz....Ein generelles Problem habe ich mit der Frage woher grub weiss wo es sich den Kernel herholen soll. Ich gebe ja immer nur root an und nirgendwo den Speicherort von initrd und kernel. Soweit ich das noch aus meiner lilo Zeit in Erinnerung habe muß der Kernel ja nicht unter /boot/ liegen. Damit fällt auch die Möglichkeit über die fstab nachzusehen wo boot liegt aus...
Da der Bootloader aber problemlos lädt und auch den vorherigen Kernel startet liegt dein Problem nicht unbedingt an der Installation von grub.
Gruß Athlux