QEMU搭建ARM64+Linux虚拟环境(2021.7.13)

您所在的位置:网站首页 qemu下载教程 QEMU搭建ARM64+Linux虚拟环境(2021.7.13)

QEMU搭建ARM64+Linux虚拟环境(2021.7.13)

2023-09-16 23:09| 来源: 网络整理| 查看: 265

QEMU搭建ARM64+Linux虚拟环境

文章目录 QEMU搭建ARM64+Linux虚拟环境一、qemu简介1、功能及架构简介2、实现思路介绍 二、qemu安装1、安装依赖2、获取源码3、编译(1)准备工作(2)编译 三、安装Linux操作系统1、UEFI固件下载2、操作系统镜像下载3、创建虚拟硬盘4、虚拟机安装5、进入UI界面进行安装6、安装成功 四、参考教程:

一、qemu简介 1、功能及架构简介

QEMU是一个支持跨平台虚拟化的虚拟机,QEMU的优势是可以跨指令集,VMware和Virtualbox之类的工具通常只能在x86计算机上虚拟出一个x86计算机,而QEMU支持在x86上虚拟出一个ARM计算机

qemu架构如下:

image-20210713111111422

简单来说qemu就是实现换硬件平台架构的功能

2、实现思路介绍

qemu软件虚拟化实现思路就是二进制代码翻译技术,主要是提取guest代码,然后将其翻译成TCG中间代码,最后再将中间代码翻译成host指定架构的代码,如:x86就翻译成其支持的代码形式,ARM架构同理。

image-20210713111127836

二、qemu安装 1、安装依赖

官方推荐要安装一下依赖(ubuntu):

sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev sudo apt-get install git-email sudo apt-get install libaio-dev libbluetooth-dev libbrlapi-dev libbz2-dev sudo apt-get install libcap-dev libcap-ng-dev libcurl4-gnutls-dev libgtk-3-dev sudo apt-get install libibverbs-dev libjpeg8-dev libncurses5-dev libnuma-dev sudo apt-get install librbd-dev librdmacm-dev sudo apt-get install libsasl2-dev libsdl1.2-dev libseccomp-dev libsnappy-dev libssh2-1-dev sudo apt-get install libvde-dev libvdeplug-dev libvte-2.90-dev libxen-dev liblzo2-dev sudo apt-get install valgrind xfslibs-dev sudo apt-get install libnfs-dev libiscsi-dev

实际编译时还需要下面这个依赖

sudo apt-get install ninja-build 2、获取源码

使用git获取源码

git clone git://git.qemu-project.org/qemu.git

如果系统提示需要安装git的话按照提示安装就好,安装好之后再执行上面这条命令

源码下载好之后会在当前目录生成一个qemu目录

image-20210713111305957

cd进入到qemu目录下,ls查看所有文件如下,其中configure命令是我们之后要用到的

image-20210713111337290

3、编译 (1)准备工作

首先先检查当前系统是否有GCC编译器和make编译工具

可参考教程:https://www.cnblogs.com/tinywan/p/7230039.html

官网建议新建一个工作空间用来编译,而不要在qemu目录下直接编译,原文如下:

QEMU supports builds in this directory (not recommended) or in an extra directory (out-of-tree builds, recommended). There can be any number of out-of-tree builds, so if you plan to make cross builds, debug and release builds, out-of-tree builds are what you need. QEMU 支持在此目录(不推荐)或额外目录(推荐使用树外构建)中的编译。可以有任意数量的树外构建,因此如果您计划进行交叉构建、调试和发布构建,那么额外目录编译就是您所需要的。

做法如下:

# Switch to the QEMU root directory. cd qemu # Prepare a native debug build. mkdir -p bin/debug/native cd bin/debug/native # Return to the QEMU root directory. cd ../../.. (2)编译

configure为shell脚本,用于生成Makefile,其使用方法可使用如下命令查看:

./configure --help

使用到的[option]含义如下:

–enable-kvm:

编译KVM模块,是qemu可利用KVM来访问硬件提供的虚拟化服务

–enable-vnc:

启动VNC(远程控制工具软件)

拓展:VNC(https://blog.csdn.net/CH_sir/article/details/107784528)

–target-list:

目标机器的构架,默认是将所有架构都编译,为了更快完成编译,指定需要的架构即可。

image-20210713111425086

我使用的是aarch64-softmmu,根据需要选择自己的构架,相应的下面的configure命令中的选项也要修改

../../../configure --enable-kvm --enable-debug --enable-vnc --target-list="aarch64-softmmu" make -j8 sudo make install

通过一下指令查看是否编译成功:

qemu-system-aarch64 -M help

image-20210713111510125

三、安装Linux操作系统 1、UEFI固件下载

QEMU_EFI.fd

下载地址:http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/

**拓展:**UEFI启动方式和传统启动方式的区别

参考教程:http://www.uqidong.com/uefi.html

简单的来说uefi启动是新一代的bios,功能更加强大,而且它是以图形图像模式显示,让用户更便捷的直观操作。

如今很多新产品的电脑都支持uefi启动模式,甚至有的电脑都已抛弃bios而仅支持uefi启动。这不难看出uefi正在取代传统的bios启动。

2、操作系统镜像下载

这里采用的是arm64架构的ubuntu 16.04 server版:ubuntu-16.04.3-server-arm64.iso

image-20210713111607799

3、创建虚拟硬盘

利用qemu-img指令可以创建1个空的虚拟硬盘,便于后面安装的时候将系统安装到虚拟硬盘上

进入到工作空间/opt/qemu/bin/debug/native目录下

使用以下命令创建虚拟硬盘

qemu-img create ubuntu16.04-arm64.img 16G

在当前目录下会生成ubuntu16.04-arm64.img这样一个文件

4、虚拟机安装

将上面的镜像文件ubuntu-16.04.3-server-arm64.iso和UEFI固件(QEMU_EFI.fd)都放在/opt/qemu/bin/debug/native该目录下,然后使用以下命令安装

qemu-system-aarch64 -m 2048 -cpu cortex-a57 -smp 2 -M virt -bios QEMU_EFI.fd -nographic -drive if=none,file=ubuntu-16.04.3-server-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=ubuntu16.04-arm64.img,id=hd0 -device virtio-blk-device,drive=hd0 5、进入UI界面进行安装

装了一下午…

注意:第一次登录卡顿特别严重,别着急,我一开始直接将窗口关闭了,导致后来出现一系列问题

下次启动输入命令如下:

qemu-system-aarch64 -m 2048 -cpu cortex-a57 -smp 2 -M virt -bios QEMU_EFI.fd -nographic -drive if=none,file=ubuntu16.04-arm64.img,id=hd0 -device virtio-blk-device,drive=hd0 6、安装成功

登录

image-20210713112327611

查看系统架构

image-20210713112342734

四、参考教程:

https://www.cnblogs.com/bakari/p/7858029.html

https://wiki.qemu.org/Hosts/Linux

https://blog.csdn.net/chenxiangneu/article/details/78955462

https://blog.csdn.net/qq_33037487/article/details/112472759



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3