在gem5的full system下运行 x86编译的测试程序 running gem5 on ubuntu in full system mode in x86...
背景
上篇博客写了如何在gem5的full system模式运行alpha的指令编译的程序,这篇博客讲述如何在gem5的full system模式运行x86指令集编译的程序,这两种方式非常类似。
首先需要安装gem5-stable,可以参考我前面的一篇博客:
http://blog.csdn.net/wyj7260/article/details/8267345
这篇文章介绍full system in x86。
安装过程:
下载full system需要的两个包:
首先在安装好gem5-stable之后,再到官网下载full system需要的包:
Full System Files : http://www.m5sim.org/dist/current/x86/x86-system.tar.bz2
Config files : http://www.m5sim.org/dist/current/x86/config-x86.tar.bz2
安装:记我的gem5-stable安装目录为$GEM
a) ~/gem5-stable$ mkdir x86Dist
b) 将包x86-system.tar.bz2和config-x86.tar.bz2复制到x86Dist目录下
b) ~/gem5-stable$ cd x86Dist/
c) ~/gem5-stable/x86Dist$ tar -xvf x86-system.tar.bz2
把exceptKeyError:
path = [ '/dist/m5/system', '/n/poolfs/z/dist/m5/system
修改成
except KeyError:
path = [ '/dist/m5/system', ' /home/wyj2/gem5-stable/x86Dist' ]
运行(运行过程中遇到的error以及解决方法)
1、 首先编译gem5.opt
~/gem5-stable $ scons ./build/x86/gem5.opt
2、运行模拟的linux系统
~/gem5-stable$ ./build/X86/gem5.opt ./configs/example/fs.py
报错如下:
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled Jul 12 2013 21:30:39
gem5 started Jul 12 2013 21:33:06
gem5 executing on arch-node3
command line: ./build/X86/gem5.opt ./configs/example/fs.py
warning: add_child('terminal'): child 'terminal' already has parent
Global frequency set at 1000000000000 ticks per second
info: No kernel set for full system simulation. Assuming you know whatyou're doing if not SPARC ISA
0: rtc: Real-time clock setto Sun Jan 1 00:00:00 2012
panic: Error opening /home/wyj/gem5-stable/x86Dist/disks/x86root.img
@ cycle 0
[open:build/X86/dev/disk_image.cc, line 79]
Memory Usage: 225092 KBytes
Program aborted at cycle 0
Aborted (core dumped)
解决方法:
提示不能打开x86root.img,于是我查找x86root.img
命令:~/gem5-stable$ grep -r"x86root.img" ./
得到如下:
./configs/common/Benchmarks.py: return env.get('LINUX_IMAGE',disk('x86root.img'))
如实修改Benchmarks.py, 把return env.get('LINUX_IMAGE',disk('x86root.img'))改成
return env.get('LINUX_IMAGE', disk('linux-x86.img'))
然后执行:
~/gem5-stable$ ./build/X86/gem5.opt ./configs/example/fs.py
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled Jul 2 201310:06:26
gem5 started Jul 13 2013 18:13:18
gem5 executing on jsi-desktop
command line: ./build/X86/gem5.opt ./configs/example/fs.py
warn: add_child('terminal'): child 'terminal' already has parent
Global frequency set at 1000000000000 ticks per second
info: No kernel set for full system simulation. Assuming you know whatyou're doing
0: rtc: Real-time clock setto Sun Jan 1 00:00:00 2012
panic: Error opening/home/wyj2/gem5-stable/x86Dist/disks/linux-bigswap2.img
@ cycle 0
[open:build/X86/dev/disk_image.cc, line 79]
Memory Usage: 177860 KBytes
Program aborted at cycle 0
Aborted
缺少linux-bigswap2.img文件,秩序要将alpha的full system下载的包Full System Files解压后的linux-bigswap2.img拷贝到目录/home/wyj2/gem5-stable/x86Dist/disks/就行。
(full system Files下载地址http://www.m5sim.org/dist/current/m5_system_2.0b3.tar.bz2解压也可得)
运行
~/gem5-stable$ ./build/X86/gem5.opt ./configs/example/fs.py
仍然报错
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled Jul 2 201310:06:26
gem5 started Jul 13 2013 18:18:48
gem5 executing on jsi-desktop
command line: ./build/X86/gem5.opt ./configs/example/fs.py
warn: add_child('terminal'): child 'terminal' already has parent
Global frequency set at 1000000000000 ticks per second
info: No kernel set for full system simulation. Assuming you know whatyou're doing
0: rtc: Real-time clock setto Sun Jan 1 00:00:00 2012
Listening for com_1 connection on port 3456
warn: Reading current count from inactive timer.
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
fatal: No kernel to load.@ cycle 0
[initState:build/X86/arch/x86/system.cc, line 118]
Memory Usage: 177868 KBytes
这是因为运行时需要制定kernel:
运行命令为:
./build/X86/gem5.opt ./configs/example/fs.py --kernel=x86_64-vmlinux-2.6.22.9.smp
注意:此处不用制定.smp文件的路径,只用文件名就行
剩下的mount文件到模拟的系统同上一篇关于alpha的full system
。
参考链接:
http://www.m5sim.org/Running_M5_in_Full-System_Mode
http://novel.ict.ac.cn/qguo/pdf/gem5.pdf
http://gem5.org/dist/tutorials/hipeac2012/gem5_hipeac.pdf
以及参考师兄的ppt
在gem5的full system下运行 x86编译的测试程序 running gem5 on ubuntu in full system mode in x86...相关推荐
- Gem5在X64架构下运行SPEC2006
问题来源:为了验证GEM5执行banchmark需要的时间是否可以容忍,故摸索了下gem5下如何运行spec2006,分析可用性. 步骤一 (编译spec2006): 1. 购买或下载spec200 ...
- 使用Gem5在aarch64架构下运行SPEC2006样例(三)——样例运行
一.写在前面 如果只是想完成课程设计的话,可以使用本部分的方法.如果需要使用Simpoint加速运行,可以略过本篇,见下一篇. 二.正常执行 1.编写脚本 在Gem5主目录下使用命令: touch r ...
- arm linux运行安卓app,Android x86 下运行纯ARM版APP
Android x86 默认不带houdini,运行纯ARM版会提示: 很抱歉,"xxxx"已停止运行 设置->应用兼容性->打开 终端模拟器 $ su # enabl ...
- Gem5模拟器,FS模式运行自定义程序(九)
FS模拟和SE模拟最大的区别是:FS模拟会启动Linux操作系统,会模拟系统的所有组件.因此需要给系统配置相应的Linux内核以及磁盘镜像,镜像文件作为Linux系统的文件系统.在FS模拟下,使用ge ...
- win10环境下 运行debug程序
百度网盘:链接:https://pan.baidu.com/s/1y6omgW6fI-gT3Dp-0hutOg 提取码:iw4l CSDN0积分下载:https://download.csdn. ...
- Linux下运行java DES解密失败,报javax.crypto.BadPaddingException:Given final block not properly padded
参考:http://blog.csdn.net/rj042/article/details/8196125 单点登录:https://github.com/ebnew/ki4so redis客户端操作 ...
- 让你的网站在IE8的兼容模式下运行
众所周知,微软的Internet Explorer团队一直在致力于将IE8打造为最符合业内标准的浏览器,所不幸的是,当前并非所有的网站都认同这些标准.如果你担心你的网站在IE8的标准模式下不能正常工作 ...
- 下运行maven命令_实话实说 | 这些maven命令,你会几个?
今天有位微信好友私下问我:mvn install怎么好像把mvn compile的活也干了,所以我平时都是使用mvn install就ok了.奇怪的是,为什么还要搞个mvn compile呢? 听了这 ...
- linux中计算高斯的进程,linux下运行高斯比windows的优势
转引自GaussianFAQ第一章第四节 (1.4) 难道非要用Linux算高斯吗?Windows算高斯的缺陷是什么? 后续问题:听说Linux很难的.我是电脑小白,在Windows上都不太懂,只会最 ...
最新文章
- python caffe 在师兄的代码上修改成自己风格的代码
- C# WinForm源码收集
- DGA GAN——GAN在安全中的应用
- 深度学习(主要是CNN)用于图片的分类和检测总结
- C++ 实现 STL 标准库和算法(二)template 编程和迭代器粗解 实验楼笔记
- DRBD编译安装中出现的问题及解决小结
- 微信应该砍掉这些功能
- C++设计模式-单例模式(双重锁定)
- 三十岁学python_我30岁了,转行学编程可以吗? 排除法告诉你答案
- java-背包的实现
- 一起谈.NET技术,一个MVC分页Helper
- IBM Systems Director VMControl资源生命周期管理,第2部分
- jsp1201高校实习实训系统
- 微信小程序-云开发数据库基础操作(自用)
- Will----个人资料
- pr如何处理音效_PR音乐音效处理教程 Premiere Pro CC Essential Sound
- ffmpeg批量提取mp4视频文件中的音频
- java用下拉框实现出生日期_纯JS实现出生日期[年月日]下拉菜单效果
- 快速搞定开源框架Flowable
- 设立有限公司需要具备的条件