Auf virtuelle Diskette Datei brennen, die nicht 512/1024 Bytes gross ist
-
Ich habe hier ein Makefile fuer mein Betriebssystem
all:
nasmw -O32 -f bin -o boot.bin boot.asm (512 Bytes)
nasmw -O32 -f bin -o shell.bin shell.asm (1024 Bytes)
nasmw -O32 -f bin -o test.bin test.asm (512 Bytes)
copy /b boot.bin + shell.bin + test.bin OS.binboot.bin liegt im Sektor 1, shell.bin im Sektor 2 und 3, test im Sektor 4.
Jetzt will ich aber zwischen boot.bin und shell.bin noch eine txt-Datei klemmen, die nicht 512 Bytes gross ist, sondern von mir aus nur 50 Bytes.
Mein OS startet dann aber nicht richtig, weil im 2. Sektor ja die TXT-Datei ist und shell.bin weiter hinten steht.Wie kann ich diesen Fehler beheben?
-
Die einfachste Lösung wäre, die Textdatei auf 512 Bytes zu vergrößern. Also irgendwelche Padding-Bytes da einzufügen.
-
Du musst im Bootsektor absichern, dass shell.bin korrekt geladen und aufgerufen wird. Sektorgrenzen einhalten, wie von MrX vorgeschlagen.