Fedora25下源码安装Xen4.8
小论文的实验需要去修改xen的源代码。因此,需要搭建xen的环境,由于需要修改源代码,因此在构建环境的时候必须从源码安装开始。电脑很早之前装了个Fedora21,平时都是师兄在用,发现系统已经被更新成了Fedora25,参考网上的链接,今天总算安装成功了。其实,安装过程中很多步骤以及命令我都是一知半解。下面,主要介绍安装过程,而不涉及每一步是什么意思。
主要参考链接:
Fedora20上Xen的安装与部署
在CentOS7.0上源码安装Xen4.5
准备工作
更新系统,并且安装编译Xen所需要的一些工具以及依赖等。
我也不清楚,他们是怎么知道需要这些工具以及依赖包的,如果按照README一个一个搜索的话特别麻烦。
# yum update# yum groupinstall "Development Tools"
# yum install -y gcc gcc-c++ git patch texinfo# yum install -y python-devel acpica-tools libuuid-devel ncurses-devel glib2 glib2-devel libaio-devel openssl-devel yajl-devel glibc-devel glibc-devel.i686 pixman-devel# wget http://mirror.centos.org/centos/6/os/x86_64/Packages/dev86-0.16.17-15.1.el6.x86_64.rpm
# rpm -ivh dev86-0.16.17-15.1.el6.x86_64.rpm
关闭SELinux
修改/etc/selinux/config文件,将SELINUX改为disabled,如下第7行。更改完以后,重启电脑。
# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - No SELinux policy is loaded.#### SELINUX=enforcingSELINUX=disabled# SELINUXTYPE= can take one of these three values:# targeted - Targeted processes are protected,# minimum - Modification of targeted policy. Only selected processes are# mls - Multi Level Security protection.SELINUXTYPE=targeted
下载、安装Xen
下载地址:Xen源码下载链接
我下载的是目前最新的版本“Supported Xen Project 4.8 Series ”,网上搜索了解压命令,解压后进入目录。然后安装xen
#make clean
#./configure
#make dist
#make install
安装Domain0内核
Domain0内核的版本最好与当前正在使用的Linux的内核版本保持一致。如下所示,我当前的内核版本是4.9.10
#uname -a
Linux localhost.localdomain 4.9.10-200.fc25.x86_64 #1 SMP Wed Feb 15 23:28:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
去内核的官网下载对应版本的内核,进行配置,编译,安装。
#wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.10.tar.xz
#tar xf linux-4.9.10.tar.xz
#cd linux-4.9.10
#make menuconfig
make menuconfig命令执行后,会出来内核配置的界面。但是,我不太清楚,需要配置什么。我看了一下虚拟化支持那里差不多都选上了就按照默认设置退出了。这时会在对应的目录下自动生成一个.config文件。没有自动生成说明,没弄好,我记得就是进去,然后Exit就会提示是否生成.config文件。接着,修改config文件,将其中的几个配置保存如下。(找到对应的位置进行修改)
CONFIG_X86_IO_APIC=y
CONFIG_ACPI=y
CONFIG_ACPI_PROCFS=y (optional)
CONFIG_XEN_DOM0=y
CONFIG_PCI_XEN=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_BACKEND=y
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
接着,就可以编译,安装内核。我第一次出错了,第二次成功了。第一次应该是配置文件没弄好。
#make
#make modules
#make modules_install
#make install
配置Grub
# grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2
Windows 10 (loader) (on /dev/sda1)
Fedora (4.9.10-200.fc25.x86_64) 25 (Workstation Edition)
Fedora, with Xen hypervisor#grub2-set-default 'Fedora, with Xen hypervisor'
# grub2-editenv list
saved_entry=Fedora, with Xen hypervisor
修改错误
重启以后尝试命令xl info发现有错。
参考在CentOS7.0上源码安装Xen4.5可能出现的错误和解决办法
进入/usr/lib/目录将/usr/local/lib/目录下所有的绿色文件做了链接,链接到/usr/lib/目录下。最后别忘了执行ldconfig。
[root@localhost lib]# cd /usr/lib/
[root@localhost lib]# ln -s /usr/local/lib/libxlutil.so.4.8.0 libxlutil.so.4.8
[root@localhost lib]# ln -s /usr/local/lib/libxlutil.so.4.8.0 libxlutil.so
[root@localhost lib]# ln -s /usr/local/lib/libxenlight.so.4.8.0 libxenlight.so.4.8
[root@localhost lib]# ln -s /usr/local/lib/libxenlight.so.4.8.0 libxenlight.so
[root@localhost lib]# ln -s /usr/local/lib/libxenctrl.so.4.8.0 libxenctrl.so.4.8
[root@localhost lib]# ln -s /usr/local/lib/libxenctrl.so.4.8.0 libxenctrl.so
[root@localhost lib]# ln -s /usr/local/lib/libxenguest.so.4.8.0 libxenguest.so.4.8.0
[root@localhost lib]# ln -s /usr/local/lib/libxenguest.so.4.8.0 libxenguest.so.4.8
[root@localhost lib]# ln -s /usr/local/lib/libxenguest.so.4.8.0 libxenguest.so
[root@localhost lib]# ln -s /usr/local/lib/libxenstat.so.0.0 libxenstat.so.0
[root@localhost lib]# ln -s /usr/local/lib/libxenstat.so.0.0 libxenstat.so
[root@localhost lib]# ln -s /usr/local/lib/libxenstore.so.3.0.3 libxenstore.so.3.0
[root@localhost lib]# ln -s /usr/local/lib/libxenstore.so.3.0.3 libxenstore.so
[root@localhost lib]# ln -s /usr/local/lib/libxenvchan.so.4.8.0 libxenvchan.so.4.8
[root@localhost lib]# ln -s /usr/local/lib/libxenvchan.so.4.8.0 libxenvchan.so
[root@localhost lib]# ln -s /usr/local/lib/libblktapctl.so.1.0.0 libblktapctl.so.1.0
[root@localhost lib]# ln -s /usr/local/lib/libblktapctl.so.1.0.0 libblktapctl.so
[root@localhost lib]# ln -s /usr/local/lib/libfsimage.so.1.0.0 libfsimage.so.1.0
[root@localhost lib]# ln -s /usr/local/lib/libfsimage.so.1.0.0 libfsimage.so
[root@localhost lib]# ln -s /usr/local/lib/libvhd.so.1.0.0 libvhd.so.1.0
[root@localhost lib]# ln -s /usr/local/lib/libvhd.so.1.0.0 libvhd.so
[root@localhost lib]# ln -s /usr/local/lib/libxencall.so.1.0 libxencall.so.1.0
[root@localhost lib]# ln -s /usr/local/lib/libxencall.so.1.0 libxencall.so
[root@localhost lib]# ln -s /usr/local/lib/libxenevtchn.so.1.0 libxenevtchn.so.1.0
[root@localhost lib]# ln -s /usr/local/lib/libxenevtchn.so.1.0 libxenevtchn.so
[root@localhost lib]# ln -s /usr/local/lib/libxenforeignmemory.so.1.0 libxenforeignmemory.so.1.0
[root@localhost lib]# ln -s /usr/local/lib/libxenforeignmemory.so.1.0 libxenforeignmemory.so
[root@localhost lib]# ln -s /usr/local/lib/libxengnttab.so.1.1 libxengnttab.so.1
[root@localhost lib]# ln -s /usr/local/lib/libxengnttab.so.1.1 libxengnttab.so
[root@localhost lib]# ln -s /usr/local/lib/libxentoollog.so.1.0 libxentoollog.so.1
[root@localhost lib]# ln -s /usr/local/lib/libxentoollog.so.1.0 libxentoollog.so[root@localhost lib]# ldconfig
再次运行xl info成功,如下:
[root@localhost lib]# xl info
host : localhost.localdomain
release : 4.9.10-200.fc25.x86_64
version : #1 SMP Wed Feb 15 23:28:59 UTC 2017
machine : x86_64
nr_cpus : 4
max_cpu_id : 3
nr_nodes : 1
cores_per_socket : 4
threads_per_core : 1
cpu_mhz : 3192
hw_caps : b7ebfbff:77bae3ff:28100800:00000001:00000001:00000281:00000000:00000100
virt_caps : hvm hvm_directio
total_memory : 8122
free_memory : 128
sharing_freed_memory : 0
sharing_used_memory : 0
outstanding_claims : 0
free_cpus : 0
xen_major : 4
xen_minor : 8
xen_extra : .0
xen_version : 4.8.0
xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler : credit
xen_pagesize : 4096
platform_params : virt_start=0xffff800000000000
xen_changeset :
xen_commandline : placeholder
cc_compiler : gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
cc_compile_by : bearox
cc_compile_domain : localdomain
cc_compile_date : Wed Feb 22 10:07:48 CST 2017
build_id : 308d8cce77adca4d502c71a2dc66202a0b6cff9e
xend_config_format : 4
最后,启动xencommons,旧版本的xend已经被xencommons取代了。
root@localhost lib]# /etc/init.d/xencommons start
Starting /usr/local/sbin/oxenstored...Setting domain 0 name, domid and JSON config...
Done setting up Dom0
Starting xenconsoled...
Starting QEMU as disk backend for dom0
[root@localhost lib]# xl list
Name ID Mem VCPUs State Time(s)
Domain-0 0 7881 4 r----- 966.2
Xen 从 4.1 版本开始引入了新版工具集 xl/libxl,并在后续的版本中逐步替代旧的 xm/xend,在 4.5 版本中已经完全删除了 xm/xend.
Fedora25下源码安装Xen4.8相关推荐
- linux系统下源码安装mysql5.6数据库
linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...
- Linux下源码安装CodeBlocks
Linux下源码安装CodeBlocks qianghaohao(CodingNutter) 一. 安装平台说明: CentOs6.4-i686 gcc-4.4.7 二. 下载最新源码: http: ...
- rhel 7.2 安装mysql_在rhel7.2下源码安装mysql-5.6.35
如何在一台新机rhel7.2下源码安装mysql-5.6.35 一.前期准备工作 1.首先安装依赖包,避免在安装过程中出现问题 yum -y install gcc gcc-c++ cmake ncu ...
- centos7源码安装mysql报错_CentOS7 下源码安装MySQL数据库 8.0.11
本文主要向大家介绍了CentOS7 下源码安装MySQL数据库 8.0.11,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. CentOS7 下源码安装MySQL 8.0.11 系 ...
- unbuntu cmake安装mysql_Ubuntu下源码安装MySQL-5.5.25a
Ubuntu下源码安装MySQL-5.5.25a,今天在Ubuntu Linux下本来玩玩Android的源码看下的.那小的怎看根目录的空间已然不多.所以想把 今天在Ubuntu Linux下本来玩玩 ...
- linux 自动安装mysql数据库_linux系统下源码安装mysql5.6数据库
linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...
- 阿里云服务器——centos7下源码安装tomcat9
阿里云服务器--centos7下源码安装tomcat9 (第一次写文章,俺会努力的) 首先进入src文件夹: cd /usr/local/src 使用wget命令下载tomcat : wget htt ...
- ubuntu16.04下源码安装arachni扫描器
前段时候看一个对各开源扫描器的评测,arachni在综合评价上胜出.最近正好想研究一下arachni的源码,那就在ubuntu下先把玩一下.其实之前在kali和ubuntu下源码安装都失败了,这次算是 ...
- 【转载】64位Linux下源码安装apache2
64位下源码安装apache2,中间过程遇到了好几个错误,总结起来都是跟64位机器下,lib库格式不匹配的问题,如: /usr/lib/libexpat.so: could not read symb ...
最新文章
- Mac 上使用 Clion 阅读C++源码的一些操作
- ffmpeg之常用命令的学习
- python 杂记(二)
- [Android Studio] Android Studio如何查看branch列表及切换branch(转载)
- webUI自动化一元素定位
- python 直线过滤掉不在边缘上的点_不存在所谓的机器学习平台
- Kubernetes 网络原理
- 电脑如何进入bios模式_电脑如何进入bios,你还不收藏?
- 浙江大学计算机程序设计能力考试(PAT)简介
- python和ruby性能比较_Ruby和Python的比较
- h.265/HEVC 和 h.264/AVC 比较,在技术上的改进和优势
- 【AI视野·今日NLP 自然语言处理论文速览 第十七期】Thu, 1 Jul 2021
- nodejs 定时任务
- excel单元格内换行的方法
- mysql_union all 纵向合并建表_20170123
- Bable的快速入门
- 转:firefox os 框架解析
- mysql统计姓名为小明_MySQL练习2
- 利用Chrome Edge浏览器调试AndroidWebView
- #453 原汤话原食:除夕夜请热心市民陪我销毁一下烟花爆竹