Problem mit Kompiler für OS
-
Ist irgendetwas Komisches, schaffen wir aber auf jeden Fall. Schicke mir alle Dateien an die Mail-Adresse, die hier genannt ist: http://www.henkessoft.de/Impressum/impressum.htm
... und teile mir genau die verwendeten Tools und die Fehlermeldungen (sieht man nur in der Konsole!) mit.So, ich habe mir alles angeschaut. Alle Dateien wurden fehlerlos erzeugt.
cmd /c copy /b boot.bin + ckernel.bin HobbyOS.bin
boot.bin
ckernel.binAusgabe ist in Ordnung:
Welcome to HenkesSoft OS.
The C kernel has been loaded.
Ich musste im makefile lediglich nasm in namsw umbennenen, aber das ist nebensächlich.
Ich verwende mingw32-make.exe von:
http://www.henkessoft.de/OS_Dev/OS_Dev2.htm#mozTocId585387
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=23918Prüfe auch dein Bochs config file.
http://www.henkessoft.de/OS_Dev/OS_Dev1.htm#mozTocId440953 (dort Punkt 4)CrossTools genau prüfen (Aufruf, Pfad). Vielleicht läuft da etwas parallel in ein anderes Verzeichnis mit anderen Tools (gcc, ld, make, ...)?
-
Jetzt weis ich nicht was ich machen soll.
Nur als Hinweis, weil häufiger Fehler: Ich weiß kommt von wissen, daher ß oder Doppel-s.
-
@Hobby Programmierer: Konntest Du das Problem ausfindig machen und beheben?
-
So, in Bochs läugt es jetzt Fehlerfrei, nur in VirtualBox von Sun will es nicht so recht. Aber egal. Es läuft, vielen Dank für die Hilfe.
-
Schön für dich. Toll. Jetzt bloß nicht schreiben, woran es letztendlich lag.
-
Sorry! Warum es nicht in Virtualbox geht, weiß ich nicht. Aber in Bochs lag der Fehler daran, dass die Datei HobbyOS als Endung .bin hat, aber er nur eine mit .img akzeptiert. Also musste ich in Bochs als Image dann nur HobbyOS auswählen und das ganze Configfile speichern.
-
Aber in Bochs lag der Fehler daran, dass die Datei HobbyOS als Endung .bin hat, aber er nur eine mit .img akzeptiert. Also musste ich in Bochs als Image dann nur HobbyOS auswählen und das ganze Configfile speichern.
Mein bochs config (man kann aus der Vorlage "bochsrc-sample.txt" mehrere mit verschiedenen Namen definieren. Ich verwende immer kurze Namen wie f1, f2, f3 ..., damit ich wenig tippen muss) sieht momentan so aus:
romimage: file=$BXSHARE/BIOS-bochs-latest
cpu: count=1, ips=10000000, reset_on_triple_fault=1
megs: 32
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
vga: extension=vbe
floppya: 1_44=G:\OSDev\User*MyOS.bin*, status=inserted
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9boot: floppy
floppy_bootsig_check: disabled=0
log: bochsout.txt
panic: action=ask
error: action=report
info: action=report
debug: action=ignoredebugger_log: -
parport1: enabled=1, file="parport.out"
vga_update_interval: 300000
keyboard_serial_delay: 250
keyboard_paste_delay: 100000
mouse: enabled=0
private_colormap: enabled=0
keyboard_mapping: enabled=0, map=
i440fxsupport: enabled=0
Dort kann man beliebige Namen vorgeben. Ob img oder bin oder ... sollte somit egal sein.
-
Keine Ahnung warum das so ist. In VirtualBox kommt immer nur die Bootloader-Message und in Bochs geht es einwandfrei. Ich werde jetzt dein Tut erstmal weiter durch arbeiten. Und mit dessen Hilfe werde ich mir dann ein eigenes kleines OS aufbauen, um den PC besser zu verstehnen zu lernen. Bestimmt habe ich irgendwann Probleme, dann melde ich mich wieder.
-
Bestimmt habe ich irgendwann Probleme
darauf kannst Du wetten!
-
Dieser Thread wurde von Moderator/in Nobuo T aus dem Forum Assembler in das Forum Projekt: OS-Development verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Zum Thema VirtualBox: Es hilft mglw. in den Optionen der Maschine eine Option einzuschalten. Welche weiß ich aus dem Kopf nicht mehr, aber probiere mal folgende:
VT-x/AMD-V
Nested Paging
PAE/NX
APIC
IO-APICEine von denen hat bei mir geholfen.
mfg
Mr. X
-
Danke, aber ich beschäftige mich mit dem Ehenkes Tut schon länger nicht mehr. mache nun ein eigenes OS Projekt.