QEMU(Centos7)环境搭建流程

本文系博主原创,转载请声明出处并于留言板留言。

QEMU(Centos7)环境搭建流程

-2017/7/19

更新软件源为阿里云

经实验证明,目前Centos所采用的稳定软件源为aliyun最为实用。若采用其他软件源,请采用如下方式更新。

0 进入管理员模式

打开终端,使用sudo su命令并输入账户密码进入管理员模式,命令行前段显示#即为成功

1备份原来的yum源

sudo cp /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak 

2设置aliyun的yum源

wget -O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo 

3添加EPEL源(http://fedoraproject.org/wiki/EPEL)

EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上 EPEL后,可以像在 Fedora 上一样,可以通过 yum install package-name,安装更多软件,具体命令如下。

sudo wget -P /etc/yum.repos.d/http://mirrors.aliyun.com/repo/epel-7.repo 

4清理缓存并生成新的缓存

sudo yum clean all 

sudo yum makecache 

安装

软件源设置完成之后,即可进入正式的安装流程,具体步骤如下所示。

相关软件包(必须)

开始正式安装前请使用如下命令安装辅助软件

yum install gcc*

yum install zlib*

yum install -y glib*

yum install install autoconf automakelibtool

yum install SDL-devel

说明:前三项分别为gcc zlib glib相关,第四项与make相关,最后一项为./configure相关,均为必须安装项,否则QEMU运行会出现异常错误。

      其中,最后一项的答疑和出错情况请转到如下所示的网站查看相关信息

http://www.linuxquestions.org/questions/linux-software-2/centos-5-5-yum-install-no-package-libsdl-dev-available-825862/

QEMU安装

安装流程与centos系统下下载源码的方式同理,当前版本2.7.0,在此不推荐Git的下载方式

wgethttp://download.qemu-project.org/qemu-2.70.tar.xz

tar xvJf qemu-2.7.0.tar.xz

cd qemu-2.70

./configure

make

sudo make install

安装完成后请转步配置检测QEMU是否成功安装,在这里要注意先关闭当前运行终端,再重新打开再检测,与Windows配置环境变量同理。

可随时参考Download QEMU - QEMU获取最新版本的QEMU信息,该网站给出的具体安装流程如下(不推荐),实际centos系统中常常并未包含所有辅助软件包,若按照该方式安装请及时回到本文档安装部分的相关软件包(必须)依次安装相关软件包

也可以不使用wget方式而采取Download QEMU - QEMU该网站下载后再tar解压来进行后续安装,在这里要注意的是,一定要注意下载文件后的存放路径和目前终端操作路径相同,如home/xxx(我的用户名)

相关问题答疑

若未遵循如上安装流程安装会出现如下错误,如果发生该情况可以选择如下流程解决,也可返回本文档安装部分的相关软件包(必须)依次安装相关软件包按照QEMU安装步骤继续;但若返回如下所示流程解决,请务必在./configure之前使用yum install SDL-devel 命令下载SDL软件包以提供SDL支持(该项为QEMU运行必须) ,否则会出现相关软件包(必须)最后一项的答疑和出错情况给出的网页所示的问题。

http://wiki.qemu.org/Download中下载关于qemu的源代码压缩文件,并放入/home/qemu

  1. cd /home/qemu  
  2. tar -jxvf qemu-2.1.3.tar.bz2  

进入/home/qemu/qemu-2.1.3,并进行编译

  1. cd qemu  
  2. ./configure  

之后可能会报错:

  1. ERROR: "cc" either does not exist or does not work  

说明没有gcc编译器,故安装gcc编译

  1. yum install gcc*  

继续运行./configure,可能还会出错

  1. Error: zlib check failed  
  2. Make sure to have the zlib libs and headers installed.  

则需安装zlib相关的软件

  1. yum install zlib*  

再次运行./configure,可能还有错误

  1. glib-2.12 required to compile QEMU  

则须安装glib相关的模块

  1. yum install -y glib*  
  2. ./configure  
  3. make  

./configure成功,继续运行make后失败,出现错误

  1. /bin/sh: autoreconf: command not found make: *** [/home/qemu-2.1.3/pixman/configure] Error 127  

说明make方面出现问题,通过安装这三个

1. yum install install autoconf automake libtool  

2. make  

3.    make install  

成功安装qemu-2.1.3

要注意最后使用sudomake install来完成安装

配置

首先测试qemu和内核能否运行成功,编译出来的内核是否OK,或者qemu对vexpress单板支持是否够友好。

重启当前终端后运行如下命令:

qemu-system-arm -M vexpress-a9 -m 512M-kernel /home/ivan/kernel_git/linux/arch/arm/boot/zImage -nographic -append"console=ttyAMA0"

如果看到内核启动过程中的打印,说明前的搭建是成功的。

之后可使用qemu-system-arm –version查看当前安装版本的相关信息

QEMU的使用

拷贝响应文件夹到要运行的目录下,目录包含 3个文件

vmlinuz-3.11.10-301.fc20.armv7hl 

initramfs-3.11.10-301.fc20.armv7hl.img 

Fedora-LXDE-VFAT-armhfp-20-20140407-sda.qcow2

在要运行的目录下使用命令即可打开虚拟机:

sudo qemu-system-arm -machinevexpress-a9 -m 1024 -net nic -net user -append "console=ttyAMA0,115200n8 rw root=/dev/mmcblk0p3 rootwaitphysmap.enabled=0"  -kernelvmlinuz-3.11.10-301.fc20.armv7hl  -initrdinitramfs-3.11.10-301.fc20.armv7hl.img -sd Fedora-LXDE-VFAT-armhfp-20-20140407-sda.qcow2   -monitor telnet:127.0.0.1:7000,server,nowait

退出使用:Ctrl + c(在终端输入,不要直接X虚拟机)


安装KVM(可选项)

通过下面命令安装qemu和virt-manager软件包

yum install qemu-kvm qemu-img virt-managerlibvirt libvirt-python python-virtinst libvirt-client virt-install virt-viewer

通过如下命令开启服务

systemctl start libvirtd &&systemctl enabled libvirtd

systemctl status libvirtd

virt-manage即可打开虚拟设备,之后载入镜像即可

注意(相关致命错误解决办法)

若未按照上述步骤安装或使用安装中所示的官方文档方法导致qemu-system-arm–version无法查看到qemu信息的可能并未正确安装之错误的,请根据情况按照如下方式处理

若当前机器安装版本混乱,有命令行安装和源码编译安装混杂导致QEMU运行提示的相关错误(如编译错误),可于安装完成后,使用locateqemu-system-arm 定位到安装位置,依次删除定位到的相关文件

1.    如果本机只有一个qemu并且使用qemu-system-arm –version无法获取信息,可采用如下方式成功定位到qemu的安装位置

updatedb

locateqemu-system-arm

2.    如果安装之后依旧显示老版本qemu,则按照如下方法操作

./configure --target-list=arm-softmmu,arm-linux-user--prefix=/usr/local

./configure--target-list=arm-softmmu,arm-linux-user --prefix=/home/qemu-2.7.0

注意到--prefix后面跟安装路径

3.使用yum命令安装了老版本的QEMU(如2.0.0版本)导致了编译后运行失败(该处不用查,几乎都是此类错误),使用如下命令卸载即可

# sudo yum remove --auto-remove qemu-system-x86

4. 由于通过源码安装的qemu没有办法通过系统工具进行卸载,也没有办法通过make uninstall方法卸载,所以只能通过删除文件的方式进行卸载。

qemu可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/libexec,配置文件默认放在/usr/local/etc,共享文件默认放在/usr/local/etc/share。要卸载源码编译的qemu,需要到这四个目录中找出相关的文件然后删除掉。

如果configure时没有通过--target-list=指定编译的目标机体系结构,则/usr/local/bin中的以qemu开头的文件需要删除,总共51个。

/usr/local/libexec中只有一个文件:qemu-bridge-helper,直接删除即可。

/usr/local/etc比较简单,只有一个qemu目录,其下有一个文件target-x86_64.conf,直接将qemu目录删除即可。

同/usr/local/etc一样,qemu相关的共享文件都放在/usr/local/etc/share目录下的qemu子目录中,直接将该子目录删除即可。

删除命令如下;

rm –f xxx.xxx(进入到相应路径再删除)

欢迎关注微信公众号【工程师有道】,向博主提问!

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值