QEMU 2.10.1 编译安装
来源:互联网 发布:不闷痘的防晒霜 知乎 编辑:程序博客网 时间:2024/05/18 01:24
QEMU 2.10.1 编译安装
原本在 Ubuntu 上可以直接通过apt install qemu-km
可以直接安装 QEMU,但是这样安装的版本太低。想用官方的最新版本还得自己编译源码安装。
本文记录了我在新安装的 Ubuntu 17.10 desktop 安装 QEMU 的过程。
源码包安装
下载源码包
$ wget https://download.qemu.org/qemu-2.10.1.tar.xz
安装编译工具
由于我是新安装的系统,所以编译和构建工具都没有。所以先安装一下常用的编译构建工具:
$ sudo apt install gcc$ sudo apt install build-essential
我还安装了automake,不知需不需要。
$ sudo apt install automake
查看 QEMU 的编译信息
#### 题外话:一般源码的编译过程
在编译之前先来说明一下编译相关的背景知识。一般通过源码编译安装软件包都要运行下面三条命令:
shell
$ ./configure
$ make
$ make install
./configure
是一个脚本会自动检查系统环境,比如编译构建工具是否齐全,源码目录,依赖库目录,安装目录等,系统平台和架构信息,其他编译选项等。这些信息可以保持默认或通过参数传递给configure
。然后configure
会根据这些信息生成一个Makefile
文件。./configure -h
可以查看它的帮助文档。
make
命令会根据Makefile
中的信息真正开始编译过程。make
有一个重要的参数-j
可以用来指定编译过程可以同时并行多少任务,一般多核 CPU 可以将该参数指定为 CPU 核数来加快编译。
make install
是将编译好的二进制文件安装到系统上。
在编译 QEMU 之前我们先看一下我们可以配置哪些编译参数:
$ cd qemu-2.10.1$ ./configure -h... --target-list=LIST set target list (default: build everything) Available targets: aarch64-softmmu alpha-softmmu ... cris-linux-user hppa-linux-user i386-linux-user ...Optional features, enabled with --enable-FEATURE anddisabled with --disable-FEATURE, default is enabled if available: ... sdl SDL UI --with-sdlabi select preferred SDL ABI 1.2 or 2.0 gtk gtk UI --with-gtkabi select preferred GTK ABI 2.0 or 3.0 vte vte support for the gtk UI curses curses UI vnc VNC UI support vnc-sasl SASL encryption for VNC server vnc-jpeg JPEG lossy compression for VNC server vnc-png PNG compression for VNC server cocoa Cocoa UI (Mac OS X only) virtfs VirtFS xen xen backend driver support xen-pci-passthrough brlapi BrlAPI (Braile) curl curl connectivity fdt fdt device tree bluez bluez stack connectivity kvm KVM acceleration support ...
上面我只贴出了部分输出信息。我大致可以知道我们能指定要生成 QEMU 的平台版本,比如 x86 和 arm。还可以指定需要附加功能,其中比较重要的是 sdl、vnc。
配置编译选项
QEMU 默认编译生成所有平台的版本,为了加快编译速度,这里我只选择了我可能会用到的版本。在./configure
的--target-list
的参数中指定。还选择了 sdl、vnc 的等附加功能。
由于这些参数太多,我决定把它们写到一个脚本文件 myconfig 中。
#!/bin/sh./configure --target-list="arm-softmmu,i386-softmmu,x86_64-softmmu,arm-linux-user,i386-linux-user,x86_64-linux-user" --enable-debug --enable-sdl --enable-gtk --enable-vnc --enable-vnc-jpeg --enable-vnc-png --enable-kvm --enable-spice --enable-curl --enable-snappy --enable-tools
–enable-sdl 是必须的,否则用生成的 QEMU 创建的虚拟机没有画面。启动虚拟机时只会显示一行
VNC server running on
127.0.0.1:5900,这样你就只能通过 VNC 访问虚拟机了。如果需要用 VNC 访问虚拟机,可以安装 gvncviewer。
shell
$ sudo apt install gvncviewer
然后
shell
$ gvncviewer 127.0.0.1::5900
就可以看到虚拟机的画面了。
然后给该脚本文件可执行权限:
$ sudo chmod +x myconfig
执行
$ sudo ./myconfigtarget list arm-softmmu i386-softmmu x86_64-softmmu arm-linux-user i386-linux-user x86_64-linux-userpixman systemSDL support yes (2.0.6)GTK support yes (3.22.24)curl support yesVNC support yesVNC SASL support noVNC JPEG support yesVNC PNG support yes...
上面的输出信息表明我们的配置生效了。
安装编译依赖库
这些库是根据前面的configure
的配置参数,以及我后面运行./configure
时缺失提示总结的。
$ sudo apt install -y pkg-config$ sudo apt install -y libpixman-1-dev$ sudo apt install -y libfdt-dev$ sudo apt install libsdl2-dev # 这个是必须的,否则QEMU无法为虚拟机提供图形界面$ sudo apt install libsnappy-dev$ sudo apt install libgtk-3-dev$ sudo apt install libjpeg-turbo8-dev$ sudo apt install libcurl4-openssl-dev$ sudo apt install libspice-server-dev
编译
$ make -j8
由于我电脑是 8 核,所以用-j8
加快编译。大概一分钟就编译好了。
我前几天没有通过
configure
指定要生成的目标平台,也没有给make
用-j
参数。结果编译了二十多分钟。
编译完后可以在当前目录看可以执行文件qemu-img
,在子目录x86_64-softmm
看到qemu-system-x86_64
可执行文件,在子目录i386-softmmu
看到可执行文件qemu-system-i386
。
安装
$ sudo make install
验证一下
$ qemu-x86_64 --versionqemu-x86_64 version 2.10.1Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers$ qemu-system-i386 --versionQEMU emulator version 2.10.1Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers1$ qemu-img --versionqemu-img version 2.10.1Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
用 git clone 源码仓库安装
这种方式我没试过,不知道能不能自动解决依赖问题。
clone 源码仓库
官方的 git 代码仓库
$ git clone git://git.qemu.org/qemu.git
或者 GitHub 上的镜像源:
$ git clone git@github.com:qemu/qemu.git
解决依赖子项目
$ git submodule init$ git submodule update --recursive
编译安装
$ ./configure$ make
参考
https://www.qemu.org/download/#source
- QEMU 2.10.1 编译安装
- QEMU 2.10.1 编译安装
- ubuntu编译安装qemu
- ubuntu14.04编译安装qemu
- linux编译安装kvm、qemu
- Linux 下编译安装 QEMU
- 编译安装qemu并在qemu上安装centos6.5
- (KVM连载)3.4 编译qemu-kvm和安装qemu-kvm
- xen4.4,qemu-xen-1.6编译安装
- fedora 21编译安装qemu-2.3.0
- QEMU+GDB 安装编译调试linux内核
- qemu 编译
- linux内核调试环境搭建-1 Ubuntu10 .10下编译安装qemu
- ubuntu编译qemu 1.4.1 之前需要安装的几个包
- linux内核调试环境搭建-1 Ubuntu10 .10下编译安装qemu
- qemu 0.9.1 与 android 环境编译
- qemu 0.9.1 与 android 环境编译
- qemu安装
- java实现两个变量值交换不使用第三个变量
- Python practice
- 减少HTTP请求之合并图片详解(大型网站优化技术)
- html状态码
- mysql高版本5.6到5.5或低版本复制中出现的错误
- QEMU 2.10.1 编译安装
- 每天随便写点项目中遇到的细节问题(2)
- 字节序问题
- jmeter 线程组配置(持续时间、结束时间)
- JS实现点击某张图片弹出上传图片窗口以及限制图片格式和大小
- Java Servlet HelloWorld
- 网页爬虫抓取js动态渲染数据
- LigerUI 下拉菜单 LigerComboBox 简易写法
- 三子棋