工欲善其事,必先利其器。
由于公司電腦工作環境是win7,為了學習于淵的Orange,所以就在windows下配置環境:1.nasm:nasm匯編http://www.nasm.us/ 版本:最新2.11.06記得添加環境變量2.cygwin:安裝完就可以使用一些常用的linux命令了,比如dd命令了。3.Bochs:虛擬機,模擬器。相比其他virtualbox和VMware等,好處是可以方便調試,另外書里也是用的Bochshttp://bochs.sourceforge.net/我是先下載bochs-2.6.7.exe安裝,再下載bochs-2.6.7-win64.zip的,解壓里面有兩個可執行文件,是64位編譯版本,拷到安裝目錄下。這樣就有四個可執行文件了,分別是32位和64位的帶與不帶debug版本的bochs。
安裝時最好把linux demo選上,可以參考。配置文件可以參考linux的demo中的配置文件。為了實踐第一個引導扇區的例子,我的配置如下:
################################################################ bochsrc.txt file for DLX Linux disk image.################################################################ how much memory the emulated machine will havemegs: 32# filename of ROM imagesromimage: file=../BIOS-bochs-latestvgaromimage: file=../VGABIOS-lgpl-latest# what disk images will be used# floppya: 1_44=floppya.img, status=inserted# floppyb: 1_44=floppyb.img, status=insertedfloppya: 1_44=a.img, status=inserted# hard disk# ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14# ata0-master: type=disk, path="hd10meg.img", cylinders=306, heads=4, spt=17# choose the boot disk.# boot: cboot: floppy# default config interface is textconfig.#config_interface: textconfig#config_interface: wx#display_library: x# other choices: win32 sdl wx carbon amigaos beos macintosh nogui rfb term svga# where do we send log messages?log: bochsout.txt# disable the mouse, since DLX is text onlymouse: enabled=0# set up IPS value and clock synccpu: ips=15000000clock: sync=both# enable key mapping, using US layout as default.## NOTE: In Bochs 1.4, keyboard mapping is only 100% implemented on X windows.# However, the key mapping tables are used in the paste function, so# in the DLX Linux example I'm enabling keyboard_mapping so that paste# will work. Cut&Paste is currently implemented on win32 and X windows only.keyboard: keymap=../keymaps/x11-pc-us.map#keyboard: keymap=../keymaps/x11-pc-fr.map#keyboard: keymap=../keymaps/x11-pc-de.map#keyboard: keymap=../keymaps/x11-pc-es.map4.DOS:待保護模式時補充運行第一個引導扇區例子效果如圖:
新聞熱點
疑難解答