Cent OS 5上安装xen 3 3 0全过程

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

               
上篇文档杂七杂八地介绍了在 cent os5 上安装 xen 3.2.0 的过程,纯属个人技术日志,容易看了不知所云。这次是在一个完全干净的 cent os5 上再安装一次 xen 3.3.1 ,一为加深理解,一为写一份更完整更有条理的笔记,以备以后再次安装时参考。因为技术和理解有限,索性不把它写成一份通用的文档,而是尽量详实地记录自己做的事。参考性在于尽量让自己做的事情有逻辑。这篇文档对 xen how to 没有任何提及,仅仅是完成了 xen build 工作,有小题大做之嫌,只为留个脚印。
 
cent os 是在 vmware 中安装的,我想,如果是硬盘上安装了 cent os ,安装过程应该只会更简单一些。在 vmware 6.5 中使用 ISO 安装 cent os 5 ,操作系统类型选择为 redhat enterprise linux 5 。硬盘设置为 12G( 上次设置为 6G ,结果安装 xen make 了一个小时后说磁盘空间不足,最后还是通过为虚拟机新加一块硬盘使用 LVM 解决问题的,这次吸取教训 ) 12G 可能仍然不够,不过安装 xen 是有余了,以后不需要扩充磁盘容量时可以用 LVM 简便地实现。内存默认是 512M ,安装过程一切都选默认值。安装完成以后,修改 /etc/inittab 文件,将默认的 runlevel 改为 3, 这样能节省不少宝贵的资源。然后 poweroff ,把它的内存从 512M 改为 384M ,因为同样要在 windows 中做很多事。现在启动它。在 windows 上用 putty 通过 ssh 的方式登录。
第一件事,改变命令行窗口中目录的显示颜色,命令行是黑色,目录显示为蓝色,看起来不清楚:
[root@whb ~]# dircolors >> /etc/bashrc
[root@whb ~]# nano /etc/bashrc
LS_COLORS 中的 di 01,34 改为 01,35
[root@whb ~]# source /etc/bashrc
第二件事,安装 vsftpd 服务器,我一般用它来和其它虚拟机以及和 windows 通信。
[root@whb ~]# mkdir /media/cdrom
[root@whb ~]# cat >> automountcdrom
mount -t iso9660 /dev/cdrom /media/cdrom
[root@whb ~]# chmod +x automountcdrom
[root@whb ~]# ./automountcdrom
mount : block device /dev/cdrom is write-protected, mounting read-only
[root@whb yum.repos.d]# cd /etc/yum.repos.d/
[root@whb yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@whb yum.repos.d]# yum --enablerepo=c5-media install vsftpd
cent os ftp 匿名上传一我一直没有解决,但现在也不太需要。
 
现在,从网上下载 xen 3.3.1 的源码包。
[root@whb yum.repos.d]# mkdir /var/ftp/upload
[root@whb yum.repos.d]# cd /var/ftp/upload/
[root@whb upload]# export http_proxy=59.72.109.7:56789
[root@whb upload]# wget http://bits.xensource.com/oss-xen/release/3.3.1/xen-3.3.1.tar.gz
下载地址可以在 firefox 或者 chrom 中复制链接地址轻松得到。
[root@whb upload]# wget http://bits.xensource.com/oss-xen/release/3.3.0/linux-2.6.18-xen-3.3.0.tar.gz
df 查看磁盘容量:
[root@whb upload]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       11G  2.6G  7.5G  26% /
/dev/sda1              99M   12M   82M  13% /boot
tmpfs                  189M     0  189M   0% /dev/shm
/dev/hdc              3.7G  3.7G     0 100% /media/cdrom
[root@whb upload]# cd /usr/local
[root@whb local]# mkdir Xen-3.3.1
[root@whb local]# cd Xen-3.3.1/
把它安装在 /usr/local/Xen-3.3.1 下面。
[root@whb Xen-3.3.1]# tar zxvf /var/ftp/upload/xen-3.3.1.tar.gz
[root@whb Xen-3.3.1]# tar zxvf /var/ftp/upload/linux-2.6.18-xen-3.3.0.tar.gz
安装过程主要的几份参考文档来自:
http://www.xen.org/download/docs/xen33.linux-2.6.18.README.txt
http://lists.xensource.com/archives/html/xen-users/2008-01/msg00699.html
http://www.xen.org/support/index.html
最后的一个网址处有众多的文档链接。
 
