热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu10.04(withgrub2)安装Xen4.0.1

首先澄清一些谣言,网上流传说grub2存在bug,导致xen无法正常启动,经过我的实际体验,这种说法是错误的,可以在grub2下使用xen。另外有人说python2.6无法启动xen,这也是错误的,其实python2.6使用的目录和先前的版本有所不同,因此只需要自行拷贝一些文件便可完美使用。下面介绍一下如何在Ubuntu10.04下安装Xen4.0.1。介绍分为两个部分,第一部分为如何

首先澄清一些谣言,网上流传说grub2存在bug,导致xen无法正常启动,经过我的实际体验,这种说法是错误的,可以在grub2下使用xen。另外有人说python2.6无法启动xen,这也是错误的,其实python2.6使用的目录和先前的版本有所不同,因此只需要自行拷贝一些文件便可完美使用。

下面介绍一下如何在Ubuntu 10.04下安装Xen 4.0.1。介绍分为两个部分,第一部分为如何安装Xen和并启动Dom0;第二部分为如何安装DomU,这里DomU以CentOS 5.5为例,因为有现成的kernel可以用比较简单,容易说明问题。

一、安装Xen并启动Dom0

1.1 安装Ubuntu10.04 Server

想必这个步骤不用我说大家应该也会安装,这里只说明一些比较重要的注意事项。首先,一定要选择64位版的Server。我原来一直以为64位和32位皆可,但是32位系统下编译内核总是莫名其妙的出错,只有64位系统下编译出来的内核可用。如果你的CPU不支持64位计算,那么赶紧去电脑城买新电脑吧。究其原因我也说不清楚,希望对内核非常熟悉的同学踊跃讨论。

Server版默认是文本界面的,如果你不喜欢或者不适应文本界面(比如我就不喜欢文本界面,因为没有滚动条,看以往的命令输出不方便),可以安装ubuntu-desktop包:

$ sudo apt-get install ubuntu-desktop

这里我推荐使用官方源,因为在教育网下官方源虽然慢点,但是东西可是真材实料,不会有后顾之忧。如果教育网链接官方源不稳定,可以尝试一下在同一个网段的另一台电脑上不停的ping官方源服务器,估计链接质量会有所改善。

1.2 准备各种源文件

需要准备源文件包括Xen的源代码,Linux Kernel的源代码,以及Kernel的Xen补丁。

Xen的源代码可以从Xen的官方网站上下载:www.xen.org,下载下来的文件名应该是xen-4.0.1.tar.gz。

Kernel以及补丁可以利用一下命令获得

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.8.tar.bz2
$ wget http://gentoo-xen-kernel.googlecode.com/files/xen-patch-2.6.31-10.tar.bz2

这里不推荐大家使用别的内核版本,这个版本是最稳定的了。为了操作方便,建议大家在主目录下新建一个目录,将这三个源代码包拷贝到其中。

然后我们还需要一些附加的以来软件包,需要的软件包比较多,我们通过apt进行安装,这一个步骤需要你的细心,别丢下了一些软件包。

$ sudo apt-get install gcc g++ make patch libssl-dev bzip2 gettext \
zlib1g-dev python libncurses5-dev libjpeg62-dev libx11-dev \
libgcrypt11-dev pkg-config bridge-utils bcc bin86 libpci-dev \
libsdl-dev python-dev texinfo libc6-dev uuid-dev bison flex fakeroot \
build-essential crash kexec-tools makedumpfile  libncurses5 \
libncurses5-dev iasl

当然,你可以讲这些命令差分成多个apt-get命令,这样会靠谱些。

1.3 编译并安装xen

准备工作已经结束了,现在来编译并安装xen。首先解压缩软件包:

$ tar vxzf xen-4.0.1.tar.gz

然后进入软件包目录:

$ cd xen-4.0.1

编译并安装:

$ make xen tools stubdom
$ sudo make install-xen install-tools install-stubdom

将xend加入启动项:

$ sudo update-rc.d xend defaults 20 21
$ sudo update-rc.d xendomains defaults 21 20

如果没有报错,Xen实际上已经安装好了。但是别急,我们现在还不能使用它,因为首先,Xen是一个Para-virtualization技术的VMM,需要一个Xen化的内核,我们还没有,另外对Xen的守护进程的配置文件我们还有进行适当的设置。下文我们会逐步的代令你完成这些。

不过在这一步,我们需要注意两个问题。首先,www.linuxidc.com建议大家不要使用make world来编译xen,因为这样xen会自动从网上下载2.6.18版本的xen化内核,但是这个内核实际上并不怎么好用,而且最要命的是教育网把下载该内核的服务器给河蟹了(至少在我这是河蟹了)。其次,如果在编译过程中,出现任何的错误,其实都是你的前期工作没有做好,最有可能的情况就是你少安装了依赖软件包。通常报错的时候xen会提示你缺少的软件包名称。 

1.4 编译Xen化内核

这个步骤比较纠结,我以前就是纠结在这个步骤上许久,不过经过百折不挠的尝试,我终于成功了。其实,究其原因,也就是选对内核版本,选对编译平台,选对内核配置即可。

内核版本和内核平台我都已经给出了最好的建议,那就是Linux Kernel 2.6.31.8,Xen-Patch 2.6.31-10,64位平台。

首先我们解压缩内核代码并打上Xen的补丁。

$ cd ..     (因为刚才我们还在xen的目录中,先退出来)
$ tar vxjf linux-2.6.31.8.tar.bz2
$ mkdir xenpatch-2.6.31.8
$ cd xenpatch-2.6.31.8
$ tar vxjf ../xen-patch-2.6.31-10.tar.bz2
$ cd ../linux-2.6.31.8
$ for i in `ls ../xenpatch-2.6.31.8`; \
  do patch -p1 <../xenpatch-2.6.31.8/"$i"; done

下面我们来配置内核,这部非常关键,小心操作。首先,我们直接把Ubuntu正在使用的内核配置信息弄过来,这样我们只需要对Xen的部分进行简单的配置即可完成配置工作。

$ cp /boot/config-2.6.32-21-server .config

然后进入配置界面,加入xen的配置:

$ make menuconfig

Processor type and features --->
  [*] Enable Xen compatible kernel
Networking support --->
  Networking options --->
    <*> 802.1d Ethernet Bridging
Device Drivers --->
  XEN --->
    [*] Privileged Guest (domain 0)
     <*> Backend driver support
       <*> Block-device backend driver
       <*> Block-device tap backend driver
       <*> Block-device tap backend driver 2
       <*> Network-device backend driver
       <*> PCI-device backend driver
       <*> SCSI backend driver
       <*> USB backend driver
    <*> Block-device frontend driver
    <*> Network-device frontend driver
       <*> SCSI frontend driver
       <*> USB frontend driver
    <*> Framebuffer-device frontend driver
    <*> Keyboard-device frontend driver
    [*] Disable serial port drivers
    <*> Export Xen attributes in sysfs
        Xen version compatibility (3.3.0 and later) --->
           3.3.0 and later

配置好后,退出,保存,然后开始编译内核,注意,这是一个漫长的过程:

$ make
$ sudo make install
$ sudo make modules_install
$ sudo update-initramfs -c -k 2.6.31.8
$ sudo depmod 2.6.31.8

至此,内核也已经准备就绪,下面就是要让grub明白应该如何启动Xen以及Dom0


推荐阅读
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
author-avatar
元元木樨_669
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有