Autor Thema: Ubuntu: .IMG erkzeugen  (Gelesen 10960 mal)

MrPerfekt

  • Beiträge: 26
    • Profil anzeigen
Gespeichert
« am: 06. May 2010, 20:08 »
Hallo

Ich habe eine bin datei und ubuntu und will eine bootable img datei.
« Letzte Änderung: 08. May 2010, 22:35 von MrPerfekt »

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 10. May 2010, 19:51 »
Ganz tolle Aussage.
Ich will auch ganz viel.

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #2 am: 10. May 2010, 20:44 »
Ist eine .img bei dir ein FAT/ext2/... Floppy-Image, ein ISO9660 CDROM-Image, ein UDF-DVD-Image oder was ganz was anderes?
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

MrPerfekt

  • Beiträge: 26
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 12. May 2010, 13:16 »
Ganz tolle Aussage.
Ich will auch ganz viel.

Tut mir leid dass es so kurz geworden ist aber ich habe die schmerzhafte Erfahrung gemacht, dass bei langen Texten niemand zurückschreibt


Also es sollte ein ein Diskettenimmage sein.
Ich habe die binaerdatei und mache daraus ein image und zwar mit diesem befehl:
dd if=$bin/out.bin of=$bin/out.img bs=1024 count=1440 || exit 0
bochs Nimmt dieses image aber virtual box giebt seit einem update einen error aus

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 12. May 2010, 14:52 »
Diskettenimages erzeugst du z.B. direkt im NASM, indem du mit der "times"-Anweisung das Ding bis zur 512er-Grenze auffüllst, den Sektor also vollmachst.

Anschließend "brennst" du diese auf Diskette, z.B. mit
dd if=image.bin of=/dev/fd0 bs=512 conv=sync
welches nur den ersten Sektor der realen Floppy schreibt.

Ansonsten kannst du auch direkt mit der "times"-Anweisung bis 2880*512 Bytes auffüllen lassen, es entsteht dann ein 1.44 MB-Image.

Booten tut das Image nur bei gültiger Bootsignatur (letzte 2 Bytes vor Sektorende) und als Floppy korrekt erkannt wird es auch nur bei exakt passender Dateigröße.

Ansonsten beschreibe doch mal den Fehler?

Gruß,
Svenska

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 12. May 2010, 15:41 »
dd if=$bin/out.bin of=$bin/out.img bs=1024 count=1440 || exit 0
Kommt dabei wirklich eine 1,44-MB-Datei raus?

Und bitte, hört mal auf, Disketten zu brennen, das tut doch weh...  Man kann auf Disketten kopieren, schreiben und sicher noch einiges mehr, aber doch nicht brennen. :|
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 12. May 2010, 16:06 »
Wenn ich CD-Images brennen kann, dann kann ich auch Disketten-Images brennen. ;-)

chris12

  • Beiträge: 134
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 12. May 2010, 16:52 »
cd - ROM kann man aber nicht wieder beschreiben ...
OS? Pah! Zuerst die CPU, dann die Plattform und _dann_ das OS!

MrPerfekt

  • Beiträge: 26
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 12. May 2010, 19:47 »
dd if=$bin/out.bin of=$bin/out.img bs=1024 count=1440 || exit 0
Kommt dabei wirklich eine 1,44-MB-Datei raus?
Nein kommt nicht nur So gros wie meine binaer Datei ist.
Ich habe jetzt leider nur noch ein paar Minuten zeit aber um 10uhr probiere ich das img auf 1,44MB aufzufüllen und melde mich dann.
zu dem Fehler: Das sagt virtual box:
Die virtuelle Maschine BlackWindow konnte nicht gestartet werden.
Medium '/home/andreas/Desktop/BlackWindow/bin/bootloader.img' is not accessible. Could not open the medium '/home/andreas/Desktop/BlackWindow/bin/bootloader.img'.
VD: error VERR_FILE_NOT_FOUND opening image file '/home/andreas/Desktop/BlackWindow/bin/bootloader.img' (VERR_FILE_NOT_FOUND).
Fehlercode:NS_ERROR_FAILURE (0x80004005)
Komponente:Machine
Interface:IMachine {99404f50-dd10-40d3-889b-dd2f79f1e95e}
Die virtuelle Maschine BlackWindow konnte nicht gestartet werden.
Method GetVRDPServer is not implemented.
Fehlercode:NS_ERROR_NOT_IMPLEMENTED (0x80004001)
Komponente:Machine
Interface:IMachine {99404f50-dd10-40d3-889b-dd2f79f1e95e}


