本次操作使用Centos7.9操作系统,内核版本3.10.0-1160.88.1.el7.x86_64.

第一步:代码下载

从qemu1.2之后,qemu可以与kvm内核模块独立出来单独使用,也可以选择与kvm协同使用,因此上一篇中的qemu被我遗弃掉了,从git上下载qemu代码。在操作系统yum源安装好qemu之后,删除qemu的相关包(偷个懒,确保各组件版本兼容),使用比较新版的qemu代码编译安装,发现安装虚拟机操作系统卡死,观察yum源安装的版本为qemu2.0版本,因此方便起见将代码仓切到2.0分支用于后续学习使用。

代码下载方法如下:

git clone git@github.com:qemu/qemu.git

git checkout stable-2.0

可以基于自己的需要的版本切换分支,这里仅供参考。

第二步:编译

spec文件内容

Name:       qemu
Version:    2.0.0
Release:    1%{?dist}
Summary:    my qemu

Group:      x86
License:    GPLv2
URL:        https://sourceforge.net/projects/kvm/files/
Source0:    %{name}-%{version}.tar.gz

BuildRequires:  zlib zlib-devel glib2 glib2-devel kernel-devel libfdt-devel

%description
just for test once

%prep
%setup -q

%build
./configure  --prefix=%{buildroot} --extra-cflags=-lrt --extra-cflags=-lm --target-list=x86_64-softmmu --enable-debug --enable-kvm --enable-vnc --disable-werror
make -j 16

%install
make install
install -d %{buildroot}/usr/bin
install -d %{buildroot}/usr/libexec
install -p -D -m 0755 %{buildroot}/bin/* %{buildroot}/usr/bin
install -p -D -m 0755 %{buildroot}/libexec/* %{buildroot}/usr/libexec
mv %{buildroot}/share/ %{buildroot}/usr/share
rm -rf  %{buildroot}/bin/
rm -rf  %{buildroot}/libexec

%files
%doc
/etc/*
/usr/bin/*
/usr/libexec/*
/usr/share/*
/var/*

%changelog

直接使用rpmbuild编辑即可。

第三步:安装使用

rpm -ivh安装好编译出来的包后进行虚拟机的创建。

1.创建镜像磁盘

[root@localhost home]# qemu-img create CentOS-7-x86_64-DVD-2207-02.qcow2 -f qcow2 40G

Formatting CentOS-7-x86_64-DVD-2207-02.qcow2', fmt=qcow2 size=42949672960 encryption=off cluster_size=65536 lazy_refcounts=o

2.安装系统

需要提前准备好iso文件,可以windows和linux均可,这里以centos为例。

qemu-system-x86_64 -boot menu=on -m 4096 -cdrom /home/centos/CentOS-7-x86_64-DVD-2207-02.iso  -drive file=/home/centos/CentOS-7-x86_64-DVD-2207-02.qcow2,format=qcow2 -cpu host -enable-kvm -smp 4 -usb

执行此命令之后会打开vnc,这个时候如果使用的是Xshell,会需要Xmanager软件做图形显示。建议使用MobaXterm,里面集成了Xserver,可以直接打开。如果遇到打不开图形界面命令直接退出提示not display的信息,八成是没有设置好环境变量。可以邮件moba右上方xserver观察如下信息

格式为ip:0.0,然后将此复制导入linux宿主机的环境变量DISPLAY=ip:0.0即可。此时再执行qemu安装命令即可显示图形界面。后面就是一些列常规的系统安装操作。

3.安装完毕或者重启后需要关闭qemu,否则会再次从iso启动。安装好后不需要iso文件,直接执行命令

qemu-system-x86_64 -m 4096 -drive file=/home/centos/CentOS-7-x86_64-DVD-2207-02.qcow2,format=qcow2 -cpu host -enable-kvm -smp 4 -usbdevice tablet -usb

即可启动虚拟机。后面的usb参数是为了解决在windows虚拟机中鼠标指针漂移的问题。另外需要在windows虚拟机中去设置 控制面板->硬件和声音->鼠标->指针选项->不勾选提高指针精确度  即可。

最后展示效果图如下:

参考链接QEMU - ArchWiki (archlinux.org)

qemu-2.0.0 rpm编译及使用相关推荐

  1. linux block挂io,linux:在qemu中运行自编译内核:VFS:无法在未知的wn-block(0,0)上挂载root fs...

    我试着让它运转起来,不知道我做错了什么.我已经创建了一个Debian.img(原始格式的磁盘,带有虚拟设备管理器 – 我认为是libvirt)并安装了debian而没有任何麻烦.现在我想用自编译的内核 ...

  2. qemu运行虚拟机无反应,只输出一行提示信息:VNC server running on 127.0.0.1:5900

    1.问题发生 当安装完qemu后,尝试运行一个虚拟机,结果没有运行起来,只有一行提示"VNC server running on 127.0.0.1:5900". 通过浏览网上的解 ...

  3. ambari 2.5.0源码编译安装

    参考:https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/index.html Ambari 是什么 Ambar ...

  4. GCC9.2/Python3.8/Libvirt6.0/QEMU4.2 编译/配置/安装

    文章目录 安装CentOS系统 安装GCC 4.8 安装wget/bzip2 编译安装GCC 9.2 卸载GCC4.8版本 编译安装Python3 获取configure时的设定参数 安装Libvir ...

  5. hadoop2.2.0 centos6.4 编译安装详解

    搭建环境:Centos x 6.4 64bit 1.安装JDK 我这里用的是64位机,要下载对应的64位的JDK,下载地址:http://www.oracle.com/technetwork/cn/j ...

  6. 云帆大数据学院_hadoop 2.2.0源码编译

    2.1下载地址 1.ApacheHadoop(100%永久开源)下载地址: - http://hadoop.apache.org/releases.html - SVN:http://svn.apac ...

  7. vs编译protobuf 3.0.0

    Google终于发布了protobuf 3.0的release版了,升级项就不说了,之前的版本内部都有一个vsprojects目录,可以通过vs工程直接打开,新版本需要自己通过cmake去创建. pr ...

  8. 在Linux上编译LLVM/Clang 8.0.0等全部源代码

    2019独角兽企业重金招聘Python工程师标准>>> 本教程使用的操作系统是Ubuntu Linux 18.04.2 LTS版本,编译器是GCC 6.5.0(不用新版的原因是某些代 ...

  9. 解决编译不通过Could not find support-compat.aar (com.android.support:support-compat:26.0.0).

    android 编译报错: > Could not find support-compat.aar (com.android.support:support-compat:26.0.0).Sea ...

最新文章

  1. java layoutinflater_LayoutInflater(布局服务)
  2. 计算机书籍-机器学习预测分析
  3. Linux虚拟机 百度云 监控,使用Shell脚本监控KVM虚拟机
  4. java 处理byte_java - 文件到Java中的byte [] - 堆栈内存溢出
  5. bzoj 1369: Gem 树形dp
  6. matlab读取指定路径excel文件,MATLAB读取Excel文件
  7. 顺序容器STL::list用法
  8. oracle 本年1月1号 yy,ORACLE 日期函数
  9. TS Interface
  10. springMVC之与json数据交互方法
  11. oracle中的自增关键字,Oracle中设置自增字段
  12. JS 初级 二(接上)
  13. KDD18 DIN Deep Interest Network for Click-Through Rate Prediction
  14. 【Oracle】Oracle错误编码大全
  15. 自学JavaWeb系列-JSP教程!
  16. (案例篇)日志易:IT运维分析及海量日志搜索的实践之路(下)
  17. 微服务的设计模式,你用了几个
  18. 王道考研机试指南代码合集
  19. 国产Linux系统UOS安装
  20. 拼多多API接口大全

热门文章

  1. PHP中需要安装了PDFlib才可使用PDF。
  2. Mac启动Tomcat
  3. Xcode如何通过Coding.net托管代码
  4. java数据添加千位分隔符
  5. Python数据结构与算法篇(五)-- 二分查找与二分答案
  6. 手绘vs码绘 初次体验
  7. VMP学习笔记之Handle块优化与壳模板初始化(四)
  8. SQL Server导入.mdf文件及显示附加数据库时出错问题处理
  9. 如何成为web前端开发高手
  10. Android MVVM实现