【QEMU中文文档】1.1 支持的构建平台

本文由 AI 翻译(ChatGPT-4)完成,并由作者进行人工校对。如有任何问题或建议,欢迎联系我。联系方式:jelin-sh@outlook.com。

原文:Supported build platforms — QEMU documentation

QEMU 旨在支持在多个主机操作系统平台上构建和运行。本附录概述了主要的构建目标平台。这些平台决定了 QEMU 所依赖的第三方软件的最低要求版本。支持的平台是 QEMU 项目在提交补丁进行审查时执行自动化测试的目标,并在合并前后进行测试。

如果某个平台没有在这里列出,这并不意味着 QEMU 无法在该平台上运行。如果未列出的平台的软件版本与列出平台的相当,那么预期它是可以运行的。欢迎报告在未列出平台上遇到的问题,除非它们的软件版本明显比这里描述的更旧。

请注意,在考虑支持的发行版提供的软件版本时,QEMU 只考虑版本号,并假定该发行版中的功能与具有相同版本的上游发布相匹配。换句话说,如果发行版将额外功能移植到其软件中,QEMU 上游代码不会为这些移植添加显式支持,除非这些功能以一种对上游发布也适用的方式进行自动检测。

Repology 网站是一个有用的资源,可以识别各种操作系统中当前已发布的软件版本,尽管它并未涵盖下面列出的所有发行版。

支持的主机架构

这些主机架构得到官方支持,并配备了各种加速器:

CPU 架构加速器
ArmKVM(仅限 64 位),TCG,Xen
MIPS(仅支持小端)KVM,TCG
PPCKVM,TCG
RISC-VKVM,TCG
s390xKVM,TCG
SPARCTCG
x86HVF(仅限 64 位),KVM,NVMM,TCG,WHPX(仅限 64 位),Xen

其他主机架构不受支持。可以使用 --enable-tcg-interpreter 选项在不受支持的主机架构上构建 QEMU 系统仿真,以启用 TCI 支持,但请注意这会非常慢,不建议正常使用。QEMU 用户模式仿真需要主机特定的信号处理支持,因此在不受支持的主机架构上不会有 TCI 的帮助。

不支持的架构可能会在弃用过程后被移除。

Linux 操作系统,macOS,FreeBSD,NetBSD,OpenBSD

该项目旨在在初始发布后的五年内始终支持最新的主要版本。在发布新的主要版本后的两年内,将停止支持先前的主要版本,或者在供应商自身停止支持时停止支持,以先到者为准。在这种情况下,不考虑第三方努力延长发行版寿命,即使它们得到供应商的认可(例如 Debian LTS);包含从后续版本中回溯的软件包的存储库也是如此(例如 Debian backports)。在每个主要版本中,只考虑最新的次要版本。

为了确定在 Linux 上可用的支持软件版本,该项目将查看 CentOS、Debian、Fedora、openSUSE、RHEL、SLES 和 Ubuntu LTS。其他发行版将被假定为提供类似的软件版本。

对于 FreeBSD 和 OpenBSD,决策将基于各自端口存储库的内容,而 NetBSD 将使用 pkgsrc 存储库。

对于 macOS,将使用 Homebrew,尽管预计 MacPorts 将携带类似版本。

一些构建依赖可能遵循较不保守的规则:

  • Python 运行时:长期支持的发行版通常提供多个版本的 Python 运行时。QEMU 最初将支持发行版的默认运行时,但随后可能将最低版本提高到供应商提供的更新的 Python 版本。在这种情况下,将需要使用 configure 脚本的 --python 命令行选项将 QEMU 指向支持的 Python 运行时版本。截至 QEMU 9.0.50 版本,支持的最低 Python 版本为 3.7。
  • Python 构建依赖:QEMU 的一些构建依赖项是用 Python 编写的。通常,这些依赖项只有默认 Python 运行时的发行版才会打包。如果 QEMU 提高了其最低 Python 版本,并且需要非默认运行时,则可能需要通过 pip 从 Python 软件包索引(PyPI)获取这些 Python 模块,以构建 QEMU。
  • 可选构建依赖:一些构建组件的缺失不会影响 QEMU 的构建能力。这些组件可能在发行版中不可用,或者对 QEMU 的要求过旧。例如,Avocado 测试框架或各种 linter 都是用 Python 编写的,可以使用 pip 安装。另一个例子是交叉编译器;在这种情况下,可以从 EPEL 等存储库中下载它们,使用 Docker 或 Podman 进行基于容器的交叉编译,或者使用与 QEMU 一起分发的预构建二进制文件。

