# p40显卡装机速通
# 安装centos系统
- 参考地址: [老毛桃WinPE以ISO镜像模式安装CentOS7 (opens new window)](https://www.cnblogs.com/sun51586/p/10497538.html)
# 简要步骤
- 装机时,最好关闭 bios的
above 4g
选项,否则无法打开windows pe
, 但是这个不影响linusx的安装 - 不要进windowspe的图形界面,不要进windowspe的图形界面,不要进windowspe的图形界面
- 使用u盘引导时的:运行自定义镜像,貌似ISO镜像都要以这种方式运行,在windowsPE中,使用一键装机时,选择ISO,选中ISO文件后,会报:不是有效的映像文件
- 进入引导程序后,在install centos,界面,先不要进,使用 tab回车,修改命令参数至:
vmlinuz initrd=initrd.img linux dd quiet
,其目的是:找出u盘在本次挂载的设备名称; - 这个设备名有这样的特点:vflat类型,有label属性,无UUID,总之就是与其他盘符有明显区别,不一定与参考文档完全一致,比如我本次为sdc1;如图todo
- 再次重启,进入到
install centos
的位置,tab回车
,修改命令至:vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdc1:/LMT/
,注意,这两个地址都要根据实际情况修改,一个是设备名称,一个是设备中的映像地址 - 之后根据提示一路安装即可,注意看英文说明;
# 配置网络
- 关闭防火墙:
systemctl stop firewalld
,systemctl disable firewalld
,(可选,内网环境,方便后续的实践) nmcli d
查看网络接口名称,可以查看到有线网接口名称,比如我本机是ens6n0
,查看到给接口状态为disconnected
vi /etc/sysconfig/network-scripts/ifcfg-ens6n0
,根据实际情况新增网关地址192.168.10.1
,将ONBOOT
改为yes
, 其他默认即可。(默认用的是dhcp);systemctl start network
,再使用nmcli d
,可查看此时已经为connected
状态,同时使用ip addr
已经具有局域网ip;- 如果是centos8,使用
nmcli connection reload
重启网络
# 配置阿里云yum源
mv /etc/yum.repos.d /etc/yum.repos.d.bak
mkdir /etc/yum.repos.d
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum install vim net-tools -y
#centos8的时候用
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
yum clean all
yum makecache
yum install vim net-tools -y
# 挂载磁盘
# 查看当前是否有新磁盘
lsblk
# 创建分区(可选 重装系统的时候已经有分区了就不用再分区)
fdisk /dev/sdb
# 对于刚建立的分区进行格式化(已分区的不用格式化)
mkfs.ext4 /dev/sdb1
# 新建挂载点
mkdir /hd01
# 挂载磁盘
mount /dev/sdb1 /hd01
# 配置开机自动挂载
vim /etc/fstab
#添加内容
/dev/sdb1 /hd01 ext4 defaults 0 0
# centos7安装nvidia驱动
# 硬件配置
- 首先,开启 bios的above 4g后再插入显卡,路径
advanced, pci-system-properties,above-4g
yum install -y pciutils
,lspci | grep -i nvidia
命令,能够看到P40
的显卡信息;
# 配置驱动
- 参考文件: Centos7安装NVIDIA GPU显卡驱动 (opens new window) -- 主要
- 参考文件: 第三篇-Tesla P40+CentOS7+CUDA 11.7 部署实践 (opens new window)
#安装相关依赖
yum install -y gcc gcc-c++ pciutils kernel-devel-$(uname -r) kernel-headers-$(uname -r)
# 屏蔽nouveau显卡驱动
lsmod | grep nouveau
# 新增文件,并配置
vim /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
dracut --force
reboot
# 查看此时的输出,如果没有结果,表示禁用成功
lsmod | grep nouveau
# 关键配置及坑
# 一定要拷贝原来的img,避免走到重装系统的地步,标志一定要特殊一点
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak20250315.original
# 重建镜像
dracut /opt/initramfs-$(uname -r).img $(uname -r)
# 重点,一定要将镜像复制到 制定目录才可重启,否则无法启动系统。 尤其时远程操作物理机的情况下,此时无解
cp /opt/initramfs-3.10.0-1160.el7.x86_64.img /boot/initramfs-3.10.0-1160.el7.x86_64.img
# 修改运行级别为文本模式
systemctl set-default multi-user.target
# 此时再进行重启
reboot
# 安装nvidia驱动
- 装驱动
# 上传 或下载驱动
./NVIDIA-Linux-x86_64-515.105.01.run
# 一路ok下去
nvidia-smi
# 提示 no devices were found. 与博文不符
# 大坑
所有步骤均与博文对的上,参考了n多教程;超级大坑
- 我当前的是华南金牌ad3大板,有两个显卡插槽;
- 以靠近cpu位置由远及近命名,称为
pci1,pci2
- 由于从开放式机箱改为了封闭式机箱, 只有pci1有位置能插入大显卡,pci2插入的亮机卡,同样的步骤,使用nvidia-smi一直显示no devices were found,参考了很多教程无果;
- 考虑到之前开放式机箱时,使用的pci2,于是暴力将机箱底部挖了个洞,将p40插入在pci2槽,重装驱动,再次使用
nvidia-smi
,发现已经可以使用。 - 结论:p40需要放置在特定卡槽可能与bios的设置有关,卡槽位置:
03:00.0
可用,04:00.0
时不可用;
# centos8安装驱动
- centos8参考文件:CentOS8:英伟达显卡驱动与CUDA安装 (opens new window)
# 在这个网址找到对应版本的devel, https://vault.centos.org/8.2.2004/BaseOS/x86_64/os/Packages/
rpm -Uvh --replacefiles --force --nodeps *.rpm
yum -y install gcc
# 安装ollama
- 缺少依赖参考: [CentOS 7.9 运行某些软件时缺少GLIBCXX_3.4.21、GLIBC_2.28解决办法 (opens new window)](https://www.cnblogs.com/wuchitao/p/18365607)