Autor Thema: GRUB 2 iso  (Gelesen 18378 mal)

TheThing

  • Beiträge: 105
    • Profil anzeigen
Gespeichert
« am: 06. October 2010, 18:30 »
Ich versuche gerade, GRUB 2 auf eine iso zu bekommen. Das ganze gestaltet sich schwieriger als ich gedacht hätte ;)

Zuerst habe ich es folgendermaßen gemacht:
Zuerst eine GRUB-ISO erstellt: grub-mkrescue --output=GRUB2.iso /boot/grubDann hab ich die ISO mit meinem USB-Stick zum Windows-Rechner getragen und per UltraISO die grub.cfg und meinen Kernel draufkopiert.

Der Nachteil daran ist:
1. Ich habe keine Ahnung, wie ich später den Kernel und die grub.cfg per Shellscript draufkriegen soll
2. Auf der ISO liegen 185 Dateien im Hauptverzeichnis

Mein zweiter Ansatz war folgender:
grub-mkimage -p /boot -o core.img biosdisk iso9660 multiboot sh
cat /usr/lib/grub/i386-pc/cdboot.img core.img > eltorito.img
Dann hab ich mir ein Verzeichnis namens "root" gemacht und dort die eltorito.img reingelegt. Dann noch einen Unterordner "boot", und dort den Kernel + grub.cfg rein. Dann hab ich mir die iso erstellt: mkisofs -b eltorito.img -no-emul-boot -boot-info-table -o grub2.iso rootObwohl die grub.cfg und der Kernel auch wirklich auf der iso drauf sind, funktioniert das Menü nicht, wenn ich die iso mit qemu teste. Unter VirtualBox sehe ich sogar gar keine Ausgabe. In qemu kann ich dann aber den Kernel testen, wenn ich "multiboot /BOOT/FROST.KRN" gefolgt von "boot" eingebe.
Zuerst einmal wundert es mich, dass alle Datei- und Ordnernamen auf einmal groß geschrieben sind, und ich frage mich, warum das Menü nicht funktioniert.
Der Vorteil dieser Methode wäre, ich könnte das ganz einfach in ein Shellscript packen, wenn es denn mal geht ;)

So, ich hoffe dann mal, dass ihr mir helfen könnt, und danke schon einmal für alle Antworten :)

Programm Noob

  • Gast
Gespeichert
« Antwort #1 am: 06. October 2010, 18:57 »
Also von den 185 Dateien kannst du eigentlich alle löschen.
Das draufkoperen, müsstest du mal googlen. ich hab mal ein Konsolenprogramm unter Linux gehabt, was Iso Dateien bearbeiten konnte.

Ich guck mal ab ich das Prog wiederfinde

PNoob

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 06. October 2010, 20:54 »
Ich empfehle für diesen Anwendungsfall nicht GRUB, sondern SYSLINUX. Genauer gesagt, ISOLINUX aus dem gleichen Projekt. Das nutzen auch so ziemlich alle Live-CDs.

Mit "mboot.c32" gibt es auch einen Multibootkompatiblen Loader, der so funktioniert:

/mboot.c32 kerneldatei kernelparameter --- moduldatei modulparameter --- moduldatei modulparameter ...

(d.h. die Trennung der Module voneinander geschieht über drei aufeinanderfolgende Bindestriche).

Oder gibt es einen speziellen Grund für GRUB?

Gruß,
Svenska

TheThing

  • Beiträge: 105
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 06. October 2010, 23:20 »
Naja, ich bin halt an GRUB gewöhnt, und mit GRUB 2 kann ich dann später auch den Kernel im ELF64-Format laden. Außerdem gefällt mir GRUB 2 irgendwie, auch wegen der Möglichkeiten gleich einen Grafikmodus zu setzen usw.
Später möchte ich dann auch HD-Images erstellen, die dann auch GRUB 2 nutzen sollen.

Wenn ich das Problem mit dem Menü gelöst kriege würde ich eigentlich gerne bei GRUB 2 bleiben.
Ich hab auch mal das grub-mkrescue-Skript überflogen, konnte aber auf Anhieb nichts erkennen, warum es mit grub-mkrescue funktioniert, aber nicht wenn ich es "manuell" mache.

/edit:
Ich hab etwas im GRUB-Manual gefunden: http://www.gnu.org/software/grub/manual/grub.html#Making-a-GRUB-bootable-CD_002dROM

Ich hab jetzt (wie im Manual) die eltorito.img nach boot/grub/ kopiert und die ISO mit "mkisofs -R -b boot/grub/eltorito.img -no-emul-boot -boot-load-size 4 -boot-info-table -o grub2.iso root" erstellt. Jetzt funktioniert alles wunderbar ^^
« Letzte Änderung: 06. October 2010, 23:33 von TheThing »

