QEMU(Centos7)环境搭建流程

xiaoxiao2021-02-28  15

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

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配置环境变量同理。

 

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

 

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

相关问题答疑

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

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

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

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

cd qemu   ./configure  

之后可能会报错:

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

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

yum install gcc*  

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

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

则需安装zlib相关的软件

yum install zlib*  

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

glib-2.12 required to compile QEMU  

则须安装glib相关的模块

yum install -y glib*   ./configure   make  

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

/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(进入到相应路径再删除)

转载请注明原文地址: https://www.6miu.com/read-850285.html

最新回复(0)