【转载】x86 平台安装arm虚拟机

X86平台安装arm虚拟机

 

 

Fedora镜像 https://download.fedoraproject.org/pub/fedora/linux/releases/29/Server/aarch64/iso/Fedora-Server-dvd-aarch64-29-1.2.iso
 
Centos镜像
http://mirrors.huaweicloud.com/centos-altarch/7.6.1810/isos/aarch64/CentOS-7-aarch64-Everything-1810.iso
 
 

1.安装qemu-system-aarch64

如果在宿主机上只安装了qemu-kvm的话,宿主机上只能运行X86构架的虚拟机,并能够利用kvm加速,并不能将arm指令翻译成X86指令运行。所有还需要安装qemu-system-aarch64,它提供了aarch64架构虚拟机在x86架构上的运行支持。
可以通过下载源代码并编译安装:

wget https://download.qemu.org/qemu-2.11.0.tar.xz 
tar xvJf qemu-2.11.0.tar.xz 
cd qemu-2.11.0 
./configure –-target-list=aarch64-softmmu 
make 
make install

在安装的过程中可能会报缺少一些依赖包

yum install zlib-devel 
yum install glib2-devel 
yum install pixman-devel

 

2.UEFI固件下载

 

以前系统的启动过程可以简化为 BIOS固件—->引导程序—->操作系统,但是由于传统的BIOS启动方式存在许多问题,如bios运行在16位模式,寻址空间小,运行慢等,所以现在X86、ARM架构等架构都改采用了改进的 UEFI 启动方式(当然会有兼容传统BIOS启动方式的考虑),这种情况下系统启动过程如下图所示。

 

 

 

UEFI启动中最开始执行的也是专门的UEFI固件。因此,我们要想引导到安装光盘(支持UEFI模式)进一步安装aarch64架构的系统,先要下载对应架构(这里是aarch64)的UEFI固件。

QEMU_EFI.fd(下载地址:

http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64

 

3.操作系统下载

使用了arm架构的fedora

Fedora-Server-dvd-aarch64-29-1.2.iso

4.创建虚拟硬盘

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

qemu-img create -f raw -o size=30G test.img

 

5.虚拟机安装

 

eg:

 

qemu-system-aarch64 -m 2048 -cpu cortex-a57 -smp 2 -M virt -bios QEMU_EFI.fd -nographic -drive if=none,file=Fedora-Server-dvd-aarch64-29-1.2.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=test.img,id=hd0 -device virtio-blk-device,drive=hd0

 

   

 

执行上述命令时确保QEMU_EFI.fd、Fedora-Server-dvd-aarch64-29-1.2.iso、test.img文件在当前目前下,否则需要修改成对应的文件路径。在上述参数中,指定安装光盘这里-drive if=none,file=Fedora-Server-dvd-aarch64-29-1.2.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom上述指定能100%正确的完成安装。

-

 

 

6.利用virt-manager启动虚拟机

 

前面能够利用命令成功启动虚拟机啦,但是对于我这种入门级的选手来说更想用带界面的virt-manager工具去直观地管理虚拟机(开关虚拟机、添加删除网络接口也很方便),于是进行了一番尝试,找到了一个可行的方法。

首先是安装virt-manager工具。

 yum install virt-manager

 

 

安装UEFI固件

 

wget https://www.kraxel.org/repos/firmware.repo

yum install edk2.git-aarch64

编辑/etc/libvirt/qemu.conf最后一行添加

 

nvram = [
   "/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2.git/aarch64/vars-template-pflash.raw"
]

 

源博客地址

https://marcin.juszkiewicz.com.pl/2015/04/17/running-vms-on-fedoraaarch64/

 https://www.cnblogs.com/jinanxiaolaohu/p/11003388.html

 

posted @ 2019-10-12 08:53  Linux_xl  阅读(12489)  评论(0编辑  收藏  举报