跳到主要內容

在Xen FreeBSD guest安裝Xen tools

我在XenServer上安裝FreeBSD amd64的guest VM,先編譯HVM kernel再重開機。
~/> su -
# cd /usr/src
/usr/src# make buildkernel KERNCONF=XENHVM
/usr/src# make installkernel KERNCONF=XENHVM
/usr/src# reboot
重開機後會發現網路卡變成xn0,別忘了到 /etc/rc.conf 設定網路,還有硬碟會由ada變成ad,所以請記得改 /etc/fstab 用 Label mount,參考FreeBSD在fstab使用Label名稱mount磁碟
Update:
FreeBSD ports已經有xen tools,安裝方法:
cd /usr/ports/sysutils/xen-tools
sudo make install clean

以下為手動安裝的方法:(不知為何,Ports的版本舊很多,現在仍停留在4.0.1)

再到Xen.org 下載最新版的xen source,目前是Xen 4.1.1   Xen 4.1.2
編譯Xen tools需要安裝 python,若沒裝開發工具(gcc)也得安裝。
/root# cd /usr/ports/lang/python
/usr/ports/lang/python# make install clean

#這裏我習慣用wget下載,在 /usr/ports/ftp/wget 可安裝
/usr/ports/lang/python# cd ~
/root# wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz
/root# tar xzf xen-4.1.2
/root# cd xen-4.1.2/tools
/root/xen-4.1.2/tools# gmake -C include
/root/xen-4.1.2/tools# cd misc
/root/xen-4.1.2/tools/misc# gmake xen-detect
/root/xen-4.1.2/tools/misc# install xen-detect /usr/local/bin
/root/xen-4.1.2/tools/misc# cd ../xenstore
#接下來要patch
/root/xen-4.1.2/tools/xenstore# sed 's/getenv("XENSTORED_PATH")/"\/dev\/xen\/xenstore"/g' < xs_lib.c > xs_lib.c.new
/root/xen-4.1.2/tools/xenstore# mv xs_lib.c.new xs_lib.c
/root/xen-4.1.2/tools/xenstore# gmake clients
/root/xen-4.1.2/tools/xenstore# install libxenstore.so.3.0 /usr/local/lib
/root/xen-4.1.2/tools/xenstore# install xenstore xenstore-control /usr/local/bin
/root/xen-4.1.2/tools/xenstore# cd /usr/local/bin
/usr/local/bin# ln -s xenstore xenstore-chmod
/usr/local/bin# ln -s xenstore xenstore-exists
/usr/local/bin# ln -s xenstore xenstore-list
/usr/local/bin# ln -s xenstore xenstore-ls
/usr/local/bin# ln -s xenstore xenstore-read
/usr/local/bin# ln -s xenstore xenstore-rm
/usr/local/bin# ln -s xenstore xenstore-write

#裝好後測試一下
# xen-detect
Running in HVM context on Xen v3.4 v4.1.
# xenstore-ls device
vbd = ""
768 = ""
backend = "/local/domain/0/backend/vbd/3/768"
...

# xenstore-ls -f `xenstore-read device/vif/0/backend`
/local/domain/0/backend/vif/3/0/frontend = "/local/domain/3/device/vif/0"
/local/domain/0/backend/vif/3/0/frontend-id = "3"
/local/domain/0/backend/vif/3/0/online = "1"
...

參考資料: FreeBSD/Xen 、 HOWTO: xen tools within FreeBSD domU

留言

這個網誌中的熱門文章

自然人憑證讀卡機驅動程式

鳥毅用的是第一代的自然人憑證讀卡機,EZ100PU(後來有同事買EZmini可以讀SIM卡似乎更好),每年報稅時用一次。 本來只是要申請些政府業務,一時之間找不到光碟,沒想到在 驅動程式下載 居然看到Linux和Mac的驅動程式,剩下的就是政府單位的網頁和程式應該改版了吧!!!

DBeaver 介面語言

DBeaver是我個人頗常用的一套跨平台Database管理工具,最近升級後發現Windows版本居然變成簡體中文,而且無法切換為英文。

如何將較高版本SQL Server複製到低版本SQL Server (降級為舊版)並保留權限及資料庫圖表

一般若是要將SQL Server裡的Database轉往其他Server時,最簡單的方式就是備份(Backup)後再還原(Restore),或者是䣃離(detach)後附加(attach)。 但是很不幸地,若是由較低版本(e.g. 2008)到較高版本(e.g. 2012)要怎麼辦呢?