ftp无法连接虚拟机_一步步编写操作系统4 安装x86虚拟机 bochs
本節內容摘自《操作系統真象還原》,請大家支持正版
Bochs下載安裝
在完成了linux發行版的安裝后,現在到了安裝bochs的環節,這是我們的操作系統最終的宿主機。
由于我的工作是運維,所以練就了任何軟件包都要從源碼安裝的“陋習”,從來不信任任何軟件包。因為只有從源碼安裝的版本才會在其配置和編譯過程中根據所在的平臺的特性去優化,這些是其它形式的軟件包不可比擬的。舉個例子,將別人的windows系統直接ghost到自己的機器上和從光盤安裝windows比,哪個裝的windows系統用的更穩定,哪個安裝方法能讓windows堅持到半年才重裝一次……我不能再說了,我做為linux粉絲的事實已表露無遺。雖然我個人偏愛linux,但絕對不能否認,是windows把我帶入計算機世界的,既然有母校一說,它就相當于是我的母操作系統…沒有人嘔吐吧?抱歉我沒有考慮您的感受^_^。這個世界若沒有windows將暗淡70%的光芒。其實原先我寫的是90%,我怕有人問我這個數是怎么來的,其實這是我一拍腦門隨口說出來的,所以我穩妥起見,改為了70%,總之不能無視windows的偉大功績,從這么謹慎的一點大家可以看出,我是個公正的人…哈哈,不要打擾鄙視我的同學,咱們繼續。
bochs的安裝相對要麻煩一些,不光是裝上去就行了,還需要配置一下。廢話不多說,安裝走起。
等等,出大事了,軟件包得傳到虛擬機上才能安裝到虛擬機里,如何傳上去呢。下面建議3個方案:
第1個方案需要配置下ftp服務器,我用的是proftpd,相對來說有點麻煩,也是需要單獨配置的。而且默認linux的iptables會有一些規則,需要手動將其關閉。
第2個方案較簡單,在您的宿主系統可以連網的情況下,需要您自己配置一下virtualBox的網卡,將網卡部分改為NAT可以通過宿主系統連網,將網卡改為橋接可以直接連網。由于大家的版本不統一,雖然不知道界面是否接近,但菜單名稱總該是一樣的。我用的是mac版virtualBox,給大家截個圖看看。見圖1-1。
圖1-1 virtual box
將網卡模式改為NAT后,虛擬機就可以連網了。
第3個方式最方便了,大家自己試下吧。
好了,下面就假設大家能夠把安裝包上傳到虛擬機中,安裝走起。
官方地址是http://sourceforge.net/projects/bochs/files/bochs/,我安裝的版本是2.6.2,下載后的文件是bochs-2.6.2.tar.gz。
先進入到目錄cd bochs-2.6.2,開始configure、make、make install三步曲:
./configure
--prefix=/your_path/bochs
--enable-debugger
--enable-disasm
--enable-iodebug
--enable-x86-debugger
--with-x
--with-x11
注意各行結尾的’’字符前面有個空格。下面簡要說明一下configure的參數:
--prefix=/your_path/bochs是用來指定bochs的安裝目錄,根據個人實際情況將your_path替換為自己待安裝的路徑。
--enable-debugger 打開bochs自己的調試器
--enable-disasm使bochs支持反匯編
--enable-iodebug 啟用io接口調試器
--enable-x86-debugger 支持x86調試器
--with-x 使用x windows
--with-x11 使用x11圖形用戶接口
上面的編譯參數是不支持gdb遠程調試的,如果想用gdb調試,就要將參數--enable-debugger替換為--enable-gdb-stub。
--enable-gdb-stub是用來打開對gdb的支持,這樣我們就可以用gdb來遠程調試了。
不過,需要注意的是,不能同時打開這兩個開關,否則bochs會報錯:configure: error: --enable-debugger and --enable-gdb-stub are mutually exclusive。
也就是說,bochs本身是支持調試的,要么用本身的調試功能,要么用gdb的調試功能,魚和熊掌在一臺模擬器上不可兼得。我說的是一臺模擬器上不可兼得,所以,如果您愿意的話,可以用這兩個參數各編譯一版,只要--prefix指向不同的路徑就行了,想用哪個就啟用哪個。
不過我在開發過程中,只用過不超過5次的gdb調試,還是習慣bochs自己的調試功能,個人覺得它更強大,調試粒度更細微,反而更靈活。個人建議,直接用給出的configure參數就行,不要打開--enable-gdb-stub。
configure之后,會生成Makefile,可以開始編譯了。
make
若編譯時沒有問題,就直接執行下面這句:
make install
完成安裝
補充一下,我在編譯用bochs自己調試功能的版本時(用--enable-debugger),曾經安裝失敗過,如果您也在安裝過程中失敗了,恰好出現類似下面的報錯:
undefined reference to 'pthread_create'
undefined reference to 'pthread_join'
您可以按照下面的方法解決。如果不是這個報錯,親,您可能要辛苦一下自行解決啦。
上面報錯的原因:
pthread 庫不是 Linux 系統默認的庫,連接時需要使用靜態庫 libpthread.a,所以在使用pthread_create()創建線程,以及調用 pthread_atfork()函數建立fork處理程序時,需要鏈接該庫。
解決方案:
在編譯中要加 -lpthread參數。用vim編譯makefile,vim是linux下功能最為強大的文本編輯器。vim Makefile回車:
編輯第92行,將thread庫加入,將其放在行末尾就行了。
IBS = -lm -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 –lpthread
重新編譯,make 回車,看問題是否解決,成功解決后直接make install回車。
【再續】
總結
以上是生活随笔為你收集整理的ftp无法连接虚拟机_一步步编写操作系统4 安装x86虚拟机 bochs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都大熊猫基地上午场票下午场出来怎么办
- 下一篇: python语言用什么关键字来声明一个类