You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

gem5全系统模式下运行程序提示/tmp/runscript不存在如何解决

gem5全系统模式"/tmp/runscript: No such file or directory"报错排查解决步骤

1 排查gem5启动参数配置错误

该报错90%以上是启动模拟时--script参数配置错误导致:

  • 确认--script参数后填写的是运行gem5的主机本地的脚本路径,不是gem5模拟出来的Linux系统内部路径,不要把模拟系统内的文件路径填到这个参数后
  • 检查本地路径下的runscript文件是否真实存在,拼写、相对路径/绝对路径是否正确,权限是否可读

2 排查runscript脚本内容错误

如果--script参数配置正确,继续检查runscript脚本本身的内容:

  • 脚本内写的hello-world二进制执行路径,需要和模拟Linux系统内二进制的实际存放路径完全一致,比如你把二进制存到了模拟系统的/root目录下,脚本内就要写/root/hello-world,不要填成你本地主机的路径
  • 脚本格式必须是Unix格式,Windows下编辑的带\r\n换行的脚本运行会触发路径识别错误,可在本地执行dos2unix runscript转换格式

3 排查hello-world二进制部署错误

你需要提前把编译好的二进制放到模拟Linux系统能访问到的位置,两种常用方案:

  • 磁盘镜像预拷贝方案:本地提前挂载gem5磁盘镜像,把二进制拷入后再启动模拟,参考命令:
    sudo mount -o loop,offset=$((1048576)) 你的磁盘镜像文件.ext2 /mnt
    sudo cp 本地的hello-world /mnt
    sudo umount /mnt
    
    注:offset值需要根据你的磁盘镜像分区表调整,常用的gem5官方镜像offset默认是1MiB即1048576
  • 9p共享文件夹方案:启动gem5时添加9p设备参数,进入模拟系统后挂载共享文件夹,可直接访问本地主机指定目录下的二进制

4 排查二进制编译匹配问题

如果路径都正确仍报错,确认编译环境和模拟架构匹配:

  • 编译hello-world的交叉编译器必须和gem5模拟的架构一致:模拟ARM64用aarch64-linux-gnu-g++,模拟RISC-V用riscv64-linux-gnu-g++,架构不匹配会触发二进制识别异常,出现路径不存在的误报

临时绕过方案

如果不需要自动执行脚本,等模拟Linux完全启动、登录进终端后,手动找到hello-world二进制的存放路径,直接执行./hello-world即可,不需要通过--script参数注入运行。

内容的提问来源于stack exchange,提问作者nedasadat taheri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:36:03