相信大家都聽說過QEMU吧.QEMU是和bochs一樣有名的虛擬機器.只不過效能以及功能相對來說會比bochs好一點.比如支援iso安裝以及網置的dhcp網關以及相容bochs的img映象,為什麼不運行QEMU呢?呵呵,當然也有缺點了,只是有時候運行得不穩定,而且切換滑鼠的快速鍵設計得不合理,用的是Ctrl+Shift這兩個鍵. 先將就吧.
嗯.考慮到大家都是用windows的.我就寫一個在windows下建立的樣本吧.
先看看要準備什麼工具吧:
1. QEMU-0.6.1 on Window
:http://www.h6.dion.ne.jp/~kazuw/qemu-win/qemu-0.6.1-windows.zip
2. freebsd的iso光碟片映射.我推薦去freebsdchina.org下載(我的下載速度達到1M)
ftp://ftp.freebsdchina.org/pub/FreeBSD/ISO-IMAGES-i386/5.3/5.3-RELEASE-i386-disc1.iso
3.bochs的img建立工具,因為qemu相容bochs的img映象,所以可以用這個工具來建立
嗯.下載的http://bochs.sourceforge.net/cgi-bin/topper.pl?name=See+All+Releases&url=http://sourceforge.net/project/showfiles.phpqmrkgroup_ideq12580
OK.準備幹活吧.
首先用bochs內建的bximage工具建立一個img.選擇hd,fat格式,大小為300-500M的映象.檔案名稱為c.img.
另外,我們看看QEMU的文檔,支援iso的安裝,其中有一項,-boot, 後面根據你的需要選擇A(軟碟機),C(硬碟),D(光碟機)其中一個參數.
因為我們是第一次安裝,所以我們需要從光碟片啟動,就選擇D,另外,QEMU的時間應該和你的主機的時間一致的,所以加一個 -localtime的參數
看看我的啟動參數吧,你也可以把這個參數做成一個bat檔案來啟動
fb53.bat
qemu.exe -L . -m 128 -hda c.img -cdrom f:/download/5.3-RELEASE-i386-disc1.iso -boot d -localtime
儲存好,就可以使用了.第一次使用沒有什麼特別的,就是freebsd的安裝過程,和5.X的都是一樣(具體的參考其他的教程),只不過XFree86換成了Xorg了.因為我沒有打算測試xorg,所以就先不管了,我們先裝一個系統看看吧.
我說一下我的安裝方式,我選擇mini安裝,再安裝一下src,以及man手冊,基本上沒有什麼空間了.另外,安裝的時候記得分配一個大小約為64M的交換分區.這是FB的推薦安裝.
QEMU提供了一個虛擬NE2000的網卡,所以選擇PPP/Net Work配置的時候,請選擇用dhcp的模式,這樣得到網路支援,相對來說比BOCHS方便不少.
關於QEMU的DHCP網關,請參考QEMU的英文文檔,裡面講得比較詳細,我就不重複了.
安裝完之後,exit install menu後把QEMU關閉掉,改一下fb53.bat的檔案,把-boot d改成 -boot c,這樣就可以從硬碟啟動了.
簡單的把FB5.3安裝到QEMU上,我覺得QEMU比較bochs方便許多,資源消耗比VMware少,而且速度比bochs快了很多.所以我推薦你們使用這款虛擬機器.
回到我們的主題,FreeBSD的網路效能比linux稍微好點,線上程比linux稍微差點.在5.3之後,聽說做得比較不錯,我也沒有測試過
我們來看看Release Note中有關於pthread的描述:
| 為人們熟知的 libkse 被命名為 libpthread, 並成為了 i386, amd64, 以及 ia64 平台上的預設線程庫。 GCC 的 -pthread 選項被修改以利用 libpthread 而不是原先的 libc_r。 Note: 使用較早的編譯好的程式 (例如, 在這個修改之前編譯的 ports) 應該使用 libmap.conf(5) 將 libc_r 和/或 libkse 映射到 libpthread。 Note: 使用由 NVIDIA 提供的驅動和程式庫的使用者需要使用 libmap.conf(5) 來把對 libpthread 的引用映射到 libc_r, 因為這些工具無法同 libpthread 一起正確地運行。 libpthread 現在支援 LIBPTHREAD_SYSTEM_SCOPE 環境變數以強制 1:1 模式 (使用系統可見的線程)。 需要說明的是在編譯 libpthread 時使用 -DSYSTEM_SCOPE_ONLY 參數也可以強制 1:1 模式,這也是在目前尚不支援 M:N 模式的架構上的預設設定。 另外, 也可以用 LIBPTHREAD_PROCESS_SCOPE 環境變數來強制 M:N 模式 (使用進程可見的線程)。 例如: % LIBPTHREAD_SYSTEM_SCOPE=yes threaded_app 將強制應用程式 threaded_app 使用系統可見的線程, 而 % LIBPTHREAD_PROCESS_SCOPE=yes threaded_app 則相應地強制它使用進程可見的線程。 |
呵呵.大家可以看看
http://cvs.freebsd.org.cn/~delphij/relnotes/relnotes/i386/article.html#RELENG
delphij真不愧是老大.
OK了.簡單的講到這裡.本來打算把防火牆這一部分也加上,只是我對這方面不是很熟.大家還是看看其他人關於這方面的資料吧.
給大家參考一篇文章http://journal.cnfug.org/issue14/000082.html
UP.發獃的上帝