Programmieren - alles kontrollieren 4.937 Themen, 20.662 Beiträge

Boot-CD selber *programmieren*

stefanw1 / 7 Antworten / Flachansicht Nickles

Hallo,
ich möchte ein kleines Bootprogramm schreiben und auf einen Datenträger verbannen. Wie bekomme ich nun aber das Bootprogramm genau auf die Stelle, von der das BIOS beginnt, die CD zu starten?

Ich habe mir überlegt, dass man vielleicht ein ISO-Image selbst erstellen könnte, das man dann einfach brennt. Nur wie ist der ISO-Standard aufgebaut?? Wo kann ich meinen Binärcode dort einfügen?

Das kleine Bootprogramm würde ich in Assembler programmieren und eine uralt-DOS-COM-Datei erstellen. Dann beginnt der Binärcode mit genau dem ersten Zeichen, und ich könnte ihn direkt ins ISO-file hineinkopieren. - Geht das?

Ich habe das vorher schoneinmal mit Disketten gemacht, was auch funktioniert. Aber leider sind sie vom Aussterben bedroht :P - deswegen bitte kein Umwege mit Disketten beschreiben!

Vorab schonmal vielen Dank!
mfg Stefan

bei Antwort benachrichtigen
Antwort Borlander
stefanw1 Nachtrag zu: „Hallo zusammen, nach Durchlesen aller Posts möchte ich nochmal gegen...“
Optionen

Hallo,
ich bin's mal wieder :D. Habe einige Wissens-Fortschritte gemacht, an die Ihr anknüpfen könnt, falls Ihr das gleiche wie ich gesucht habt:

Zuerst habe ich ein .pdf über die ISO 9660 gefunden: "Introduction to ISO 9660" von Disc Manufacturing, Inc. aus dem Jahr 1993. Darin standen schonmal einige Hintergründe zu dieser CD-Norm. Besonders wertvoll war für mich eine Tabelle, die den Inhalt der ersten 2048 Bytes einer CD beschreibt. Nice-to-know, aber noch nicht genau das, was etwas über den Bootvorgang aussagt.

Deswegen habe ich weitergeforscht und bin in einem CD-Image auf den Begriff "EL TORITO SPECIFICATION" gestoßen. Nach einigem Suchen nach einer Beschreibung dieses Standards wurd ich auch da fündig: El Torito Bootable CD-ROM Format Specification, Version 1.0; January 25, 1995 von Phoenix und IBM. Und da stehen nun die wirklich interessanten Dinge drin! Bin zwar erst auf Seite 10, weiß aber schon einige Adressen:
auf Adresse 8800h der letzten Session beginnt der Boot-Record, der erstmal einige Informationen enthält. Außerdem wird etwas davon gesagt, dass 7C0h das "traditionelle" Startsegment für den Bootvorgang ist.

Ich werde es demnächst also an Adresse 07C0h mit meinem Bootcode versuchen.

Außerdem benutze ich momentan IsoBuster, einen HEX-Editor und WinOnCD. Denke das sollte klappen...

Für Anregungen bin ich natürlich weiterhin dankbar,
Viele Grüße,
Stefan

bei Antwort benachrichtigen