Windows

该项目旨在支持供应商仍在支持的最新两个 Windows 版本。当前最低支持的 Windows API 是“Windows 8”,因此理论上 QEMU 二进制文件仍然可以在旧版本的 Windows 上运行。然而,这些旧版本的 Windows 不再进行测试,因此建议改用最新的 Windows 版本。

该项目支持使用当前版本的 MinGW 工具链在 Linux(Debian/Fedora)上构建 QEMU,或者在 Windows 上通过 MSYS2 构建。始终推荐使用较新的 Windows 版本,因为这样更不容易在通过 MSYS2 构建时出现问题。QEMU 的构建过程涉及一些调用 os.symlink() 的 Python 脚本,需要特别注意构建过程才能成功完成。在较新的 Windows 10 版本中,如果启用了开发人员模式,非特权帐户可以创建符号链接。如果无法使用或启用开发人员模式,则需要 SeCreateSymbolicLinkPrivilege 特权,或者进程必须以管理员身份运行。

仅支持 64 位 Windows。


© Copyright 2024, The QEMU Project Developers. This documentation is for QEMU version 9.0.50.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/666610.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Webrtc支持HEVC之FFMPEG支持HEVC编解码(一)

一、前言 Webrtc使用的FFMPEG(webrtc\src\third_party\ffmpeg)和官方的不太一样,使用GN编译,各个平台使用了不一样的配置文件 以Windows为例,Chrome浏览器也类似 二、修改配置文件 windows:chromium\config\Chrome\win\x64 其他平台: chromium\config\Chrome\YOUR_SYS…

Dynamics 365:安全的客户参与应用程序

客户参与应用程序使用Microsoft Dataverse提供了一个丰富的安全模型,可以适应许多业务场景。本节为您提供了应考虑的安全措施的特定于产品的指导。 Dataverse安全模型有以下目标: 只允许用户访问他们工作所需的信息。按角色对用户进行分组,并…

Sping源码(九)—— Bean的初始化(非懒加载)— FactoryBean

FactoryBean 先来介绍一下FactoryBean是什么。以及BeanFactory和FactoryBean的区别。 举个栗子&#xff1a; MyFactoryBean.class public class MyFactoryBean implements FactoryBean<User> {Overridepublic User getObject() throws Exception {return new User(&qu…

CAPL如何发送一条UDP报文

UDP作为传输层协议,本身并不具有可靠性传输特点,所以不需要建立连接通道,可以直接发送数据。当然,前提是需要知道对方的通信端点,也就是IP地址和端口号。 端口号是传输层协议中最显著的特征,传输层根据它来确定上层绑定的应用程序,以达到把数据交给上层应用处理的目的。…

五种主流数据库:常用数据类型

在设计数据库的表结构时&#xff0c;我们需要明确表中包含哪些字段以及字段的数据类型。字段的数据类型定义了该字段能够存储的数据种类以及支持的操作。 本文将会介绍五种主流数据库中常用的数据类型以及如何选择合适的数据类型&#xff0c;包括 MySQL、Oracle、SQL Server、…

基于Springboot + vue实现的文化民俗网站

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…

uni-app的网络请求库封装及使用(同时支持微信小程序)

其实uni-app中内置的uni.request()已经很强大了&#xff0c;简单且好用。为了让其更好用&#xff0c;同时支持拦截器&#xff0c;支持Promise 写法&#xff0c;特对其进行封装。同时支持H5和小程序环境&#xff0c;更好用啦。文中给出使用示例&#xff0c;可以看到使用变得如此…

安卓Zygote进程详解

目录 一、概述二、Zygote如何被启动的&#xff1f;2.1 init.zygote64_32.rc2.2 Zygote进程在什么时候会被重启2.3 Zygote 启动后做了什么2.4 Zygote启动相关主要函数 三、Zygote进程启动源码分析3.1 Nativate-C世界的Zygote启动要代码调用流程3.1.1 [app_main.cpp] main()3.1.2…

11- Redis 中的 SDS 数据结构

