在Windows上用QEMU仿真ARM系统

2024-02-27 14:18

本文主要是介绍在Windows上用QEMU仿真ARM系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

按照在Debian(etch)上用QEMU仿真ARM系统的方法,并参照http://www.cs.tut.fi/~paulus/emu-arm-debian-howto.html#emu成功在windows系统上安装了ARM Debian系统。

1、安装windows版本的QEMU
可以使用QemuManager附带的windows版本的QEMU。QemuManager的主页是
http://www.davereyn.co.uk ,当前最新的发布版本是5.0。QemuManager 5.0 同时附带了0.9.0版本和0.9.1版本的QEMU,但是只有0.9.0版本的包含qemu-system-arm.exe程序。

2、创建虚拟硬盘
http://www.cs.tut.fi/~paulus/emu-arm-debian-howto.html#emu的说法,要创建raw格式的虚拟盘。
qemu-img create -f raw 4G

3、安装、配置ARM Debian 的仿真系统
按照
在Debian(etch)上用QEMU仿真ARM系统的方法,执行下列命令:
(1)安装:
qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.18-6-versatile -initrd initrd.gz -hda hda.img -append "root=/dev/ram"
(2)运行:
qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.18-6-versatile -initrd initrd.img-2.6.18-6-versatile -hda hda.img -append "root=/dev/sda1"
(3)第一次运行时,以root帐户登录并配置:
aptitude install initramfs-tools
console-common console-tools ntpdate
wget
http://people.debian.org/~aurel32/arm-versatile/linux-image-2.6.18-6-versatile_2.6.18.dfsg.1-23+versatile_arm.deb
dpkg -i linux-image-2.6.18-6-versatile_2.6.18.dfsg.1-23+versatile_arm.deb


4、解决读取RTC失败的问题
windows版本的qemu-system-arm不能正确读取RTC,造成系统时间错误,每次登录时都要求更改登录用户的密码。解决的办法是通过NTP获取系统时间,在上一步骤中安装的ntpdate软件包就是为了这个目的的。
ntpdate的配置文件是 /etc/default/ntpdate ,其中包含 NTP Server的服务器名。internet上的NTP server可以到
http://www.pool.ntp.org/ 查找。

5、与host传递文件
QemuManager中包含一个FTP Server,用于guest系统和host系统之间传递文件。guest可通过ftp连接,然后与host之间传递文件。ftp server 的IP就是host的主网卡IP,用户名和密码都是QEMU。注意:guest的网络是NAT模式,host不能直接连接guest,所以guest的ftp与host连接后,必须先执行
pass
命令,设置成passive模式,才能正常地传递文件。

6、其他说明
(1)windows系统上与网络时间同步相关的命令是 net time。可以执行
net time /?
获取简单的命令帮助信息。

(2)ntpdate命令为什么会在系统启动时自动运行?
debian 的ntpdate软件包安装了2个脚本文件:
/etc/network/if-up.d/ntpdate

/etc/dhcp3/dhclient-enter-hook.d/ntpdate
它们在网卡启用时会被自动调用,进而执行ntpdate命令获取NTP时间。

(3)如果想自行编译windows版本的qemu,可以看
http://lassauge.free.fr/qemu/。这个网页还可以直接下载0.9.1版本的QEMU(但是该版本中并没有包含qemu-system-arm.exe程序!)

(4)Windows版本的qemu主页在
http://www.h7.dion.ne.jp/~qemu-win/,内容丰富,可惜现在已经不更新了。

 

这篇关于在Windows上用QEMU仿真ARM系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/752684

相关文章

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