安装 rpmforge ,这是一个软件仓库,然后用它安装 mercurial ,这是一个源代码管理器 (source code management)
按照 https://rpmrepo.org/RPMforge/Using 的方法安装 rpmforge
[root@whb xen-3.3.1]# cd /var/ftp/upload/
[root@whb upload]# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
[root@whb upload]# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
现在用 yum 安装 mercurial ,但是 yum 一运行就出错,发现原因是 http_proxy 环境变量设置有问题,改为:
[root@whb upload]# export http_proxy=http://59.72.109.7:56789/
这样的形式就好了。
[root@whb upload]# yum install mercurial
[root@whb upload]# hg
输出 hg 命令的帮助,说明 mercurial 安装成功。
[root@whb upload]# cd /usr/local/Xen-3.3.1/
[root@whb Xen-3.3.1]# hg clone http://xenbits.xensource.com/linux-2.6.18-xen.hg
destination directory: linux-2.6.18-xen.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 921 changesets with 23573 changes to 20935 files
updating working directory
20912 files updated, 0 files merged, 0 files removed, 0 files unresolved
现在已经多出了一个 linux-2.6.18-xen.hg 目录。
[root@whb xen-3.3.1]# cd xen-3.3.1/
[root@whb xen-3.3.1]# less README
在这个文件中可以看到安装前必须安装的软件包版本:
    * GCC v3.4 or later
    * GNU Make
    * GNU Binutils
    * Development install of zlib (e.g., zlib-dev)
    * Development install of Python v2.3 or later (e.g., python-dev)
    * Development install of curses (e.g., libncurses-dev)
    * Development install of openssl (e.g., openssl-dev)
    * Development install of x11 (e.g. xorg-x11-dev)
    * bridge-utils package (/sbin/brctl)
    * iproute package (/sbin/ip)
* hotplug or udev
安装它们:
[root@whb xen-3.3.1]# yum --enablerepo=c5-media install gcc
[root@whb xen-3.3.1]# yum --enablerepo=c5-media install gcc-c++
make 已经安装。
[root@whb xen-3.3.1]# rpm -qa | grep binutils
binutils-2.17.50.0.6-9.el5
[root@whb xen-3.3.1]# yum --enablerepo=c5-media install zlib-devel
[root@whb xen-3.3.1]# yum --enablerepo=c5-media install python-devel
[root@whb xen-3.3.1]# yum --enablerepo=c5-media install ncurses-devel
[root@whb xen-3.3.1]# yum --enablerepo=c5-media install openssl-devel
[root@whb xen-3.3.1]# yum --enablerepo=c5-media install libX11-devel
[root@whb xen-3.3.1]# yum --enablerepo=c5-media install bridge-utils
[root@whb xen-3.3.1]# yum --enablerepo=c5-media install iproute
[root@whb xen-3.3.1]# yum --enablerepo=c5-media install udev
另外,自己喜欢用 emacs ,把 emacs 也安装好。
上次安装 xen 3.2.0 时检查 x11 说有错误,为了避免 make 过程中出错,这里先检查一下:
[root@whb xen-3.3.1]# cd tools/check/
[root@whb check]# ./chk build
Xen CHECK-BUILD  Tue Jul 28 13:04:54 CST 2009
Checking check_crypto_lib: OK
Checking check_curl: unused, OK
Checking check_openssl_devel: OK
Checking check_python: OK
Checking check_python_devel: OK
Checking check_x11_devel: OK
Checking check_xgettext: OK
Checking check_xml2: unused, OK
Checking check_zlib_devel: OK
Checking check_zlib_lib: OK
[root@whb check]# ./chk install
Xen CHECK-INSTALL  Tue Jul 28 13:04:58 CST 2009
Checking check_brctl: OK
Checking check_crypto_lib: OK
Checking check_curl: unused, OK
Checking check_iproute: OK
Checking check_python: OK
Checking check_python_xml: OK
Checking check_udev: OK
Checking check_xml2: unused, OK
Checking check_zlib_lib: OK
好了,现在软件包都备齐了。应该做个 snapshot ,把这个状态保存起来。
 
