xen

                                                     Xen

 

xen是上個世紀九十年代,出自英國倫敦劍橋大學的兩個研究員之手。它是個開源的虛擬器,直接運行在硬件上,也就是說他能直接驅動硬件設備。

wKioL1UjbUaC6B7YAACYSkBtE2U603.jpg

xen 是個怪胎,需要直接跑到硬件上,在xen 上每個虛擬機都叫做Dom ,安裝上xen hypervisor 之後,首先啓動的是Dom0Dom0是第一個虛擬機),是必須安裝的,所有的管理接口都要有Dom0實現。

Xen hypervisorDom0的區別。

xen hypervisor : 是計算機硬件的抽象層,直接附加在硬件上,運行在硬件上,把獲得的計算能力通過抽象接口,提供給guest,將CPU資源按需分配,將內存資源分配,將中斷請求映射,並負責提供一個console

Dom0: 是一個特權域,可直接訪問硬件io資源,可以爲其他非特權提供ioDom0 中的內核是特定的,運行半虛擬化後端。他還要調用hyper call

所以說,各DomUCPU,內存,中斷的調用使用xen hypervisor,io調用使用Dom0

 

對於xen先前是有所瞭解的,但是一直沒有操作,今天大早起牀開始嘗試編譯的方式實現xen,一直搞到現在,總算成功了。一下是詳細步驟。

編譯安裝xen

[root@localhost ~] #  yum groupinstall "Development Tools"   //安裝搜需要的包組

[root@localhost ~] # yum install hmaccalc ncurses-devel zlib-devel openssl-devel python-devel bridge-utils libtool-ltdl iasl xorg-x11* //在此解決依賴關係。

http://www.acpica.org/downloads下載並安裝acpica並且解壓。

[root@localhost ~]# ls

acpica-unix-20150204         install.log             

acpica-unix-20150204.tar.gz  install.log.syslog         

anaconda-ks.cfg             

[root@localhost ~]# cd acpica-unix-20150204

[root@localhost acpica-unix-20150204]# make

[root@localhost acpica-unix-20150204]# make install

到下面地址下載:dev86

ftp://mirror.switch.ch/pool/4/mirror/centos/6/os/x86_64/Packages/

dev86-0.16.17-15.1.el6.x86_64.rpm

[root@www ~]# rpm -ivh dev86-0.16.17-15.1.el6.x86_64.rpm

Preparing...                ########################################### [100%]

   1:dev86                  ########################################### [100%]

[root@www ~]#

http://xenproject.org/downloads/xen-archives/supported-xen-41-series/xen-411.html 下載最新的 Xen 源代碼

[root@localhost ~]# ls

acpica-unix-20150204         install.log                

acpica-unix-20150204.tar.gz  install.log.syslog          xen-4.1.1.tar.gz        anaconda-ks.cfg             

[root@localhost xen-4.1.1]# make world  //在此會有警告信息我遇到的缺少makeinfo,latexfig2dev,在此會報缺少包都要一一裝上。我在此缺少texinfo,latex,fig2dev.

[root@localhost xen-4.1.1]# yum install texinfo

[root@localhost xen-4.1.1]# yum install texlive-latex

[root@localhost xen-4.1.1]# yum install transfig

再次執行以上make world

[root@localhost xen-4.1.1]# make install

[root@localhost xen-4.1.1]# chkconfig --add xend

[root@localhost xen-4.1.1]# chkconfig --add xendomains

[root@localhost xen-4.1.1]# chkconfig --add xencommons

[root@localhost xen-4.1.1]# chkconfig xend on

[root@localhost xen-4.1.1]# chkconfig xendomains on

[root@localhost xen-4.1.1]# chkconfig xencommons on

[root@localhost xen-4.1.1]#

 

下面是編譯安裝linux3.0.20內核

然後解壓,修改,編譯,編譯模塊,安裝模塊,安裝內核

[root@www ~]# tar xf linux-3.0.20.tar.gz

[root@www ~]# cd linux-3.0.20

[root@www linux-3.0.20]# ls

arch  COPYING  CREDITS  Documentation  Kbuild  Kconfig  MAINTAINERS  Makefile  README  REPORTING-BUGS

root@www linux-3.0.20]# ls

arch     crypto         fs       Kbuild   MAINTAINERS  README          security  virt

block    Documentation  include  Kconfig  Makefile     REPORTING-BUGS  sound

COPYING  drivers        init     kernel   mm           samples         tools

CREDITS  firmware       ipc      lib      net          scripts         usr

[root@www linux-3.0.20]# make menuconfig

找到Device Drivers --->

wKioL1UjbUXSnsGWAAKXPOdlvcs332.jpg

進入後選擇Xen driver support --->

wKiom1Uja_-DpOHrAAJmjVKA8ZU030.jpg

進入以後,將全部選項改成*。在此*表示將該功能編譯到內核,M的表示編譯成加載模塊,空表示不編譯到內核中。如下圖

wKioL1UjbUbTK-y5AAJJpcv6yPM113.jpg接下來就是退出並且保存已修改的項。

[root@www linux-3.0.20]# make && make modules && make modules_install && make install && depmod 3.0.20

 

這一步遇到了錯誤,在網上找了諸多解決方案都沒有成功,錯誤如下。

wKiom1Uja_7BhzqaAAFlFFxnd38264.jpg

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章