fehler bei nasm

clouder

clouder

Mitglied
ich habe folgendes in der konsole eingegeben:
Code:
nasm –f bin –o kernel.bin kernel.asm
aber es kommt ständing dies als aussage:
Code:
nasm: error: more than one input file specified
nasm: error: more than one input file specified
nasm: error: more than one input file specified
nasm: error: more than one input file specified
type `nasm -h' for help
Was mache ich falsch?
 
Hi,

bei mir geht der Befehl genau so. Der Fehler kam bei mir nur, als die "-" durch "." ersetzt wurden.
 
ah, endlich^^
irgendwie hatte er den Bidesstrich anders umgewandelt.

wer weis wie ich meine datein in ein Image (*.img) umwandeln kann und auf eine diskette bekomme?
 
Zuletzt bearbeitet:
Code:
cp kernel.bin kernel.img
dd if=kernel.img of=/dev/fd0

oder alternativ
Code:
dd if=kernel.bin of=/dev/fd0

Ich gehe mal davon aus, das dein kernel den bootsektor/bootloader enthält.
 
Code:
cat bootsector.bin bootloader.bin kernel16.bin kernel32.bin > image.img
 
gut, danke. das wärs dann; auser die diskettengeschichte
 
Ich gehe mal davon aus, das dein kernel den bootsektor/bootloader enthält.
Hast Du dieses kleine Demo von low-level-Wiki verwendet? Wenn ja, so habe ich es in Qemu ans Laufen bekommen:

- kernel.asm habe ich auf 512 Byte NOPs aufgepumpt, indem ich Folgendes angehängt habe. Das soll laut Wiki für Qemu wichtig sein, da es ganze Sektoren lädt. Ging bei mir nicht anders.
Code:
times 512-($-$$) db 0x90

- Übersetzen:
Code:
nasm -o kernel.bin kernel.asm -f bin
nasm -o boot.bin boot.asm -f bin

- Ein "echtes" HD-Floppy-Image erzeugt, 2880 Sektoren mit je 512 Byte, mit Nullen gefüllt. Ob das wirklich nötig ist, weiss ich auch nicht.
Code:
dd if=/dev/zero of=./bootfloppy.img count=2880 bs=512 && sync

- Alles in das bestehende Image ge-pipe-d:
Code:
cat boot.bin kernel.bin | dd of=./bootfloppy.img && sync

- Mit Qemu testen, nur mit dem Keyboard wills nicht...
Code:
qemu -fda ./bootfloppy.img -boot a -m 32
 
Zuletzt bearbeitet:
Ich wollte nur aufklärerischerweise darauf hinweisen, dass in dem ersten code-Beispiel kein normales "Minus-Zeichen" als Strich verwendet wird (respektive wurde), sondern der etwas längere Gedankenstrich. (Oder auch Halbgeviertstrich(?))
Deswegen parst das Kommando die Dinger nicht als Optionen.
Also statt:
Code:
nasm –f bin –o kernel.bin kernel.asm
einfach:
Code:
nasm -f bin -o kernel.bin kernel.asm
So.
/me away *swoosh* \o/
 

Ähnliche Themen

ip6tables Problem

Keine grafische Oberfläche (Debian Installation)

X startet nichtmehr

Kerberos SSO

ärger mit /etc/mtab

Zurück
Oben