一、编译安装xen4.6过程

操作系统使用ubuntu16.04,通过下载xen4.6的源代码并编译安装来创建xen4.6环境。

一、依赖包的安装

sudo apt-get install gcc make binutils zlib1g-dev python-dev

sudo apt-get install libncurses5-dev libcurl4-openssl-dev libx11-dev

sudo apt-get install uuid-dev libyajl-dev libaio-dev libglib2.0-dev libpixman-1-dev

sudo apt-get install pkg-config bridge-utils iproute udev bison flex gettext

sudo apt-get install bin86 bcc iasl ocaml-nox ocaml-findlib cmake markdown figlet git libc6-dev-i386

sudo apt-get install texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra

sudo apt-get install texlive-fonts-recommended pciutils-dev mercurial

若安装依赖包的时候出现问题可执行sudo apt-get update来解决;

二、xen源码的下载

xen源码地址https://github.com/lightningkay/xen/releases/tag/RELEASE-4.6.6

注:要选用xen-RELEASE-4.6.6.tar.gz,不要使用xen-RELEASE-4.6.6.zip;

下载完之后把压缩包拷贝到ubuntu下进行解压,若是在Windows环境下进行解压可能会造成某些文件的丢失;

三、xen源文件编译

首先,将源文件解压到某个目录下,然后cd到该目录下源码文件所在目录,开始进行编译;

第一步:执行sudo  ./configure

可能的错误1:执行完该步可能会显示缺少某些python的头包,可执行sudo apt-get install python-dev 解决;

可能的错误2:

解决方法:

然后再执行./configure就不在 错误:

第二步:执行 make world 命令

此处可能会出现错误,需要修改源码树的某些地方;

错误示例:

准备工作:

来到http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=stubdom/Makefile;h=39067c8aa0030f2833dd1b757be9b0e1c1a53002;hb=6e2a4c73564ab907b732059adb317d6ca2d138a2

把181行的源码拷贝下来:

cd $@; CPPFLAGS="-isystem $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include $(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" CC=$(CC) $(GMPEXT) ./configure --disable-shared --enable-static --disable-fft --without-readline --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf --libdir=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib --build=`gcc -dumpmachine` --host=$(GNU_TARGET_ARCH)-xen-elf

cd stubdom;

vi Makefile 进入Makefile文件,找到第174(对,你没有看错 在Makefile文件中就是174行)行 把刚才从官网拷贝下来的那一行代码替换该行;

第三步:make install
可能还会有一个错误:
解决方法:cd /boot;找到xen.gz文件 然后执行命令sudo rm xen.gz 把该文件删除即可;
第四步:
sudo update-grub
sudo update-rc.d xencommons defaults 19 18
sudo update-rc.d xendomains defaults 21 20
sudo update-rc.d xen-watchdog defaults 22 23
第五步:重启
Sudo reboot;
重启之后 执行命令 sudo xl list可以查看是否编译安装成功;
如果出现错误:可能是由于sudo update-grub命令没有作用,导致启动的时候没有加载xen- hypervisor ;
解决方法:执行命令 sudo apt-get install xen-hypervisor,然后再重启,问题得到解决;
Name ID Mem VCPUs State Time(s)
Domain-0 0 7897 4 r----- 3937.0

参考资料:
1、 官方文档编译安装https://wiki.xenproject.org/wiki/Compiling_Xen_From_Source
2、http://www.cnblogs.com/liuyikang/p/3891878.html

Ubuntu16.04LTS 环境下编译安装Xen的更多相关文章

  1. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  2. Redhat环境下编译安装Google Bazel

    Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...

  3. centos7.6环境下编译安装tengine-2.2.2的编译安装

    centos7.6环境下编译安装tengine-2.2.2的编译安装 .获取tengine2..2的源码包 http://tengine.taobao.org/download/tengine-2.2 ...

  4. Ubuntu1604环境下编译安装mariadb10.2.26

    环境准备:阿里云ecs Ubuntu1604下,编译安装mariadb10-2.26 1.先安装一些初试环境所需要的工具软件包 apt install -y iproute2 ntpdate tcpd ...

  5. 在centos环境下编译安装myrocksdb

    rocksdb(https://rocksdb.org.cn/)是脸书(facebook)公司开源的一个key-value存储引擎,基于leveldb开发.rocksdb使用的是LSM存储引擎,纯c+ ...

  6. Redhat5.8 环境下编译安装 Redis 并将其注册为系统服务

    系统环境: $ cat /etc/issueRed Hat Enterprise Linux Server release 5.8 (Tikanga)Kernel \r on an \m 1. 下载安 ...

  7. centos7.5环境下编译安装php7.0.30并安装redis和mongo扩展

    .安装php7..30的脚本 # vim install_php.sh #!/bin/bash # 安装基本依赖 yum install -y gcc gcc-c++ htop telnet ioto ...

  8. Apache-rhel5.8环境下编译安装

    Apache安装过程 Step 1:安装包gcc或gcc-c++# yum install gcc#yum install gcc-c++ Step 2:安装包APR和APR-Utilapr-1.4. ...

  9. Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

随机推荐

  1. less中的变量

     [less中的变量]1.声明变量:@变量名:变量值:使用变量:@变量名:[less中变量的类型]1.数字 数字px2.字符串:无引号字符串 red blue 有引号 "haha" ...

  2. js字符串转换为数字 总结

    a. 将一个字符串转换为数字的一种缺少些技巧但是很清楚明白的方法就是:把Number()构造函数作为一个函数来调用:  var number = Number(string_value); b. pa ...

  3. AngularJs + angular-ui-router + bootstrap 实现blog基础导航功能

    AngularJs + angular-ui-router + bootstrap 实现blog基础导航功能 核心代码如下 1.index.html <!DOCTYPE html> < ...

  4. Handlebars.js 模板引擎

    介绍 Handlebars 是 JavaScript 一个语义模板库,通过对view和data的分离来快速构建Web模板.它采用"Logic-less template"(无逻辑模 ...

  5. GCD 信号量 dispatch_semaphore_t

    1.GCD知识讲解 1)dispatch_semaphore_create(long value) //创建一个信号量,总量为value,value不能小于0 2)dispatch_semaphore ...

  6. 同网段电脑互ping

    两台同网段的主机(host)之间的网络通信是不经过网关的. 今天试了一下,用一根网线连接两台电脑,然后 在一台电脑上设置: ip地址:192.168.0.1 子网掩码:255.255.255.0 在另 ...

  7. 实时音视频互动系列(上):又拍云UTUN网络详解

    如何定义实时音视频互动, 延迟 400ms 内才能无异步感 实时音视频互动如果存在1秒左右的延时会给交流者带来异步感,必须将视频播放延迟限制在400ms以内,才能给用户较好的交互体验. 当延迟控制在4 ...

  8. mysql主从数据库设置备忘

    [mysqld] binlog-do-db = databasename1 binlog-do-db = databasename2 binlog-do-db = databasename3 -- 且 ...

  9. 51nod_1120:机器人走方格 V3

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1120 Catalan数 基础题,ans=C(2n-2,n-2 ...

  10. 导出EXCEL遇到问题

    EXCEL设置的格式要与写入信息的格式要匹配,比如写入信息是字符串类型,而EXCEL单元格是DATE类型则会出错.