M
mini_tux
Grünschnabel
Hallo,
ich habe mir auf Basis von BuildRoot ein Mini-Linux zusammengestellt und auf ein Image kopiert. Zuvor hatte ich auf der Image Datei eine Partition angelegt und mit einem EXT2 Filesystem versehen.
Im nächsten Schritt habe ich wie folgt Grub aufgerufen, damit ich per QEMU das Image eigenständig booten kann:
Die Angabe zur Geometrie meines Image habe ich per fdisk -ul ermittelt. Diese Kommandos führt Grub auch korrekt aus und es sieht alles gut aus.
Im Image habe ich folgende /boot/grub/menu.lst angelegt:
Boote ich das Image dann allerdings per QEMU kommt folgende Fehlermeldung:
Was mich an der Sache irritiert ist:
Grub erkennt den Titel aus der menu.lst korrekt - ändere ich diesen meldet grub beim Booten einen neuen Titel. Der Zugriff auf das Image sollte daher möglich sein.
Rufe ich in der Grub Kommandozeile find /boot/vmlinuz oder blocklist /boot/vmlinuz auf, so gibt mir Grub für den find die Antwort (hd0,0) und bei Blocklist eine Anzahl an Blockadressen für die Kernel-Datei zurück.
Wenn Grub die Datei aber auf der Partition finden kann, warum nutzt er sie nicht zum Booten?
Ich habe auch folgende Zeilen in der menu.lst ausprobiert:
Die Angabe der Blockadresse ist aus der blocklist Abfrage entnommen - der Fehler bleibt aber bestehen.
Ich weiß an dieser Stelle leider keinen Rat mehr. Habe ich hier nur einen Denkfehler drin und sehe den nicht?
ich habe mir auf Basis von BuildRoot ein Mini-Linux zusammengestellt und auf ein Image kopiert. Zuvor hatte ich auf der Image Datei eine Partition angelegt und mit einem EXT2 Filesystem versehen.
Im nächsten Schritt habe ich wie folgt Grub aufgerufen, damit ich per QEMU das Image eigenständig booten kann:
Code:
grub --device-map=/dev/null
device (hd0) /dev/loop1
geometry (hd0) 2 255 63
root (hd0,0)
setup (hd0)
Im Image habe ich folgende /boot/grub/menu.lst angelegt:
Code:
title=VMLinux VM
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sda1
initrd /linuxrc
Boote ich das Image dann allerdings per QEMU kommt folgende Fehlermeldung:
Filename must be either an absolute filename or blocklist
Was mich an der Sache irritiert ist:
Grub erkennt den Titel aus der menu.lst korrekt - ändere ich diesen meldet grub beim Booten einen neuen Titel. Der Zugriff auf das Image sollte daher möglich sein.
Rufe ich in der Grub Kommandozeile find /boot/vmlinuz oder blocklist /boot/vmlinuz auf, so gibt mir Grub für den find die Antwort (hd0,0) und bei Blocklist eine Anzahl an Blockadressen für die Kernel-Datei zurück.
Wenn Grub die Datei aber auf der Partition finden kann, warum nutzt er sie nicht zum Booten?
Ich habe auch folgende Zeilen in der menu.lst ausprobiert:
Code:
kernel (hd0,0)/boot/vmlinuz root=/dev/sda1
kernel (hd0,0)+17410 root=/dev/sda1
Ich weiß an dieser Stelle leider keinen Rat mehr. Habe ich hier nur einen Denkfehler drin und sehe den nicht?