ubuntu+xen的編譯


目前具體操作是在win10下VirtualBox虛擬機中實現部署

在部署Xen的時候采用的是Ubuntu18.04(英文版) + Xen4.11

由於安裝Ubuntu后,使用國外的源比較慢,修改為國內源,這樣速度快很多。

Ubuntu換源

我采用的是修改阿里源為Ubuntu18.04的源

備份 sources.list

cp /etc/apt/sources.list /etc/apt/sources.list.bak

添加阿里源

/etc/apt/sources.list文件前添加如下條目

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

更新源

sudo apt-get update
sudo apt-get upgrade

安裝依賴包

For Ubuntu 18.04:

apt-get install build-essential
apt-get install bcc bin86 gawk bridge-utils iproute2 libcurl4 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif
apt-get install texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra texlive-fonts-recommended pciutils-dev mercurial
apt-get install make gcc libc6-dev zlib1g-dev python python-dev python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg-dev
apt-get install libnl-route-3-200 libnl-3-dev libnl-cli-3-dev libnl-genl-3-dev libnl-route-3-dev
apt-get install iasl libbz2-dev e2fslibs-dev git-core uuid-dev ocaml ocaml-findlib libx11-dev bison flex xz-utils libyajl-dev
apt-get install gettext libpixman-1-dev libaio-dev markdown pandoc
 
apt-get install libc6-dev-i386
apt-get install lzma lzma-dev liblzma-dev
apt-get install libsystemd-dev

下載Xen4.11代碼

git clone git://xenbits.xen.org/xen.git
cd xen
git checkout origin/stable-4.11

或者

git clone -b stable-4.11 git://xenbits.xen.org/xen.git

Install

解壓之后進入Xen目錄下

./configure --enable-systemd
make dist // 也可以使用 make world(same like make clean && make dist).
mkae install

可能會遇到的問題

如果遇到error信息如下,預編譯器不識別sizeof 函數導致

解決方法:

 #define BITS_PER_LONG           (sizeof (unsigned long) * BITS_PER_BYTE)
 改成
 #define BITS_PER_LONG           (__SIZEOF_LONG__ * BITS_PER_BYTE)

解決完問題后,重復安裝過程。  

Post-Install

Reload dynamic libraries: /sbin/ldconfig 

Grub-Settings

mkdir -p /etc/default/grub.d

Create /etc/default/grub.d/xen.cfg:

gedit /etc/default/grub.d/xen.cfg

在打開的文本中添加下面內容  

Be careful! The last settings depends on your system-language!

GRUB_DISABLE_OS_PROBER=true
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=2560M,max:2560M"
GRUB_DEFAULT="Ubuntu GNU/Linux, with Xen-Hypervisor"

Update grub: update-grub 

刪除xendomains

當前版本有一個小bug,需要刪除一個xendomains文件: rm /etc/init.d/xendomains 

安裝Xen-tools

apt install lvm2 debootstrap libconfig-inifiles-perl libdata-validate-domain-perl libdata-validate-ip-perl libdata-validate-uri-perl libfile-slurp-perl libfile-which-perl libsort-versions-perl libterm-ui-perl libtext-template-perl openssh-client perl debian-archive-keyring rinse libtest-notabs-perl

Download and make

git clone https://github.com/xen-tools/xen-tools.git
cd xen-tools
make install

開啟Xen services

systemctl enable xen-qemu-dom0-disk-backend.service
systemctl enable xen-init-dom0.service
systemctl enable xenconsoled.service
systemctl enable xenstored.service
systemctl enable xendomains.service
systemctl enable xen-watchdog.service

Reboot

重啟選擇帶有xen-hypervisor 4.11 啟動

安裝成功與否測試

xentop

References

[1] Build Xen for ubuntu

[2] Compiling Xen From Source

[3] Ubuntu 18.04修改默認源為國內源

[4] qemu 安裝 error

[5] Ubuntu18.04安裝Xen4.11


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM