Autor Thema: GNU Binutils: GAS-Programm in den Bootsektor von Bochs-Floppyimage  (Gelesen 6793 mal)

HustensaftOS

  • Beiträge: 13
    • Profil anzeigen
Gespeichert
In der 1. Magazinausgabe habe ich gelesen, wie man so mit Bootsektoren umgeht. Als richtiger Gentleman wollte ich das natürlich auch versuchen, allerdings habe ich (bis auf ein 16bit-NASM-Programm für DOS) immer GAS/AT&T gearbeitet. Deshalb wollte ich ein GAS-Programm mit 10h-Aufruf just for fun für den Bootsektor schreiben.
Gudde Sache, blöd nur, dass GAS nicht wie die meisten anderen Assembler ein Image oder etwas anderes brauchbares erzeugen kann, nur so eine Objektdatei, die ich dann mit GLD zu einem Programm linken darf. Bis jetzt hab ich mich mit so etwas langweiligen zufriedengegeben. Aber wo bleibt da der Spaß? Ich möchte mit GLD oder einem anderen Programm aus den Tiefen der Binutils in eine dekorative Image-Datei schreiben, oder besser gesagt: Ich brauche mein 10h-Programm in einer Form, die mein Bochs mag.

lg hustensaftOS.

--
Hier folgt Wuschelkopf:  :mrgreen:
Es folgt ein Wuschelkopf :mrgreen:

chris12

  • Beiträge: 134
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 22. October 2011, 19:32 »
das heißt, du brauchst eine 1440000 byte große plain binary datei, oder du sagst bochos explizit, dass es sich um so eine datei handelt, obwohl es das nicht tut

mfg
OS? Pah! Zuerst die CPU, dann die Plattform und _dann_ das OS!

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 23. October 2011, 13:02 »
Dann musst du ld eben sage, dass du eine schöne flache Binary mit ohne alles haben willst. Dazu musst du dann wohl ein passendes Linkerskript schreiben. Mit ein paar Kernel-Linkerskripts als Vorlage und dem ld-Handbuch müsste das machbar sein.

Andererseits empfehlen wir hier niemandem, mit einem eigenen Bootsektor anzufangen und das neuere Tutorial OS-Dev für Einsteiger geht auch dementsprechend vor. Ein eigener Bootloader bringt dir nur wenige verwertbare Erkenntnisse, aber dafür in der Regel viel Ärger. Von der Schwierigkeitsstufe her ist er anspruchsvoller als die ersten Schritte eines Protected-Mode-Kernels, der das Multiboot-Protokoll benutzt und bietet meistens deutlich weniger Funktionalität.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

 

Einloggen