Programm Noob

  • Gast
Gespeichert
« Antwort #4 am: 07. October 2010, 07:30 »
Würdest du deine erkentnisse im Wiki niederschreiben können. Es würde stcherlich vielen helfen.

Bitbandit

  • Beiträge: 7
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 18. October 2010, 22:37 »
Hallo,

danke für den Wiki-Artikel :) Leider kann ich nirgends eine grub2.iso finden, um diese nur noch mit UltraISO zu bearbeiten. Könnte jemand vielleicht seine grub2.iso als Grundlage bereitstellen? Dann müsste ich nicht extra dafür eine VM mit Linux aufsetzen.

Ich danke schon einmal im Voraus.

UltraISO lässt sich ja auch per Kommandozeile bedienen. Ich würde, wenn ich dann die ISO habe, versuchen das "hineinpacken" des kernelimages per Batch-Script zu automatisieren. Das Script könnte ich dann als meinen Beitrag zu dem Thema dazusteuern.

Bis dann,
Bitbandit

Programm Noob

  • Gast
Gespeichert
« Antwort #6 am: 20. October 2010, 15:42 »
Ich kann meine ISO nachher Hochladen.

Bitbandit

  • Beiträge: 7
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 20. October 2010, 18:31 »
Super, da wäre ich dir wirklich dankbar :)

Im Übrigen finde ich diese Wiki hier erstklassig! Es ist selten, dass man zu so einem speziellen Thema etwas im deutschsprachigen Raum findet. Danke an alle, die hier mitarbeiten.

Programm Noob

  • Gast
Gespeichert
« Antwort #8 am: 20. October 2010, 19:25 »
Moin

Wie versprochen das GRUB2.Iso
http://pnoob.dyndns.org/downloads/GRUB2.iso

Bei Fragen komm einfach nach #LOST

PNoob
« Letzte Änderung: 14. November 2010, 06:06 von PNoob »

Bitbandit

  • Beiträge: 7
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 21. October 2010, 00:33 »
Danke, ich habe es mir schon geladen und probiere es mal morgen aus.

Programm Noob

  • Gast
Gespeichert
« Antwort #10 am: 21. October 2010, 23:28 »
Hat es geklappt?

Bitbandit

  • Beiträge: 7
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 21. October 2010, 23:44 »
Hi,

nein leider ging es nicht. Die iso war in Ordnung und ließ sich booten, aber sobald ich sie mit dem UltraISO geöffnet und abgespeichert habe, ließ sie sich nicht mehr booten. Ich habe jetzt mehrere Stunden versucht herauszufinden an welchen Option das liegen könnte oder ob es Alternativen zu UltraISO gibt. Ich gebe zu: Jetzt habe ich aufgegeben :(

Aber! Ich habe mir eine kleine bat-Datei erstellt, mit der ich eine GRUB (1) ISO automatisch erstellen kann. Hierzu werden lediglich die kostenlosen cdrtools benötigt (einfach runterladen und in ein beliebiges Verzeichnis kopieren). Wie versprochen würde ich das Script für alle zur Verfügung stellen.

Wie kann ich denn hier oder in der wiki eine ZIP-Datei anhängen?

Bis dann und nochmals danke für deine Hilfe,
Bitbandit

Programm Noob

  • Gast
Gespeichert
« Antwort #12 am: 23. October 2010, 02:03 »
Moin

Also der Eintrag mit Ultra ISO ist auf meinem Mist gewachsen. Ich hab den Teil auch selber geschrieben.  Und alles mehrfach gestestet, bevor ich das ins Wiki gestellt habe. Hast du es genauso gemacht wie im "Tutorial"? wenn ja dann wundert es mich sehr. Grub 1 ISO werde ich noch hochladen, das habe ich die letzten tage auch gebastelt. Das geht. bat Dateien können hier e nur sehr sehr wenige gebrauchen. ne bat datei könnte man auf seiner eigenen Benutzerseite im WIki veröffentlichen.

PNoob

DerHartmut

  • Beiträge: 236
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #13 am: 23. October 2010, 11:58 »
Naja, imvho können das Tutorial auch nur wenige gebrauchen, weil dort ein Shareware-Tool unter Windows behandelt wird. Wer Windows nutzt braucht ja auch BAT-Dateien, deshalb wäre es sinnvoll, die BAT-Datei von bitbandit dort zu verlinken.
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
Nutze die Macht, nutze Perl ;-)

Bitbandit

  • Beiträge: 7
    • Profil anzeigen
