Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux file #39

Open
changekkk opened this issue Sep 5, 2024 · 14 comments
Open

Linux file #39

changekkk opened this issue Sep 5, 2024 · 14 comments

Comments

@changekkk
Copy link

你好,想问一下Linux.bin有对应的.elf文件吗?

@cebarobot
Copy link
Member

目前我们没有提供对应的 elf 文件。

@changekkk
Copy link
Author

目前我们按照香山内核编译流程(https://docs.xiangshan.cc/zh-cn/latest/tools/opensbi-kernel-for-xs/),编译出来的指令数6000w+,但跑ready to run里的Linux.bin统计指令数为400w+,因此想问一下,目前Linux.bin的编译生成过程中,都需要哪些配置文件,这个量级差异可能的原因是什么?

@cebarobot
Copy link
Member

ready-to-run 里面的 linux.bin 采用的是 linux 的最小配置,关闭了大量的 linux 功能,其指令数少是符合预期的。具体可以参见 #38 这个 Issue。

您可以搜索 linux menuconfig 来了解 linux 配置的更多信息。通常,可通过 make ARCH=riscv menuconfig 来进入 linux 的图形化配置页面,来调整 linux 的配置。

@changekkk
Copy link
Author

您好,除了config以外,ready-to-run中bin,对应的Linux内核版本是多少?我们目前用其他的开源版本(5.10),配合这个minimal config编译出的bin执行后仍然有2000多w条指令,想确认下是否是linux版本的差异导致? 或者是配置上除了minimal config是否还需要其他文件?

@cebarobot
Copy link
Member

ready-to-run 的 README 文件中明确说明了 linux 的版本:6.1.83.

image

不同 linux 版本的配置文件不一定通用,其有些关键配置项会发生变化,可能导致一些功能没有关闭。可能还需要通过 menuconfig 进行调整。

对于 linux 没有其他配置文件了。openSBI 也可以做裁剪,但我印象中不会对指令数产生比较大的影响。

@changekkk
Copy link
Author

好的,谢谢;
另外,问一下咱们启动Linux后,有进一步进行一些应用程序的运行吗(比如特定外部设备等)

@cebarobot
Copy link
Member

您可以参考文档,将自定义的应用程序放入linux镜像中。

@changekkk
Copy link
Author

您好,您说的文档具体是哪个位置的介绍,这里应用程序如果放进linux镜像需要添加命令行程序吗?

@cebarobot
Copy link
Member

您好,您说的文档具体是哪个位置的介绍,这里应用程序如果放进linux镜像需要添加命令行程序吗?

https://docs.xiangshan.cc/zh-cn/latest/tools/opensbi-kernel-for-xs

一般需要busybox来提供基本命令行环境。

@changekkk
Copy link
Author

您好,这里提到的“在 Linux 下跑 SPEC2006 以及其他程序作为 SimPoint profiling 和 checkpoint 的 workload” Spec2006程序用的是完整程序还是程序片段,完整程序的量级应该百亿级别吧

@cebarobot
Copy link
Member

“在 Linux 下跑 SPEC2006 以及其他程序”是指完整的程序。片段是在此基础上再切片的。

@changekkk
Copy link
Author

您好,如果完整程序,这里最后gcpt.bin执行后指令数统计过吗,能在仿真端difftest完成运行吗?目前ready to run文件夹没有找到这个bin,可以提供一下吗?

@cebarobot
Copy link
Member

通过 Verilator 仿真运行 SPEC CPU 2006 的总时长是不可接受的,因此我们才引入了通用检查点(Gcpt)技术。

至于 SPEC CPU 2006 的 workload bin,根据 SPEC CPU 2006 的授权要求,我们无法提供。您可根据我们的文档,或教程视频来制作。

@changekkk
Copy link
Author

好的,谢谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants