2016-08-27 3 views
0

Ich studiere über die Betriebssystem-Konzepte. Ich habe einen einfachen Bootloader und einen zweiten Loader in der Assembly erstellt. Ich bin neu in Linux, also weiß ich nicht, wie ich es emulieren soll. Ich habe viele Seiten durchsucht, konnte aber keine perfekte Erklärung finden.Wie erstellt man eine .img-Datei im qemu-Emulator?

Also, wie würde ich dd tool und qemu verwenden, um boot.asm und load.asm Dateien im Emulator zu emulieren und wie würde ich das gleiche in einen USB tun und es in einer echten Maschine booten?

Bitte leite mich so, dass ich es bis fangen ..

OS: Ubuntu 16.04.1 Montage: 8086 Montage

Antwort

0

Das '.img' Datei-Container ist, die erforderlich binnaries enthält, z.B. '[Bootloader] [Kernel] [dtb]'. Mit 'dd' können Sie einen solchen Container erstellen. Ein anderes Wort, Sie können all diese erforderlichen Dateien in eine, z. 'boot.img' mit Offsets, auf die Sie hingewiesen haben. Außerdem müssen alle Offsets in der Header-Datei für Ihren Bootloader deklariert werden. Nachdem 'boot.img' erfolgreich erstellt wurde, können Sie es über die Option '-bios' (emulierte ROM) an qemu übergeben. Qemu startet diese Datei ab 0x0 Offset - es ist Ihr Bootloader. Ihr Bootloader kopiert den Kernel in den Arbeitsspeicher und übergibt die Ausführung an Ihren Kernel.

Verwandte Themen