Mac® 版的 Parallels Desktop 乃是可用於搭配 Intel® CPU 以及 Mac OS® 10.4.6 以上的 Apple® Mac® 電腦的商業軟體。 FreeBSD 是其有完整支援的 guest OS 之一。 在 Mac OS® X 裝好 Parallels 後, 必須針對所欲安裝的 guest OS 來作相關的虛擬機器設定。
在 Mac OS® X/Parallels 上安裝 FreeBSD 的第一步是新增虛擬機器。 如下所示,在提示視窗內請將 勾選為 :
並依據自身需求來規劃硬碟容量跟記憶體的分配。 對大多數在 Parallels 使用的情況而言,大約 4GB 硬碟以及 512MB RAM 就夠用了:
接下來,選擇網路種類以及網路卡:
最後,儲存設定檔就完成設定了:
在 FreeBSD 虛擬機器新增後,就可以繼續以其安裝 FreeBSD。 安裝方面,比較好的作法是使用官方的 FreeBSD 光碟或者從官方 FTP 站下載 ISO image 檔。 若您的 Mac® 本機已經有該 ISO 檔, 或者 Mac® 的光碟機內有放安裝片,那麼就可以在 FreeBSD 的 Parallels 視窗右下角按下光碟片圖示。 接著會出現一個視窗,可以把虛擬機器內的光碟機設定到該 ISO 檔, 或者是實體光碟機。
設好光碟片來源之後,就可以按下重開機圖示以重開 FreeBSD 虛擬機器。 Parallels 會以特殊 BIOS 開機,並與普通的 BIOS 一樣會先檢查是否有光碟機。
此時,它就會找到 FreeBSD 安裝片,並開始在 章 2, 安裝 FreeBSD 內所介紹到的 sysinstall 安裝過程。 這時候也可順便裝 X11,但先不要進行相關設定。
完成安裝過程之後,就可以重開剛裝的 FreeBSD 虛擬機器。
把 FreeBSD 成功裝到 Mac OS® X 的 Parallels 之後,還需要作一些設定步驟, 以便將虛擬機器內的 FreeBSD 最佳化。
設定 boot loader 參數
最重要的步驟乃是藉由調降 kern.hz
來降低
Parallels 環境內 FreeBSD 的 CPU
佔用率。 可以在 /boot/loader.conf
內加上下列設定即可:
若不作這設定,那麼光是 idle 狀態的 FreeBSD (Parallels guest OS) 就會在僅單一處理器的 iMac® 上佔了大約 15% 的 CPU 佔用率。 作上述修改之後,佔用率就會降至大約 5%。
設定新的 kernel 設定檔
可以放心把所有 SCSI、FireWire、USB 相關設備都移除。 Parallels 有提供 ed(4) 的虛擬網卡,因此,除了 ed(4) 以及 miibus(4) 以外的其他網路卡也都可以從 kernel 中移除。
設定網路
可以替虛擬機器簡單用 DHCP 來設定與 Mac® 相同的 LAN
網路環境,只要在 /etc/rc.conf
內加上 ifconfig_ed0="DHCP"
即可完成。
其他進階的網路設定方式,請參考 章 29, 網路進階練功房。
Xen™ hypervisor 乃是開放源碼的 paravirtualization 產品,並由商業公司(XenSource)提供支援。 Guest OS 通常被稱為 domU domains,而 host OS 則是被稱為 dom0。 在 Linux 上建立 FreeBSD 虛擬機器的第一步,則是安裝 Linux dom0 的 Xen™。 在本例中, host OS 乃是 Slackware Linux。
從 XenSource 網站下載 Xen™ 3.0
解壓縮
#
cd xen-3.0.4_1-src
#
KERNELS="linux-2.6-xen0 linux-2.6-xenU" make world
#
make install
為 dom0 重新編譯 kernel:
#
cd xen-3.0.4_1-src/linux-2.6.16.33-xen0
#
make menuconfig
#
make
#
make install
舊版的 Xen™ 可能需要用
make ARCH=xen menuconfig
增加選項到 Grub 的 menu.lst 選單
修改 /boot/grub/menu.lst
加上下列設定:
重開機並進入 Xen™
首先,修改
/etc/xen/xend-config.sxp
加上下列設定:
接下來,就可以啟動 Xen™:
#
/etc/init.d/xend start
#
/etc/init.d/xendomains start
現在 dom0 已經開始運作:
#
xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 256 1 r----- 54452.9從 http://www.fsmware.com/ 下載搭配 Xen™ 3.0 的 FreeBSD domU kernel 相關檔案
把 xmexample1.bsd
設定檔放到
/etc/xen/
,並修改 kernel 及 disk image 相關位置。
以下是示範的例子:
其中 mdroot-7.0.bz2
檔要記得解壓縮之。
接下來,要修改 kernel-current
設定檔的
__xen_guest 小節,並加上 Xen™ 3.0.3 所需的
VIRT_BASE:
#
objcopy kernel-current -R __xen_guest
#
perl -e 'print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC0000000\x00"' > tmp
#
objcopy kernel-current --add-section __xen_guest=tmp
#
objdump -j __xen_guest -s kernel-current
kernel-current: file format elf32-i386
Contents of section __xen_guest:
0000 4c4f4144 45523d67 656e6572 69632c47 LOADER=generic,G
0010 55455354 5f4f533d 66726565 6273642c UEST_OS=freebsd,
0020 47554553 545f5645 523d372e 302c5845 GUEST_VER=7.0,XE
0030 4e5f5645 523d7865 6e2d332e 302c4253 N_VER=xen-3.0,BS
0040 445f5359 4d544142 2c564952 545f4241 D_SYMTAB,VIRT_BA
0050 53453d30 78433030 30303030 3000 SE=0xC0000000. 現在可以新增並啟動 domU 囉:
#
xm create /etc/xen/xmexample1.bsd -c
Using config file "/etc/xen/xmexample1.bsd".
Started domain freebsd
WARNING: loader(8) metadata is missing!
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006
kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF
WARNING: DIAGNOSTIC option enabled, expect reduced performance.
Xen reported: 1796.927 MHz processor.
Timecounter "ixen" frequency 1796927000 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1796.93-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf29 Stepping = 9
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,
DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0x4400<CNTX-ID,<b14>>
real memory = 265244672 (252 MB)
avail memory = 255963136 (244 MB)
xc0: <Xen Console> on motherboard
cpu0 on motherboard
Timecounters tick every 10.000 msec
[XEN] Initialising virtual ethernet driver.
xn0: Ethernet address: 00:16:3e:6b:de:3a
[XEN]
Trying to mount root from ufs:/dev/xbd769a
WARNING: / was not properly dismounted
Loading configuration files.
No suitable dump device was found.
Entropy harvesting: interrupts ethernet point_to_point kickstart.
Starting file system checks:
/dev/xbd769a: 18859 files, 140370 used, 113473 free (10769 frags, 12838 blocks, 4.2% fragmentation)
Setting hostname: demo.freebsd.org.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000
Additional routing options:.
Mounting NFS file systems:.
Starting syslogd.
/etc/rc: WARNING: Dump device does not exist. Savecore not run.
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
Starting usbd.
usb: Kernel module not available: No such file or directory
Starting local daemons:.
Updating motd.
Starting sshd.
Initial i386 initialization:.
Additional ABI support: linux.
Starting cron.
Local package initialization:.
Additional TCP options:.
Starting background file system checks in 60 seconds.
Sun Apr 1 02:11:43 UTC 2007
FreeBSD/i386 (demo.freebsd.org) (xc0)
login: 現在 domU 應該可以跑 FreeBSD 7.0-CURRENT kernel:
#
uname -a
FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006
kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF i386接下來是設定 domU 的網路,FreeBSD domU 會用代號為
xn0
的特殊網路卡:
#
ifconfig xn0 10.10.10.200 netmask 255.0.0.0
#
ifconfig
xn0: flags=843<UP,BROADCAST,RUNNING,SIMPLEX> mtu 1500
inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255
ether 00:16:3e:6b:de:3a
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000 在 dom0 Slackware 上應該會出現一些 Xen™ 專用的網路卡:
#
ifconfig
eth0 Link encap:Ethernet HWaddr 00:07:E9:A0:02:C2
inet addr:10.10.10.130 Bcast:0.0.0.0 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:815 errors:0 dropped:0 overruns:0 frame:0
TX packets:1400 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:204857 (200.0 KiB) TX bytes:129915 (126.8 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:99 errors:0 dropped:0 overruns:0 frame:0
TX packets:99 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9744 (9.5 KiB) TX bytes:9744 (9.5 KiB)
peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:1853349 errors:0 dropped:0 overruns:0 frame:0
TX packets:952923 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2432115831 (2.2 GiB) TX bytes:86528526 (82.5 MiB)
Base address:0xc000 Memory:ef020000-ef040000
vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:1400 errors:0 dropped:0 overruns:0 frame:0
TX packets:815 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:129915 (126.8 KiB) TX bytes:204857 (200.0 KiB)
vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:157 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:140 (140.0 b) TX bytes:158 (158.0 b)
xenbr1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:112 (112.0 b) TX bytes:0 (0.0 b)#
brctl show
bridge name bridge id STP enabled interfaces
xenbr1 8000.feffffffffff no vif0.1
peth0
vif1.0Virtual PC 是 Microsoft® 的 Windows® 軟體產品,可以免費下載使用。 相關系統需求,請參閱 system requirements 說明。 在 Microsoft® Windows® 裝完 Virtual PC 之後, 必須針對所欲安裝的虛擬機器來作相關設定。
在 Microsoft® Windows®/Virtual PC 上安裝 FreeBSD 的第一步是新增虛擬機器。 如下所示, 在提示視窗內請選擇 :
然後在
處選 :並依據自身需求來規劃硬碟容量跟記憶體的分配。 對大多數在 Virtual PC 使用 FreeBSD 的情況而言,大約 4GB 硬碟空間以及 512MB RAM 就夠用了:
儲存設定檔:
接下來選剛剛所新增的 FreeBSD 虛擬機器,並按下
,以設定網路種類以及網路卡:在 FreeBSD 虛擬機器新增後,就可以繼續以其安裝 FreeBSD。 安裝方面,比較好的作法是使用官方的 FreeBSD 光碟或者從官方 FTP 站下載 ISO image 檔。 若您的 Windows® 檔案系統內已經有該 ISO 檔, 或者光碟機內有放安裝片,那麼就可以在 FreeBSD 虛擬機器上連按兩下,以開始啟動。 接著在 Virtual PC 視窗內按 再按 。 接著會出現一個視窗,可以把虛擬機器內的光碟機設定到該 ISO 檔, 或者是實體光碟機。
設好光碟片來源之後,就可以重開機,也就是先按 Virtual PC 會以特殊 BIOS 開機,並與普通 BIOS 一樣會先檢查是否有光碟機。
再按 即可。此時,它就會找到 FreeBSD 安裝片,並開始在 章 2, 安裝 FreeBSD 內所介紹到的 sysinstall 安裝過程。 這時候也可順便裝 X11,但先不要進行相關設定。
完成安裝之後,記得把光碟片退出或者 ISO image 退片。 最後, 把裝好的 FreeBSD 虛擬機器重開機即可。
在 Microsoft® Windows® 上以 Virtual PC 裝好 FreeBSD 後,還需要作一些設定步驟, 以便將虛擬機器內的 FreeBSD 最佳化。
設定 boot loader 參數
最重要的步驟乃是藉由調降 kern.hz
來降低
Virtual PC 環境內 FreeBSD 的 CPU
佔用率。 可以在 /boot/loader.conf
內加上下列設定即可:
若不作這設定,那麼光是 idle 狀態的 FreeBSD Virtual PC guest OS 就會在僅單一處理器的電腦上佔了大約 40% 的 CPU 佔用率。 作上述修改之後,佔用率就會降至大約 3%。
設定新的 kernel 設定檔
可以放心把所有 SCSI、FireWire、USB 相關設備都移除。 Virtual PC 有提供 de(4) 的虛擬網卡,因此除了 de(4) 以及 miibus(4) 以外的其他網路卡也都可以從 kernel 中移除。
設定網路
可以替虛擬機器簡單用 DHCP 來設定與 host(Microsoft® Windows®)
相同的 LAN 網路環境,只要在 /etc/rc.conf
加上 ifconfig_de0="DHCP"
即可完成。
其他進階的網路設定方式,請參閱 章 29, 網路進階練功房。
Mac® 上的 VMWare Fusion 乃是可用於搭配 Intel® CPU 以及 Mac OS® 10.4.9 之 Apple® Mac® 以上的 Apple® Mac® 電腦之商業軟體。 FreeBSD 是其有完整支援的 guest OS 之一。 在 Mac OS® X 上裝完 VMWare Fusion 之後, 必須針對所欲安裝的 guest OS 來作相關的虛擬機器設定。
首先執行 VMWare Fusion,而其 Virtual Machine Library 也會隨之一併載入,這時請按 "New" 來建立 VM(虛擬機器):
接著會有 New Virtual Machine Assistant 來協助您建立 VM,請按 Continue 繼續:
在
選 ,以及 處請選擇是否要 或 ,這部份請依自身需求是否有要 64-bit 支援而定:接著設定 VM image 檔要存到何處,以及決定名稱:
決定該 VM 的虛擬硬碟要用多大:
選擇要裝 VM 的方式為何,要用 ISO image 檔或者光碟機:
按 Finish 以完畢,接著就會啟動該 VM:
接著就照以往安裝 FreeBSD 的方式來裝,若不熟的話請參閱 章 2, 安裝 FreeBSD:
裝完之後,就可以修改一些 VM 設定,像是記憶體大小:
VM 在運作之時,不能修改 VM 的硬體設定。
調整 VM 的 CPU 數量:
光碟機狀態,通常不再需要用的時候,就可以切斷其與 VM 的連接:
最後要改的則是 VM 的網路設定。 若除了 Host OS 之外的機器也能連到 VM,那麼請選
,否則就選 即可讓 VM 連到 Internet, 但外面則無法連入該 VM。改完上述設定之後,就可以啟動新裝妥的 FreeBSD 虛擬機器。
把 FreeBSD 成功裝到 Mac OS® X 的 VMWare 之後,還需要作一些設定步驟, 以便將虛擬機器內的 FreeBSD 最佳化。
設定 boot loader 參數
最重要的步驟乃是藉由調降 kern.hz
來降低
VMWare 環境內 FreeBSD 的 CPU 佔用率。
可以在 /boot/loader.conf
內加上下列設定即可:
若不作這設定,那麼光是 idle 狀態的 FreeBSD (VMWare guest OS) 就會在僅單一處理器的 iMac® 上佔了大約 15% 的 CPU 佔用率。 作上述修改之後, 佔用率就會降至大約 5%。
設定新的 kernel 設定檔
可以放心把所有 FireWire、USB 相關設備都移除。 VMWare 有提供 em(4) 的虛擬網卡, 因此,除了 em(4) 以及 miibus(4) 以外的其他網路卡, 也都可以從 kernel 中移除。
設定網路
可以替虛擬機器簡單用 DHCP 來設定與 host Mac® 相同的 LAN
網路環境,只要在 /etc/rc.conf
加上
ifconfig_em0="DHCP"
即可。
其他進階的網路設定方式,請參考 章 29, 網路進階練功房。
本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。