Xen安装过程中遇到的一些问题

Xen安装过程中遇到的一些问题

前两周又开始和Xen的相爱相杀。本文主要记录一些场景下遇到的一些问题以及解决方案。

场景一

物理机是lenovo一体机,曾经装过Xen4.4.0,当前环境是Ubuntu18.04+xen4.11。我希望能把Xen4.11的环境换成Xen4.4.0的环境,于是我做了以下操作:

  • 安装xen4.4.0所需的全部依赖包
  • 将Xen4.11.0目录换成Xen4.4.0的目录
  • 在Xen4.4.0目录下进行./configure make make-install等操作,其实整个过程和Xen4.4.0的原始安装是一样的
现象:
  • 编译过程中遇到很多问题,如werror、cannot find reference等
  • 如果出现werror错误,则在对应的makefile中修改编译选项,注释掉“-Werror”参数
  • 本人查看Xen源码引起出错的代码,并没有找到错误的原因
解决方案和原因:
  • 解决过程:将Ubuntu18.04换成Ubuntu14.04,然后重新安装Xen4.4.0源码。顺利。
  • 原因:个人认为是系统中默认的编译链不同,Ubuntu18.04中默认的编译链对代码的检查更加严格。同样的代码,在更新版本的编译工具中无法通过编译。

场景二

物理机是lenovo一体机,曾成功在Ubuntu14.04中安装Xen4.4.0。最近需要再次配置该环境。

现象:
  • 成功安装Ubuntu14.04
  • 换源(apt-get源)为清华源
  • 安装Xen4.4.0,还是会遇到Werror和reference的问题,但是和场景一的问题细节不太一样
解决方案和原因:
  • 解决方案:将apt-get源换为Ubuntu14.04的阿里源(这里选择阿里源是因为清华源那两天速度很慢)
  • 原因:现象描述中的”清华源“使用的是Ubuntu16.04的源,不是Ubuntu14.04的源。所以换源之后,再执行apt-get update等操作之后,安装的都是Ubuntu16.04的默认安装包。编译链也是比Ubuntu14.04的默认编译链更加严格。

场景三

物理机是lenovo一体机,曾成功在Ubuntu14.04中安装Xen4.4.0以及Xen4.4.0的修改版。目前有两个版本的Xen4.4.0安装包,假设为Xen4.4.0(original)和Xen4.4.0(modified,只对/Xen4.4.0/xen/目录下的内容进行修改),当前系统安装的是Xen4.4.0(original)。

现象:
  • 将Xen4.4.0(original)目录下的./Xen目录换成Xen4.4.0(modified)目录下的./Xen目录,执行下述操作

    make clean
    ./configure
    make world
    
  • make world出错:tools中makefile文件软连接路径错误。

解决方案和原因:
  • 解决方案:在Xen4.4.0(modified)目录下执行

    make distclean
    ./configure
    make world
    make install
    
  • 原因:make clean没有清除以前的makefile文件。

你可能感兴趣的:(学习)