系统教程
您现在的位置是:首页>服务器系统>Linux系统内容

gem5全系统运行程序:FATAL: kernel too old

时间:2018-05-11 出处:未知复制分享人气(次) 【

在模拟系统上运行hello测试程序,就是一个简单的输出功能,结果报下面的FATAL: kernel too old的错误。
(none) / # ./hello
FATAL: kernel too old
hello[810]: segfault at 00002b7e1e58ade0 rip 00000000004069e7 rsp 00007fff58f6a590 error 4
Segmentation fault
 
查看下模拟系统的目前版本,可以看到内核是2.6.22.9的版本。
(none) / # uname -a
Linux (none) 2.6.22.9 #2 Mon Oct 8 13:13:00 PDT 2007 x86_64 GNU/Linux
 
这个时候我们可以修改gem5目录下的src/arch/x86/Linux/的process.cc,之前搜网上教程是修改syscalls.cc,可是我这个目录下根本就没有这个文件,而我在process.cc中找到了所需要修改的函数strcpy(name->release, “x.x.xx”)
zzh@ubuntu14:~/gem5$ cd src/arch/x86/linux/
zzh@ubuntu14:~/gem5/src/arch/x86/linux$ ls
linux.cc  linux.hh  process.cc  process.hh  system.cc  system.hh
zzh@ubuntu14:~/gem5/src/arch/x86/linux$ vim process.cc 
 
x.x.xx字段,具体的修改值是不固定的这和编译器有关,只要修改后的值比编译器所对应的值高就行,可以在终端用file 指令查看一个已经经过编译的文件中所对应的Linux版本,然后将gem5中的值改的比该值大就行。
    最新资讯
    热门内容
    小米移动电源能为iPad mini充几次电