字符串在 Redis 中是很常用的&#xff0c;键值对中的键是字符串类型&#xff0c;值有时也是字符串类型。 Redis 是用 C 语言实现的&#xff0c;但是它没有直接使用 C 语言的 char* 字符数组来实现字符串&#xff0c;而是自己封装了一个名为简单动态字符串&#xff08;simple d…

13.优化界面化的游戏辅助

12.使用mfc实现游戏辅助的界面 在它的代码上进行修改 12.使用mfc实现游戏辅助的界面它的代码是频繁读写游戏的内存&#xff0c;这样不是很好&#xff0c;下面的代码是在它的基础上进行了封装&#xff0c;控制无敌的逻辑在我们申请的内存中实现&#xff08;也就是在一个全局中实…

gcc 内建函数示例 __builtin_return_address

1,理论未动&#xff0c;示例先行 hello_gcc_callstack.c #include <stdio.h>void do_backtrace() {void *pc0 __builtin_return_address(0);void *pc1 __builtin_return_address(1);void *pc2 __builtin_return_address(2);void *pc3 __builtin_return_address(3);…

oracle中的INTERVAL函数学习总结

Oracle 从9i数据库开始引入了一种新特性&#xff0c;可以用来存储时间间隔&#xff0c;出现了INTERVAL 函数。这个函数的表达式比较多&#xff0c;初学比较费劲不好掌握&#xff0c;经过以几个小时的查阅资料和实验&#xff0c;总结如下&#xff1a; interval year t…

使用Redis常遇到的问题

文章目录 概述缓存雪崩、穿透、击穿大key问题热Key问题缓存和数据库双写一致性问题缓存并发竞争Redis线上阻塞要如何排查Redis 常见的性能问题都有哪些Redis 如何做内存优化Redis数据倾斜 概述 在使用Redis时&#xff0c;有几个常见的问题可能会出现&#xff0c;包括但不限于以…

2022年全国职业院校技能大赛高职组“信息安全管理与评估”赛项第三阶段任务书

第三阶段竞赛项目试题 本文件为信息安全管理与评估项目竞赛-第三阶段试题。根据信息安全管理与评估项目技术文件要求&#xff0c;第三阶段为夺旗挑战CTF&#xff08;网络安全渗透&#xff09;。 本次比赛时间为180分钟。 介绍 夺旗挑战赛&#xff08;CTF&#xff09;的目标…

21 厂商考证介绍(华为 华三 锐键 深信服)+AI 解析

一 认识考证体系 二 明确考证的大致方向 锐键 职业资格证书等级介绍 职业资格证书是由国家职业资格鉴定机构或相关行业主管部门颁发的&#xff0c;用于证明一个人在特定职业领域具备一定技能和知识水平的证明文件。职业资格证书的等级分为初级、中级、高级、技师、高级技师、…

算法每日一题(python,2024.05.29) day.11

题目来源&#xff08;力扣. - 力扣&#xff08;LeetCode&#xff09;&#xff0c;简单&#xff09; 解题思路&#xff1a; 法一&#xff1a;切片函数法 直接用python中的切片函数直接解决 法二&#xff1a;交换法 从俩头开始交换字符串的数字&#xff0c;若为奇数&#xff…

CSRF跨站请求伪造漏洞

CSRF跨站请求伪造漏洞 1.CSRF漏洞概述2.防御CSRF攻击3.CSRF防御绕过CSRF令牌未绑定到用户会话自定义标头令牌绕过绕过Referer检查关键词绕过 4.利用示例使用HTML标签进行GET表单 GET 请求表单POST请求通过 iframe 发送表单 POST 请求Ajax POST 请求 5.CSRF BP 验证方法6.CSRF测…

LabVIEW老程序功能升级:重写还是改进?

概述&#xff1a;面对LabVIEW老程序的功能升级&#xff0c;开发者常常面临重写与改进之间的选择。本文从多个角度分析两种方法的利弊&#xff0c;并提供评估方法和解决思路。 重写&#xff08;重新开发&#xff09;的优势和劣势&#xff1a; 优势&#xff1a; 代码清晰度高&a…

【R语言基础】如何更新R版本

文章目录 概要流程细节具体步骤 概要 提示&#xff1a;由于软件包的更新&#xff0c;所以需要更新R至新版本 流程细节 查看当前R版本 R.version下载更新包&#xff1a;installr install.packages("installr")library(installr)跟着向导一步步执行安装 具体步骤 …

使用Spring Boot自定义注解 + AOP实现基于IP的接口限流和黑白名单

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…