[root@whb xen-3.3.1]# make world
[root@whb xen-3.3.1]# make install
这两条命令就能搞定一切了。其中安装 stubdom 时出错,错误原因是 makeinfo 没有安装, latex 没有安装,我觉得这应该不影响大局。
现在要做的就是修改 grub ,重新启动。
[root@whb boot]# mkinitrd --without-dmraid initrd-2.6.18.8-xen.img 2.6.18.8-xen
因为第一次执行时说没有 dm-cache 模块,所以加上了 -without-dmraid 参数。
修改后的 grub 文件如下:
default= 0
timeout= 5
splashimage =(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-128.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-128.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.18-128.el5.img
title Xen 3.3.1 / XenLinux 2.6.18
        kernel /xen-3.3.1.gz
        module /vmlinuz-2.6.18.8-xen ro console=tty0
        module /initrd-2.6.18.8-xen.img
重启,重启时出现了一个 warning ,说当前模拟还不支持 memory accesses ,建议把 /lib/tls 改名为 /lib/tls.disabled 。在 starting udev 时超时了。其余一切正常。
 
注:
1.       所有关于 xen 的官方安装文档上在说到 customize kernels 时会说在 top level Makefile 中修改包含有“ KERNELS ?= ”的这一行,然而在 top level Makefile 中并没有这一行,在 top level make file 中有: include Config.mk ,而在 Config.mk 中又有: include $(XEN_ROOT)/config/$(XEN_OS).mk 这一行,其中 XEN_OS 的值就是 uname –s 的输出,在我的电脑上就是 Linux ,所以这一行会包含 config/Linux.mk 文件,在 config/Linux.mk 文件中有 KERNELS ?= 这一行,所以,文档中说的修改 top level Makefile ,实际上意思是修改 config 目录下对应的 mk 文件。
2.       查看 Makefile 可以知道, make world 实际上是先做所有的清理工作,然后 make dist 。而 make dist 又是由 make xen(make install-xen), make kernels(make install-kernels), make tools(make install-tools), make stubdom(make install-stubdom), make docs(make install-docs) 这几条命令顺序执行, make prep-kernels 实际上执行的是 make linux-XXX-prep, make kernels 实际上执行的是 make linux-XXX-install ,所以,完全可以把整个的 make dist 拆开来进行。尤其是出了错误的时候,要完全重新执行 make dist 过于巨大,知道了整个 make 过程是怎么样的之后,分步执行,能快速定位错误,而且每个小分步都能很快地执行,也给人以信心。
3.       在安装 xen-3.3.1 make dist 执行到中间,在 make stubdom 时会下载一个 lwip-1.3.0.tar.gz 文件,所以安装前要检查网络连接以及设置好 wget 的一些参数。
4.       今天安装完成才发现 xen 的邮件列表中的一篇文章: http://lists.xensource.com/archives/html/xen-users/2008-05/msg00341.html ,在这里作者列出了安装 xen 的简明步骤,非常实在有效。
5.       以上是没有经过 customize 内核的默认安装,所有选项 (make 时要求回答 y/n/m 的选项 ) ,都直接回车带过。所以没有遇到网上说的任何问题,包括自己前两次安装 xen 时遇到的在 mkinitrd 时出现 ehci,ohci,uhci,mptspi 等等这些问题。
6.       在执行 ./chk 检查安装条件时并没有出错,看来 xen xorg-x11-devel 指的就是 libX11-devel ,但是在安装 xen 3.2.0 时,安装 libX11 是不够的,具体上一篇博客有记载。
           

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/qq_43668159/article/details/87897276
今日推荐