项目场景:
重装Ubuntu20.04系统,配置gem5_v20.0.0.3
问题描述
我试图用ubuntu写CUDA程序,于是开始安装NVIDIA驱动,然后再一次成功地把ubuntu搞崩了!
“小事重启,大事重装”
!!!版本声明!!!
gem5_v20.0.0.3不能适配ubuntu21.04,因此只能装ubuntu20.04
ubuntu20.04安装后有线与无线网连接有问题、gem5_v20.0.0.3跟着官网教程并不能成功编译运行…等一系列问题
解决方案:
Ubuntu系统部分
建议去清华镜像link下载,然后用rufus制作安装U盘(下载rufus链接link)
安装系统:插入u盘后进入bios,关闭安全启动,并设置启动顺序为u盘启动优先,然后退出bios,电脑会自动重启进入u盘启动,无脑安装ubuntu即可(推荐最小安装)
网络问题:ubuntu20.04可能存在有线网络永远提示正在连接、没有wifi连接选项的问题,这是因为linux内核太旧了
解决网络问题:使用手机USB联网,换源为清华源,然后进行一次软件更新,结束后会提示重启电脑,重启后会自动将内核升级为5.15.0-105-generic
gem5部分
https://www.gem5.org/documentation/general_docs/building
这是gem5官网中给出的Building gem5的教程,大致过程就是安装依赖、获取gem5源码、编译运行测试
注意!!!官网中的配置依赖更新了!并不适配gem5_v20.0.0.3!
\\ 强烈推荐使用我给出的安装依赖命令
sudo apt install build-essential git m4 scons zlib1g zlib1g-dev libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev python-dev python-six python libboost-all-dev pkg-config
可能出现的问题:
1. 安装依赖时报错“Ubuntu无法定位软件包”
如果直接按教程sudo apt install 会有这个报错
可以通过联网执行sudo apt-get update,对资源进行更新,然后再按教程下载就可以了
2. python版本问题
按照我给出的命令去配置依赖,不会遇到此问题!
gem5_v20.0.0.3需要python2.7,虽然用python3.8能够成功编译,但是运行时会报错!
因此我们配置python2.7
sudo apt-get install python2.7
sudo update-alternatives --install /usr/bin/python python /usr/biin/python2.7 2
sudo update-alternatives --install /usr/bin/python python /usr/biin/python3.8 3
sudo update-alternatives --config python
神奇的事情出现了,将ubuntu默认python改为python2.7之后编译也不行,运行还是报错…
经过多次换python版本编译后发现,还是得在python3.8环境下编译运行,编译命令如下
python3 `which scons` build/X86/gem5.opt -j 4 PROTOCOL=Garnet_standalone
亲测这样编译有效,能够运行garnet2.0跑NoC设计
只在第一次配置gem5时需要指定python3编译,后面的实验中使用正常编译命令
scons build/X86/gem5.opt -j 4 PROTOCOL=Garnet_standalone
!!!完结撒花!!!