2017-02-25 7 views
0

現在、bochで簡単なブートローダをコンパイルして実行しようとしています。私pragmalinux-IMGディレクトリからアセンブリ - bochsでブートローダを実行する際の問題

[BITS 16] 
[ORG 0x7C00] ;Where the code gets mapped 
top: 
    jmp top ;Loop forever 
times 510-($-$$) db 0 ;Pad with 0 
dw 0xAA55 ;Bootloader signature (backwards) 
    ;; dw declares a word (2 bytes because we’re 16 bits) 

私は、次のコマンドを入力:私は、次のエラーメッセージが表示されます実行しているBochsの際

yasm bootloader.asm 
dd if=bootloader bs=512 
bochs 

現在、これは私のbootloader.asmファイルです。 (本文には申し訳ありません)

     Bochs x86 Emulator 2.6 
      Built from SVN snapshot on September 2nd, 2012 
======================================================================== 
00000000000i[  ] LTDL_LIBRARY_PATH not set. using compile time default  '/usr/lib/bochs/plugins' 
00000000000i[  ] BXSHARE not set. using compile time default '/usr/share/bochs' 
00000000000i[  ] lt_dlhandle is 0x2d78540 
00000000000i[PLGIN] loaded plugin libbx_unmapped.so 
00000000000i[  ] lt_dlhandle is 0x2d79270 
00000000000i[PLGIN] loaded plugin libbx_biosdev.so 
00000000000i[  ] lt_dlhandle is 0x2d79bf0 
00000000000i[PLGIN] loaded plugin libbx_speaker.so 
00000000000i[  ] lt_dlhandle is 0x2d7b2d0 
00000000000i[PLGIN] loaded plugin libbx_extfpuirq.so 
00000000000i[  ] lt_dlhandle is 0x2d7bbf0 
00000000000i[PLGIN] loaded plugin libbx_parallel.so 
00000000000i[  ] lt_dlhandle is 0x2d7d7c0 
00000000000i[PLGIN] loaded plugin libbx_serial.so 
00000000000i[  ] lt_dlhandle is 0x2d813a0 
00000000000i[PLGIN] loaded plugin libbx_gameport.so 
00000000000i[  ] lt_dlhandle is 0x2d81e40 
00000000000i[PLGIN] loaded plugin libbx_iodebug.so 
00000000000i[  ] reading configuration from bochsrc 
00000000000e[  ] bochsrc:9: 'vga_update_interval' will be replaced by new 'vga: update_freq' option. 
00000000000e[  ] bochsrc:10: 'i440fxsupport' will be replaced by new 'pci' option. 
00000000000i[  ] lt_dlhandle is (nil) 
00000000000p[  ] >>PANIC<< dlopen failed for module 'sdl': file not found 
======================================================================== 
Event type: PANIC 
Device: [  ] 
Message: dlopen failed for module 'sdl': file not found 

A PANIC has occurred. Do you want to: 
    cont  - continue execution 
    alwayscont - continue execution, and don't ask again. 
       This affects only PANIC events from device [  ] 
    die  - stop execution now 
    abort  - dump core 
    debug  - continue and return to bochs debugger 
Choose one of the actions above: [die] die 
00000000000i[CPU0 ] CPU is in real mode (active) 
00000000000i[CPU0 ] CS.mode = 16 bit 
00000000000i[CPU0 ] SS.mode = 16 bit 
00000000000i[CPU0 ] EFER = 0x00000000 
00000000000i[CPU0 ] | EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000000 
00000000000i[CPU0 ] | ESP=00000000 EBP=00000000 ESI=00000000 EDI=00000000 
00000000000i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df if tf sf ZF af PF cf 
00000000000i[CPU0 ] | SEG sltr(index|ti|rpl)  base limit G D 
00000000000i[CPU0 ] | CS:0000(0000| 0| 0) 00000000 00000000 0 0 
00000000000i[CPU0 ] | DS:0000(0000| 0| 0) 00000000 00000000 0 0 
00000000000i[CPU0 ] | SS:0000(0000| 0| 0) 00000000 00000000 0 0 
00000000000i[CPU0 ] | ES:0000(0000| 0| 0) 00000000 00000000 0 0 
00000000000i[CPU0 ] | FS:0000(0000| 0| 0) 00000000 00000000 0 0 
00000000000i[CPU0 ] | GS:0000(0000| 0| 0) 00000000 00000000 0 0 
00000000000i[CPU0 ] | EIP=00000000 (00000000) 
00000000000i[CPU0 ] | CR0=0x00000000 CR2=0x00000000 
00000000000i[CPU0 ] | CR3=0x00000000 CR4=0x00000000 
bx_dbg_read_linear: physical memory read error (phy=0x0000000000000000, lin=0x0000000000000000) 
00000000000i[CTRL ] quit_sim called with exit code 1 

私は組み立てが新しく、このタイプのものはどんな助けにもなります。ありがとう。

+0

「メッセージ」を読むと、本当に知っておくべきことがすべて伝えられます。 –

+0

@Someprogrammerdudeありがとう、それを固定しました。 – WewLad

答えて

1

@ Someprogrammerdudeのヒントのために修正されました。ちょうど走った:

sudo apt-get bochs-sdl 

それはすぐに修正されました。注目すべきは、私も実行した:

sudo apt-get bochs-x 

以前のフォーラムポストのアドバイスでそれ以前に私は走った。この修正には支えられていたかもしれません。

関連する問題