如题,上一篇已经启动了gem5的全系统模式,现在如何在FS下运行自己的测试程序呢?
1.首先进入gem5目录下,可以新建一个文件夹mountfile,专门用于存放后面的往系统里mount的文件。
zzh@ubuntu14:~/gem5$ mkdir mountfile
先把已经静态编译好的可执行文件放进该文件夹mountfile,注意是本机静态编译好的可执行文件!!
zzh@ubuntu14:~/gem5$ sudo cp ~/code/TestGauss2/TestGauss2 mountfile/
2.挂载:
zzh@ubuntu14:~/gem5$ sudo mount -o,loop,offset=32256 fs-image/disks/linux-x86.img /mnt
3.显示一下/mnt,可以看到挂载好的操作系统
zzh@ubuntu14:~/gem5$ ls /mnt
bin dev home lib32 lost+found opt root sys usr
boot etc lib lib64 mnt proc sbin tmp var
4.将可执行的程序文件复制进挂载的系统
zzh@ubuntu14:~/gem5$ sudo cp mountfile/TestGauss2 /mnt
5.显示一下/mnt,可以看到已经在系统里了
zzh@ubuntu14:~/gem5$ ls /mnt
bin dev home lib32 lost+found opt root sys tmp var
boot etc lib lib64 mnt proc sbin TestGauss2 usr
6.在使用linux的image文件重新开启gem5之前,应该执行umount操作
zzh@ubuntu14:~/gem5$ sudo umount /mnt
7.然后再重新启动gem5的Full System【具体见上篇】
zzh@ubuntu14:~/gem5$ sudo build/X86/gem5.opt configs/example/fs.py
另一个终端:
zzh@ubuntu14:~/gem5/util/term$ sudo ./m5term 127.0.0.1 3456
8.这样就可以在系统里直接执行程序啦~~~
(none) / # ./TestGauss2