Danke dass ihr euch so bemüht
Danke Danke Danke
MrPerfekt

Ps ich habe vergessen das der MBR bereits gültig erstellt worden ist.
Zumindestens die Bootsignatur auf dem 511 und 512 byte. Der Rest des MBR setzt sich bei mir aus meinem code und nullen zusammen
« Letzte Änderung: 12. May 2010, 19:51 von MrPerfekt »

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 12. May 2010, 20:58 »
Ich schätze mal, er hat einfach was gegen die falsche Dateigröße. Versuch es mal so:
cp out.bin out.img
dd if=/dev/zero of=out.img bs=1k seek=1440 count=0
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

MrPerfekt

  • Beiträge: 26
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 12. May 2010, 22:13 »
ok die Idee dass er der größe entsprechen muss war sehr vielversprechend doch leider tritt bei virtual box der fehler immer noch auf  :-(
die Größe hat funktioniert:
-rw-r--r-- 1 andreas andreas 1,5M 2010-05-12 22:10 out.img
Wie gesagt es ist nur bei virtual box und auch erst seit dem neuen update

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 13. May 2010, 01:14 »
Nutze mal nicht "ls -lh", sondern "ls -l", damit kriegst du die Größe auch in Bytes angezeigt. Ist bei solchen Sachen meist hilfreicher.

Die Fehlermeldung klingt arg nach "Datei nicht gefunden", viel mehr kann ich dazu jetzt aber auch nicht sagen. Mich stört an VBox, dass ich keine read-only Disketten-Images nutzen kann... aber das ist OT.

cat bootsect.bin /dev/zero | dd of=image.bin bs=512 count=2880
sollte auch gehen.

Gruß,
Svenska

MrPerfekt

  • Beiträge: 26
    • Profil anzeigen
Gespeichert
« Antwort #12 am: 13. May 2010, 09:28 »
ok danke dass hat mir sehr geholfen
nur jetzt verstehe ich virtual box nicht mehr
jetzt nimmt er mir auf einmal mein img aber dafür wirf es einen schweeren systemfehler :D
wie gesagt auf qemu und bochs funktioniert alles
Ein schwerwiegender Fehler ist aufgetreten, und die Ausführung der virtuellen Maschine wurde unterbrochen.
Zusätzliche Informationen zu diesem Fehler suchen Sie bitte in der Community-Sektion auf http://www.virtualbox.org bzw. handeln Sie gemäß Ihres Supportvertrages. Bitte geben Sie die Logdatei VBox.log, den Screenshot VBox.png, den Sie im Verzeichnis /home/andreas/.VirtualBox/Machines/BlackWindow/Logs finden können, sowie eine Beschreibung der Maßnahmen, die zu diesem Fehler führten, weiter. Sie können diese Dateien auch durch Auswahl von Zeige Log... im Menü Maschine des Hauptfensters finden.
Wählen Sie OK, wenn Sie die virtuelle Maschine ausschalten wollen. Wählen Sie Ignorieren, wenn Sie diese für Debugging offen lassen wollen. Zum Debuggen sind spezielle Kenntnisse und Tools notwendig, so dass die empfohlene Aktion hier OK ist.
ich vermute es ist beim aktivieren des 32 bit protected mode

danke für eure hilfe
fl weis jemand auf dieses rätsel auch noch eine lösung

aber forerst schon mal danke
mrPerfekt

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #13 am: 13. May 2010, 12:40 »
Meinst du nicht, dass du dazu preisgeben solltest was du überhaupt machst und v.a. wie genau (d.h. Sourcecode)?
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

 

Einloggen