Benutzer:Jidder/GRUB 2 unter MinGW — Änderungen 6182 → 6183

Zeile 3: Zeile 3:
 
Ich habe das ganze mit Version 1.97 getestet (Download: [ftp://alpha.gnu.org/gnu/grub/]). Die Umgebung war MinGW mit GCC 4.4.0 und MSYS 1.0.11. Außerdem wird das Programm mktemp benötigt, das in meiner MSYS-Installation nicht dabei war. Ich hab es nachinstalliert (Download: [http://sourceforge.net/projects/mingw/files/MSYS%20mktemp/]). Außerdem werden vermutlic die Coreutils (insbesondere dd) benötigt, die im MSYS Base System enthalten sind (Download: [http://sourceforge.net/projects/mingw/files/MSYS%20Base%20System/])
 
Ich habe das ganze mit Version 1.97 getestet (Download: [ftp://alpha.gnu.org/gnu/grub/]). Die Umgebung war MinGW mit GCC 4.4.0 und MSYS 1.0.11. Außerdem wird das Programm mktemp benötigt, das in meiner MSYS-Installation nicht dabei war. Ich hab es nachinstalliert (Download: [http://sourceforge.net/projects/mingw/files/MSYS%20mktemp/]). Außerdem werden vermutlic die Coreutils (insbesondere dd) benötigt, die im MSYS Base System enthalten sind (Download: [http://sourceforge.net/projects/mingw/files/MSYS%20Base%20System/])
  
−
Kompilieren und Installieren funktioniert ohne Modifikationen und wie üblich mit den drei Befehlen:
+
Es gibt da wohl ein paar Probleme mit GRUBs printf-Implementierung und MinGWs Meinung, wie die Formatspezifizierer für 64-Bit-Integers auszusehen haben. Ich hab deswegen aus der Datei include/grub/misc.h von allen printf-Funktionen das __attribute__ ((format (printf, x, y))); gelöscht, um die Warnungen (die ab und zu mal zum Abbruch führen) zu unterbinden.
 +
 
 +
Kompilieren und Installieren funktioniert wie üblich mit den drei Befehlen:
 
  sh configure
 
  sh configure
 
  make
 
  make
 
  make install
 
  make install
−
 
−
Es gibt da wohl ein paar Probleme mit GRUBs printf-Implementierung und MinGWs Meinung, wie die Formatspezifizierer für 64-Bit-Integers auszusehen haben. Ich hab deswegen aus der Datei include/grub/misc.h von allen printf-Funktionen das __attribute__ ((format (printf, x, y))); gelöscht, um die Warnungen (die ab und zu mal zum Abbruch führen) zu unterbinden.
 
  
 
Zunächst muss ein Verzeichnis erstellt werden, dass den Inhalt der Diskette enthält. Ich habe es ''image'' genannt. Der Kernel und die Module müssen in das Verzeichnis boot/ kopiert werden. Zumindest ich konnte GRUB nicht dazu bewegen, aus dem Wurzelverzeichnis zu lesen. Außerdem nutzt GRUB 2 als Konfigurationsdatei die Datei boot/grub/grub.cfg. Diese Datei muss ebenfalls im Verzeichnis image existieren.  
 
Zunächst muss ein Verzeichnis erstellt werden, dass den Inhalt der Diskette enthält. Ich habe es ''image'' genannt. Der Kernel und die Module müssen in das Verzeichnis boot/ kopiert werden. Zumindest ich konnte GRUB nicht dazu bewegen, aus dem Wurzelverzeichnis zu lesen. Außerdem nutzt GRUB 2 als Konfigurationsdatei die Datei boot/grub/grub.cfg. Diese Datei muss ebenfalls im Verzeichnis image existieren.