Hallo,
ich habe mir auf Basis von Busybox mittels BuildRoot ein kleines Linux System gebastelt und alles in eine Image Datei, die ich gerne per QEMU laden möchte, gepackt. Das Image hatte ich per losetup nach /dev/loop gemountet, partitioniert und mit einem Filesystem versehen.
Dann habe ich Grub wie folgt aufgerufen, damit von dem Image gebootet werden kann:
Die Informationen für die Geometrie habe ich mir per fdisk -ul anzeigen lassen und übernommen.
Die oben gezeigten Kommandos werden vom Grub auch ausgeführt und soweit sieht alles gut aus.
Im Image findet sich auch eine /boot/grub/menu.lst mit folgenden Zeilen
Boote ich nun per QEMU das Image kommt Grub mit folgendem Fehler zurück:
ausprobiert - aber die Fehlermeldung bleibt.
Habe nach dem Fehler auch gegoogelt, aber leider keine Abhilfe gefunden.
Was mich irritiert ist: Wähle ich nach einem missglückten Bootversuch 'C' und gelange damit auf die Grub Kommandozeile,
so liefert der Befehl find /boot/vmlinuz als Ergebnis
Wie kann Grub einerseits die Kerneldatei nicht zum Booten finden, der Aufruf des find Kommandos liefert aber das richtige Ergebnis?? :???:
Ich komme hier einfach nicht weiter - wäre echt prima, wenn da jemand einen Rat zu weiß.
ich habe mir auf Basis von Busybox mittels BuildRoot ein kleines Linux System gebastelt und alles in eine Image Datei, die ich gerne per QEMU laden möchte, gepackt. Das Image hatte ich per losetup nach /dev/loop gemountet, partitioniert und mit einem Filesystem versehen.
Dann habe ich Grub wie folgt aufgerufen, damit von dem Image gebootet werden kann:
Code:
grub --device-map=/dev/null
device (hd0) /images/newimage.raw
geometry (hd0) 2 255 63
root (hd0,0)
setup (hd0)
Die oben gezeigten Kommandos werden vom Grub auch ausgeführt und soweit sieht alles gut aus.
Im Image findet sich auch eine /boot/grub/menu.lst mit folgenden Zeilen
Code:
title=Mini Linux
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sda1
Boote ich nun per QEMU das Image kommt Grub mit folgendem Fehler zurück:
Ich habe auch schonFilename must be either an absolute filename or blocklist
Code:
kernel (hd0,0)/boot/vmlinuz root=/dev/sda1
Habe nach dem Fehler auch gegoogelt, aber leider keine Abhilfe gefunden.
Was mich irritiert ist: Wähle ich nach einem missglückten Bootversuch 'C' und gelange damit auf die Grub Kommandozeile,
so liefert der Befehl find /boot/vmlinuz als Ergebnis
zurück. Das verstehe ich nun nicht.(hd0,0)
Wie kann Grub einerseits die Kerneldatei nicht zum Booten finden, der Aufruf des find Kommandos liefert aber das richtige Ergebnis?? :???:
Ich komme hier einfach nicht weiter - wäre echt prima, wenn da jemand einen Rat zu weiß.