服务器意外断电,nvidia-smi驱动掉了。
因为上次微软语音sdk升级 更新了gcc版本,dkms不能直接装nvidia的驱动,要求gcc4.8.5
所以安装gcc 4.5.8
存在高版本GCC,降级安装需要修改源码
更改的代码: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=ec1cc0263f156f70693a62cf17b254a0029f4852
../configure --prefix=/usr/local/gcc4.8.5 --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j32
make install
安装完后
export CC=/usr/bin/gcc-4.8.5
cd /usr/src
ls
dkms install -m nvidia -v 410.104
继续报错 gcc版本过低。又改回7.5.0
继续报错
其原因就是Linux 5.14后把task_struct的state改成__state了。貌似没有优雅的改法,
https://gist.github.com/joanbm/144a965c36fc1dc0d1f1b9be3438a368
改了/usr/src/nvidia-470.57.02/common/inc/nv-time.h等,就可以正常安装,正常显示nvidia-smi了。