首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用gem5 fs.py在模拟中附加多个磁盘镜像?

如何使用gem5 fs.py在模拟中附加多个磁盘镜像?
EN

Stack Overflow用户
提问于 2018-06-15 01:24:52
回答 2查看 534关注 0票数 2

https://www.mail-archive.com/gem5-users@gem5.org/msg15233.html上,Jason提到了附加两个磁盘映像以恢复检查点并运行不同基准测试的技术。

在使用fs.py时,是否可以指定多个磁盘镜像?从源代码来看,我认为它目前不受支持,但在我决定是否对其进行修补之前,请仔细检查。

似乎多个--disk-image=选项只是相互覆盖。

然而,fs_bigLITTLE.py似乎支持它。

gem5 60600f09c25255b3c8f72da7fb49100e2682093a

https://www.mail-archive.com/gem5-users@gem5.org/msg15675.html

EN

回答 2

Stack Overflow用户

发布于 2018-06-26 15:52:26

我在这里回复:https://www.mail-archive.com/gem5-users@gem5.org/msg15714.html

基本上,http://www.gem5.org/AsimBench展示了一个如何使用fs.py完成此任务的示例。你可以用这个补丁尝试一下:

代码语言:javascript
复制
diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py
index e2b6616..e01cc13 100644
--- a/configs/common/FSConfig.py
+++ b/configs/common/FSConfig.py
@@ -266,15 +266,17 @@ def makeArmSystem(mem_mode, machine_type, num_cpus=1, mdesc=None,

    self.cf0 = CowIdeDisk(driveID='master')
    self.cf0.childImage(mdesc.disk())
+   self.disk2 = CowIdeDisk(driveID='master')
+   self.disk2.childImage(disk('workloads.img'))
    # Old platforms have a built-in IDE or CF controller. Default to
    # the IDE controller if both exist. New platforms expect the
    # storage controller to be added from the config script.
    if hasattr(self.realview, "ide"):
-       self.realview.ide.disks = [self.cf0]
+       self.realview.ide.disks = [self.cf0, self.disk2]
    elif hasattr(self.realview, "cf_ctrl"):
-       self.realview.cf_ctrl.disks = [self.cf0]
+       self.realview.cf_ctrl.disks = [self.cf0, self.disk2]
    else:
-       self.pci_ide = IdeController(disks=[self.cf0])
+       self.pci_ide = IdeController(disks=[self.cf0, self.disk2])
        pci_devices.append(self.pci_ide)

    self.mem_ranges = []

请注意,在本例中,您必须在M5_PATH中提供一个名为workloads.img的图像( gem5的一个环境变量,指向包含目录的系统文件)。当然,您可以将其更改为任何您想要的值,或者通过一个选项传递它。

还要注意,在启动时,您必须首先使用普通工具挂载第二个磁盘来挂载磁盘。这可以通过例如

代码语言:javascript
复制
sudo mount /dev/sdb1 /mnt

然后,第二个磁盘映像中的所有文件都将位于/mnt下

票数 3
EN

Stack Overflow用户

发布于 2020-02-13 22:31:17

由于gem5 a6d98140 (2020年1月),即可开箱即用

新增:https://gem5-review.googlesource.com/c/public/gem5/+/23671/6

您现在可以多次使用--disk-image,如下所示:

代码语言:javascript
复制
build/ARM/gem5.opt scripts/example/fs.py \
  --disk-image path/to/my.ext2 --disk-image path/to/another.ext2

然后,额外的镜像可以在Linux下挂载为/dev/sda/dev/sdb等。

不要忘记,在恢复检查点之后,您只能在来宾操作系统上挂载(或者您必须在来宾操作系统上卸载,修改主机上的磁盘,然后在来宾操作系统上重新挂载)。否则,来宾内核内存仍将等待一个在其脚下交换的不同文件系统。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50862906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档