關於我在安裝2.6.9版本bochs虛擬機時遇到的問題以及解決過程


更新於:2019.7.2

在閱讀《一個64位操作系統的設計與實現》過程中,搭建實驗環境遇到的諸多困難。

本人的實驗環境:vmware15.0 下安裝有kali-liunx虛擬機里進行的安裝實驗,如果有小伙伴對這款操作系統感興趣

kail操作系統鏡像:

鏈接:https://pan.baidu.com/s/1jkYI2RQ_lcgCPaENMQwEYg
提取碼:94s9


=====================     正文   ======================

1、安裝bochs

下載各個版本的bochs:傳送門0            bochs的用戶使用手冊:傳送門1              有關configure選項的含義:傳送門2

在kail linux操作系統下,我選擇bochs-2.6.9.tar.gz,為了實現調試功能我們必須自己下載源碼編譯。

或者您也可以使用SVN checkout命令獲取自2000年3月以來任何版本的Bochs源代碼。命令是:

svn co http://svn.code.sf.net/p/bochs/code/tags/tagname/bochs bochs

下載解壓:

tar -xvf bochs-2.6.9.tar.gz

在含有comfigure文件的目錄下打開命令行輸入回車:

./configure --with-x11 --with-wx --enable-plugins --enable-debugger --enable-debugger-gui --enable-readline --enable-disasm --enable-xpm --enable-show-ips --enable-logging --enable-assert-checks --enable-idle-hack --enable-cpu-level=6 --enable-fpu --enable-x86-64 --enable-vmx=2 --enable-svm --enable-avx --enable-x86-debugger --enable-alignment-check --enable-configurable-msrs --enable-long-phy-address --enable-a20-pin --enable-large-ramfile --enable-repeat-speedups --enable-fast-function-calls --enable-handlers-chaining --enable-all-optimizations --enable-pci --enable-iodebug --enable-usb 

根據文檔中相關參數的具體含義,根據該文檔我更改了一些參數:

去除掉了:--enable-cpp --enable-smp --enable-3dnow --enable-monitor-mwait --enable-voodoo --enable-ltdl-install --enable-trace-linking --enable-evex 

請自己查一下官方文檔!!!

等待結束后,輸入命令:

make

2、不得不說一下make命令:

我們先要配置好configure文件用於生成makefile文件。然后,make。如果你安裝失敗需要重新make,建議先運行:make all-clean,最后make install

3、此處根據個人編譯環境不同可能報錯如下:

<1> 出現

1“ERROR: X windows gui was selected, but X windows libraries were not found.

解決辦法:

sudo apt-get install libx11-dev xserver-xorg-dev xorg-dev

 

<2> 出現

1 “ERROR: pkg-config was not found, or unable to access the gtk+-2.0 package. Install pkg-config and the gtk+
development package, or disable the gui debugger, or the wxWidgets display library (whichever is being used).”
2 ERROR: pkg-config was not found, or unable to access the gtk+-2.0 package.Install pkg-config and the gtk+ development package,or disable the gui debugger, or the wxWidgets display library (whichever is being used)

解決辦法:

sudo apt-get install libgtk2.0-dev

<3> 出現

 1 checking for C compiler default output file name… configure: error: C compiler cannot create executables

解決⽅法:

sudo apt-get install libc6-dev


<4> 出現 

1 configure: error: C++ preprocessor "/lib/cpp" fails sanity check

解決⽅法

sudo apt-get install build-essential

<5> 出現

 1 X windows gui was selected, but X windows libraries were not found.

解決⽅法:

sudo apt-get install xorg-dev

⼤家在解決完⼀項之后再次輸⼊:./configure .......

等待完成輸入: 

make

<6>如果提⽰:

/usr/bin/ld: gui/libgui.a(gtk_enh_dbg_osdep.o): undefined reference to symbol pthread_create@@GLIBC_2.1
//lib/i386-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error:ld
returned 1 exit statusmake: *** [bochs]

解決⽅法:
在⽂件管理器的搜索欄⾥搜索:makefile
會搜出很多名叫“makefile”的⽂件,找到⼤⼩為29kb的那個“makefile”,注意,有的圖標上會帶着⼀個鎖,
有的沒有,我們找不帶鎖的那個,打開后下拉到90⾏左右,內容為:

LIBS = -lm -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype


在這條指令后⾯加上:-lz -lrt -lpthread,完整的如下:

LIBS = -lm -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lz -lrt -lpthread

保存后退出,此時再次在命令⾏⾥輸⼊:

make

 

 <7> 如果你啟用了‘--enable-cpp’將會出現:

make: *** No rule to make target 'misc/bximage.cc', needed by 'misc/bximage.o'.  Stop.

 解決方法:

cp misc/bximage.cpp misc/bximage.cc

cp iodev/hdimage/hdimage.cpp iodev/hdimage/hdimage.cc

cp iodev/hdimage/vmware3.cpp iodev/hdimage/vmware3.cc

cp iodev/hdimage/vmware4.cpp iodev/hdimage/vmware4.cc

cp iodev/hdimage/vpc-img.cpp iodev/hdimage/vcp-img.cc

cp iodev/hdimage/vbox.cpp iodev/hdimage/vbox.cc

繼續出現:

 

我猜測這是我之前選擇 --enable-cpp 搞出來的事情,所以我們還是不要--enable-cpp了,重新configure一下,再來過。

可以看到安裝成功后的目錄結構:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM