Chinaunix首页 | 论坛 | 博客
  • 博客访问: 616667
  • 博文数量: 201
  • 博客积分: 3076
  • 博客等级: 中校
  • 技术积分: 2333
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-02 19:44
文章分类

全部博文(201)

文章存档

2010年(118)

2009年(83)

我的朋友

分类:

2010-01-19 11:51:23

http://blog.csdn.net/EmeraldDream_HUST/archive/2009/11/02/4758443.aspx  (zz)


10月28日,Ubuntu 9.10正式发布,我的镜像是昨天下好的,昨天晚上装上机器,开始做配置。不过因为昨天晚上教育网的速度始终不行,所以连中科的更新源好慢,于是觉得还是 今天早上再弄比较有效率。因为在SCTC&CGCL虚拟化和集群方面的实习,早上系统收拾的差不多就开始装XEN。

      以下操作都是使用root账户进行的,非root账户请使用sudo

一、编译 Xen 和 内核

  1.准备工作

      首先,系统没有的包要先打上,如果你是教育网用中科大的更新源很快的。我主要补充的是下面几个包:

  1. apt-get install fakeroot build-essential  
  2. apt-get install crash kexec-tools makedumpfile  
  3. apt-get build-dep linux  
  4. apt-get install git-core libncurses5 libncurses5-dev  

       然后,准备源码:

          Xen 3.4.1:

          Linux Kernel 2.6.31.5:

       因为没用Xen提供的2.6.18的内核源码,还要下一个源码补丁:

          xen-patches-2.6.31-7:

       展开各个包:

  1. tar zxvf linux-2.6.31.5.tar.gz  
  2. mv linux-2.6.31.5 linux-2.6.31.5-xen  
  3. tar zxvf xen-3.4.1.tar.gz  
  4. mkdir xen-patches  
  5. cd xen-patches  
  6. tar jxvf xen-patches-2.6.31-7.tar.bz2  

       进到linux-2.6.31.5-xen的目录,给代码打上补丁:

  1. cat ../xen-patches/*.patch1 | patch -p1  

  2.编译内核

       准备一个编译配置,我直接copy了之前的 linux-image-2.6.26-2-xen-686_2.6.26-15_i386.deb 的配置,这个包可以在这这里找到:
          Kernel: http://packages.debian.org/lenny/i386/linux-image-2.6.26-2-xen-686/download
          Modules:

       不过这个配置有点老,所以直接make会有一些配置问题提出来。之前 make menuconfig 一下比较好。然后就可以编译了:

  1. make  
  2. make vmlinuz  
  3. make modules_install  

      基本上应该不会报什么错误,不过提醒一下想用 make-kpkg 直接生成 deb 包的同学,想偷懒是不行的哦,make-kpkg 可是会报错的,原因还没有看。第一次编译还是很久的,所以扫雷吧。………………编译好了以后把生成的 vmlinuz 拷贝到 /boot 下面

,另起个名字叫 vmlinuz-2.6.31.5-xen。生成initrd:

  1. mkinitramfa -o /boot/initrd.img-2.6.31.5-xen 2.6.31.5  

  3.编译 Xen

        建议先用 xen-3.4.1/tools/check/chk build 和 chk install 检查一下有没有需要的软件包是否齐备,这里需要注意的是 chk install 的时候会报找不到 udevinfo,这个是因为 udevinfo 已经被 udevadm 取代了,创建一个符号链接就好了:

  1. ln -s /sbin/udevadm /sbin/udevinfo  

       check pass 的话就可以编译了,直接 make world 是可以的,不过这个会重新编译一个2.6.18的kernel出来,会耗很多时间,所以这里可以用 make xen 来只生成 xen 的 image。生成的文件在 xen-3.4.1/dist/install/boot 下面,把 xen-3.4.1.gz 复制到 /boot 下面。

二、安装

    1.糟糕,Grub 升级了!

       这是我折腾了一上午的悲剧。Ubuntu 9.10 使用了1.97版本的Grub,也就是Grub2,新版本虽然又很多有点啊,不过在这里可真是一丑遮百俊了。根据 maillist 里面反应的情况,Grub2 和 Xen 不兼容,引导的时候一定会报“Early fatal page fault at ...”然后死掉,而且目前没有补丁可以解决,于是需要降版本回 GRUB。具体的操作可以参见:  postcount=18

    2.配置启动项

  1. title Xen 3.4.1 / Linux 2.6.31.5  
  2.     kernel /boot/xen-3.4.1.gz console=vga  
  3.     module /boot/vmlinuz-2.6.31.5-xen root= ro cnsole=tty0  
  4.     module /boot/initrd.img-2.6.31.5-xen  
 

    3.重启

       不出什么差错的话这个时候应该就可以看看xen起了没有:

  1. ps -ef | grep xend  
  2. xm list  
 

       启动了的话是可以看到xend的进程的。xm list也会显示dom0。至此就搞定了~

阅读(850) | 评论(0) | 转发(0) |
0

上一篇:qsort

下一篇:mmio vs port i/o

给主人留下些什么吧!~~