热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

在Windows系统下编译安装Qemu虚拟机

一、准备MinGW环境在www.mingw.org下载:MSys(当前版本是1.0.11)MSysDTK(当前版本是1.0.1)MinGW(当前版本是5.1.6)mingw版本的zlib开发包(当前版本的文件名是libz-1.2.3-1-mingw32-dev.tar.gz)和运行时的dll文件(当前版本的文件名是li
  一、准备MinGW环境
在www.mingw.org下载:
MSys(当前版本是1.0.11)
MSys DTK (当前版本是1.0.1)
MinGW(当前版本是5.1.6)
mingw版本的zlib开发包(当前版本的文件名是libz-1.2.3-1-mingw32-dev.tar.gz)和运行时的dll文件(当前版本的文件名是libz-1.2.3-1-mingw32-dll-1.tar.gz)

依次运行MSys、MSys DTK、MinGW安装程序,按提示信息操作。安装后,在MSys安装目录下的etc目录中创建fstab文件,把MinGW与MSys关联起来。fstab文件的内容很简单,可参考etc目录下的样例文件。然后,MSys的命令行界面,执行下面的命令安装zlib开发包
tar -C /mingw -xf /c/wyk/libz-1.2.3-1-mingw32-dev.tar.gz
这里假定zlib开发包的下载目录是c:\\wyk。

二、安装SDL开发包
在www.libsdl.org下载SDL开发包,当前版本是1.2.14,选择Win32平台,文件名是sdl-devel-1.2.14-mingw32.tar.gz
在MSys的命令行界面,执行下面的命令安装
tar -C /mingw -xf /c/wyk/sdl-devel-1.2.14-mingw32.tar.gz
这里假定SDL开发包的下载目录是c:\\wyk。
然后修改 /mingw/SDL-1.2.14/bin目录下的sdl-config脚本文件,将prefix 变量的定义改为 /mingw/SDL-1.2.14

三、编译QEMU
在www.nongnu.org/qemu/download.html下载QEMU源码包,当前的稳定版本是0.10.6
在MSys的命令行界面下解开源码包,进入源码目录,先执行
PATH=$PATH:/mingw/SDL-1.2.14/bin
将SDL开发包路径补充进来。然后,执行
./configure --prefix=/c/qemu/0.10.6
配置QEMU。其中的 --prefix 参数指定编译后安装QEMU的目录。

make
命令进行编译。最后再执行
make install
命令安装编译好的QEMU程序。

按前面的配置命令,QEMU程序会安装在c:\\qemu\\0.10.6目录下。在此目录下,还需要拷贝SDL和zlib 的dll文件,QEMU才能正常运行。SDL的dll文件名是SDL.DLL,位于/mingw/SDL-1.2.14/bin目录下;zlib的dll文件名libz-1.dll,在前面下载的libz-1.2.3-1-mingw32-dll-1.tar.gz压缩包内。 运行QEMU程序时,可能会输出错误信息:无法加载PC BIOS(bios.bin文件),这是因为编译安装路径设置在windows系统下与linux系统的有差异造成的,只要用QEMU的 -L 参数指定bios的加载路径(即QEMU.EXE程序所在的目录下)就可以解决。

四、kqemu加速模块
在MinGW环境下无法编译kqemu,但可以直接从www.nongnu.org/qemu/download.html下载kqemu源码包(当前版本是kqemu-1.4.0pre1.tar.gz),里面包含已编译好的windows环境的kqemu模块。
在c:\\qemu目录下创建kqemu目录,将kqemu源码包中的kqemu.inf 和 kqemu.sys 文件解压到kqemu目录中。然后在kqemu.inf文件上点击鼠标右键,在弹出菜单中选择“安装”来安装kqemu模块。安装完成后,用
net start kqemu
命令,可以启动kqemu,供QEMU使用。

注意:经实际验证,kqemu-1.4.0pre1.tar.gz中包含的kqemu.sys在0.10.6版本的QEMU使用时,会使QEMU异常退出,所以运行QEMU时,要加 -no-kqemu 参数,避免使用kqemu模块。


推荐阅读
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • 本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍如何在 Xcode 中使用快捷键和菜单命令对多行代码进行缩进,包括右缩进和左缩进的具体操作方法。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
author-avatar
有些疯癫的小红帽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有