Fedora32下编译安装Qemu5.1并创建ARM版本Linux虚拟机

简介: Fedora32下编译安装Qemu5.1并创建ARM版本Linux虚拟机

640.jpg

什么是QEMU?QEMU是一种通用的开源计算机仿真器和虚拟器。

1、全系统仿真:在任何受支持的体系结构上为任何计算机运行操作系统

2、用户模式仿真在任何受支持的体系结构上为另一个Linux / BSD目标运行程序

3、虚拟化以接近本机的性能运行KVM和Xen虚拟机

640.png

下面介绍在Fedora下编译最新版本Qemu5.1并创建ARM版本Linux虚拟机


一、编译安装Qemu5.1


wget https://download.qemu.org/qemu-5.1.0.tar.xz
tar xvJf qemu-5.1.0.tar.xz
cd qemu-5.1.0
./configure
make -j6
make install


编译安装出现报错的解决办法


1) ERROR: "cc" either does not exist or does not work

./configure 
ERROR: "cc" either does not exist or does not work


解决办法


yum install gcc


2)ERROR: glib-2.48 gthread-2.0 is required to compile QEMU

./configure 
ERROR: glib-2.48 gthread-2.0 is required to compile QEMU


解决办法


yum install glib2-devel


3)pixman >= 0.21.8 not present.


./configure 
ERROR: pixman >= 0.21.8 not present.
       Please install the pixman devel package.


解决办法


yum install pixman-devel


4)-bash: make: command not found


make
-bash: make: command not found


解决办法


yum install make


二、创建ARM版本Linux虚拟机


提前准备CentOS-7-aarch64-Minimal-1810.iso 以及aarch64的UEFI固件

至于网上QEMU_EFI.fd的固件本地测试没有成功

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

下面直接使用源码包qemu-5.1.0/pc-bios/edk2-aarch64-code.fd解决


qemu-img create hdd_aarch64.img 16G
cp /opt/qemu-5.1.0/pc-bios/edk2-aarch64-code.fd ./
qemu-system-aarch64 -m 2048 -cpu cortex-a57 -smp 2 -M virt -bios edk2-aarch64-code.fd -serial stdio -display vnc=10.20.90.56:0 -drive if=none,file=CentOS-7-aarch64-Minimal-1810.iso,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=hdd_aarch64.img,id=hd1  -device virtio-blk-device,drive=hd1 -netdev user,id=unet -device virtio-net-pci,netdev=unet -device virtio-gpu-pci -device driver="nec-usb-xhci" -device driver="usb-kbd" -device driver="usb-mouse"

640.png


创建完成后,使用UltraVNC Viewer 登录VNC,进行虚拟机安装


640.png

640.png640.png

640.png

创建虚拟机时遇到的问题均在如下官方帮助文档中找到相关提示解决 https://wiki.qemu.org/Documentation/Platforms/ARM


1、图形化问题


virt machine graphics Graphics is also available, but unlike x86 there is no default display device enabled: you should select on from the Display devices section of "-device ?". One good option is to use: -device virtio-gpu-pci


2、vnc问题


-display vnc=IP:0

相关文章
|
1月前
|
安全 Linux 虚拟化
|
2月前
|
Kubernetes Linux 测试技术
|
2月前
|
Ubuntu Linux 虚拟化
Linux虚拟机网络配置
【10月更文挑战第25天】在 Linux 虚拟机中,网络配置是实现虚拟机与外部网络通信的关键步骤。本文介绍了四种常见的网络配置方式:桥接模式、NAT 模式、仅主机模式和自定义网络模式,每种模式都详细说明了其原理和配置步骤。通过这些配置,用户可以根据实际需求选择合适的网络模式,确保虚拟机能够顺利地进行网络通信。
105 1
|
2月前
|
Linux 网络安全
Linux虚拟机与主机和Xshell的连接问题解决
Linux虚拟机与主机和Xshell的连接问题解决
95 1
|
3月前
|
安全 Unix Linux
Xshell和Xftp的下载和在linux虚拟机中的使用
这篇文章介绍了Xshell和Xftp的下载、安装和使用方法,包括如何在Linux虚拟机中使用它们进行远程连接和文件传输。
Xshell和Xftp的下载和在linux虚拟机中的使用
|
3月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
281 1
|
2月前
|
NoSQL MongoDB Docker
求助,有没有大神可以找到arm64架构下mongodb的3.6.8版本的docker镜像?
在Docker Hub受限的情况下,寻求适用于ARM架构的docker镜像资源或拉取链接,以便在x86架构上获取;内网中的机器为ARM架构,因此优先请求适合ARM的Docker镜像或Dockerfile,非常感激您的帮助。
|
2月前
|
Java Linux Maven
用sdkman在linux上管理多个java版本
本文介绍了如何在Linux上使用SDKMAN来管理多个Java版本,包括安装SDKMAN、验证安装、列出和安装不同版本的JDK、Maven和Gradle,以及如何切换使用不同版本。
72 0
|
20天前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
|
2月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。