本文系博主原创,转载请声明出处并于留言板留言。
-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/
安装流程与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中
进入/home/qemu/qemu-2.1.3中,并进行编译
之后可能会报错:
说明没有gcc编译器,故安装gcc编译
继续运行./configure,可能还会出错
则需安装zlib相关的软件
再次运行./configure,可能还有错误
则须安装glib相关的模块
./configure成功,继续运行make后失败,出现错误
说明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查看当前安装版本的相关信息
拷贝响应文件夹到要运行的目录下,目录包含 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虚拟机)
通过下面命令安装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(进入到相应路径再删除)