Gespeichert
« Antwort #14 am: 23. October 2010, 14:09 »
Die BAT habe ich ja erstellt, damit man ohne irgendwelche zusätzlichen Eingaben ein ISO für den eigenen Kernel bekommt. Also man muss einmalig einige Einstellungen an der BAT vornehmen (Pfadangaben), dann kompiliert man den Kernel und startet die BAT. Schon hat man seine ISO und kann die in einer VM starten oder auf CD brennen. Das ist halt schneller, als wenn man ständig mit einem Tool den Kernel per Hand in der ISO tauschen müsste.

Klar, wer Linux benutzt hat sich da eh schon ein eigenes Script für erstellt, aber es nutzt ja nicht jeder Linux.

Ich finde aber auch auf meiner eigenen Wiki-Seite keine Möglichkeit eine ZIP-Datei anzuhängen. In der Zip ist die BAT, eine Anleitung und alle nötigen Dateien die für die GRUB 1 ISO benötigt werden. Also ein rundum sorglos Paket für ISO-Bastler.

Programm Noob

  • Gast
Gespeichert
« Antwort #15 am: 23. October 2010, 15:07 »
Veröffentliche nur doe BAT und die Anleitung. alles andere ist bei einer normalen GRUb installation auch unter cygwin dabei. es will auch keiner ne merkwürdige Zip von igend wem runterladen. könnten ja Viren drin sein.

und auch unter Windows benutzt man makefiles und am besten baut man es in makefiles ein. Und es benutzen über 90% Linux.

PNoob

Programm Noob

  • Gast
Gespeichert
« Antwort #16 am: 23. October 2010, 15:08 »
@DerHartmut: Ich bin auch am überlegen,ob ich das Tutorial löche und ein neues Schreibe, was unter Linux und Windows funktioniert

Bitbandit

  • Beiträge: 7
    • Profil anzeigen
Gespeichert
« Antwort #17 am: 23. October 2010, 16:18 »
Veröffentliche nur doe BAT und die Anleitung.

Der Inhalt der Bat ist trivial.

alles andere ist bei einer normalen GRUb installation auch unter cygwin dabei.
Wer dafür die Zeit und Nerven hat, für den ist die Bat das geringste Problem.
Es geht ja genau darum, dass man seinen Kernel einfach mal schnell testen kann, ohne sich vorher mit Cygwin und einer Grub-Installation beschäftigen zu müssen.

Klar, es könnte sich auch jeder nur für diesen Zweck mal schnell ne Linux VM aufsetzen, sich durch die Installationsanleitung für Grub arbeiten, ein paar Befehle eingeben und schon hat er die nötigen Dateien auch unter Windows. Aber diese Arbeit kann man sich auch sparen, wenn jemand anders da schon was vorbereitet hat. Denn man will ja in Wirklichkeit kein Linux mit Grub, sondern nur eine Binärdatei vom grub, die am Ende in eine ISO gepackt wird.

es will auch keiner ne merkwürdige Zip von igend wem runterladen. könnten ja Viren drin sein.
Es will sich auch keiner einen merkwürdigen Kernel herunterladen, da könnte ja ein Virus enthalten sein.  :roll:

und auch unter Windows benutzt man makefiles und am besten baut man es in makefiles ein.
Dann stell du doch am besten eine Makefile online die das macht. Mir reicht eine einfach BAT.

Und es benutzen über 90% Linux.
90% von was? Der Leute hier? Kann sein, ich kann das nicht beurteilen. In der Industrie (Entwicklung) sieht es zumindest nicht so aus.

Gut, also das mit meinem Script und den dazugehörigen Dateien war ja auch nur ein Angebot, ich muss das niemanden aufzwingen. Für mich läuft ja nun alles zufriedenstellend.

Also wenn jemand (von den 10% Windows-Usern) Interesse hat schickt er mir einfach eine PN mit seiner E-Mailadresse und dann schicke ich es ihm zu.

Programm Noob

  • Gast
Gespeichert
« Antwort #18 am: 23. October 2010, 22:00 »
man muss keine Linux VM aufsetzen um die nlötigen Dateiuen zu bekommen.
man installiere sich Cygwin mit dem Grub paket und hat alle Dateien. ist ne sache von 7 Minuten.

Stell doch wenn du möchtest eine Anleitung und die Bat auf deiner Wiki seite zu verfügung.

PNoob

Bitbandit

  • Beiträge: 7
    • Profil anzeigen
Gespeichert
« Antwort #19 am: 23. October 2010, 22:12 »
Ist doch schon in Ordnung, bei mir läuft alles super und ich bin zufrieden.


 

Einloggen