IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 通用虚拟平台virt -> 正文阅读

[系统运维]通用虚拟平台virt

????????板virt为与任何真实硬件不相关的平台;它为虚拟机中使用。

????????如果你想简单的运行guest比如linux并且不关心减少真实硬件的一些特性和限制,virt为建议的板类型。

????????它为“versioned”板模型,因此与virt机器类型一样(它存在优化,bugfix和其他QEMU版本的修改),提供一个版本保证与之前的QEMU版本有相同的行为。比如virt-5.0机器类型将从QEMU5.0版本virt机器,且迁移特性在virt-5.0的QEMU 5.0和QEMU 5.1之间工作。迁移特性不能保证不同的QEMU版本能工作。

1 支持的设备

????????virt板支持:

- PCI/PCIe 设备

- Flash 内存

- 一个PL011 UART

- 一个RTC

- fw_cfg设备允许guest从QEMU获取数据

- 一个PL061 GPIO控制器

- 一个可选的SMMUv3 IOMMU

- 可热插的DIMM

- 可热插的NVDIMM

- 一个MSI控制器(GICv2M或ITS)。与GICv2相关默认为GICv2M。GICv3默认选择ITS(>=virt-2.7)。注意ITS不支持TCG模式

- 32个virtio-mmio传输层设备

- 在aarch64硬件使用KVM加速器运行guest

- 大量RAM内存(最少256GB,若使用高端内存,可以更多)

- 很多CPUs(若支持GICv3和高端内存,可以最多512个)

- 若CPU有trustzone, 仅安全领域设备

支持的guest CPU类型:

- cortex-a7(32位)

- cortex-a15(32位)

- cortex-a53(64位)

- cortex-a57(64位)

- cortex-a72 (64位)

- host(仅KVM时支持)

- max(与host一样仅KVM时支持;最好与TCG模拟)

????????注意默认位cortex-a15,因此对于aarch64 guest,你必须指明CPU类型。

????????可以输出图像,但不像X86 PC机器类型,没有默认的显示设备使能:你应该从“-device help”中显示设备选择一个。建议的选项位"virtio-gpu-pci";它为可以与KVM工作的唯一选择。你也需要保证你的guest kernel被配置支持它。

2 机器相关的选项

????????支持以下与机器相关的选项:

(1)secure

????????设置on/off来使能或禁用模拟一个guest CPU,该CPU支持ARM安全扩展(TrustZone)。默认为off。

(2)virtualization

????????设置on/off来使能或禁用模拟一个guest CPU,该CPU支持ARM虚拟化扩展。默认为off。

(3)mte

????????设置on/off来使能或禁用模拟一个guest CPU,该CPU支持ARM? memory tagging扩展。默认为off。

(4)highmem

????????设置on/off来使能或禁用将设备和RAM放到高32位的地址空间。默认位on。

(4)gic-version

????????指明GIC的版本。有效的值为:2表示GICv2;3表示GICv3;host表示当使用KVM时使用与host上一样的GIC版本;max使用最好的GIC版本,与host一样需要使用KVM,对于TCG与3一样;

(5)its

????????设置on/off来使能和禁用ITS转换。在virt-2.7以后的版本默认对于机器类型为on。

(6)iommu

????????为guest创建IOMMU类型。有效值为:none表示不创建IOMMU,默认选项;smmuv3创建一个SMMUv3。

(7)ras

????????使用on/off来使能和禁用使用ACPI和guest外部abort异常将host内存错误报告guest。默认为off。

3 Linux guest kernel配置

????????Linux arm和arm64内核的defconfig应该包含virtio和PCI控制器的设备驱动;但是一些老的内核版本,特别是32位ARM,不需要将所有默认的都使能。若你没有看到期望的PCI设备,需要检查guest配置:

CONFIG_PCI=y
CONFIG_VIRTIO_PCI=y
CONFIG_PCI_HOST_GENERIC=y

? ? ? ? 若你想使用virtio-gpu-pci图像设备,你需要配置:

CONFIG_DRM=y
CONFIG_DRM_VIRTIO_GPU=y

4 裸设备上编程的硬件配置信息

????????板virt自动产生一个设备树dtb,该设备树被传递给guest。这提供一些信息,这些信息包括地址,中断线,和其他系统中其他各种设备的配置。Guest代码依赖并硬编码以下地址:

- Flash内存起始于地址0x0000_0000

- RAM起始于0x4000_0000

????????所有其他设备信息在不同QEMU版本之间会有差异,因此guest必须查看DTB。

????????QEMU对于virt支持两种类型的guest image启动,guest代码来定位dtb二进制的方法。

- 对于使用LINUX内核启动协议(这意味着任何non-ELF文件被传递给QEMU)的guest,DTB的地址也被传递到寄存器(r2为32位guest,x0表示64位guest)。

-对于以裸设备启动的guest,DTB的RAM的起始地址为(0x40000000).

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 22:13:16  更:2022-03-13 22:16:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:57:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码