背景:用户采购15G服务器,采用的阵列卡是H755,需要安装Centos7.6,同时需要升级内核到4.19.12版本,升级版本后出现无法启动的情况
处理方式:需要使用虚拟机安装centos7.6 同时升级内核到4.19.12版本,升级过程非常简单,下面包括截图等操作如下:
可以看到当前的内核升级包kernel-ml-4.19.12-1.el7.elrepo.x86_64.rpm
安装开发包工具
#yum install kernel-ml-4.19.12-1.el7.elrepo.x86_64.rpm --安装升级包
#grub2-set-default 0
需要注意的是 新创建启动
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg --现在一般都是UEFI启动方式
重启后,进入新的内核系统
在新的内核环境下尝试进行编译megaraid_sas的源码,编译出现错误,无法继续
缺少相应的文件夹,通常该情况是缺少安装kernel-devel包引起,需要在原来的内核环境下安装新的kernel-devel包,如果在本内核下是无法安装的
在原来的旧的内核下进行安装kernel-devel
安装好后,就可以重复之前的编译Megaraid_sas的源码包,生成当前相应的megaraid_sas.ko 驱动文件
查看当前内核下,编译新的megaraid_sas.ko文件信息可以看到版本和内核信息
在当前旧的内核下进行如下操作
#cp /root/megaraid_sas-07.721.02.00/megaraid_sas.ko /lib/modules/4.19.12-1.el7.elrepo.x86_64/kernel/drivers/scsi/megaraid/
#dracut --force /boot/initramfs-4.19.12-1.el7.elrepo.x86_64.img 4.19.12-1.el7.elrepo.x86_64
重启后查看新的内核下对应的megaraid_sas 内核版本是否生效,发现已经生效
上面是在虚拟机中尝试操作,如果是在物理机中尝试操作,可能会出现如下情况,
虽然也可以进入系统中可以通过ssh的方式进行连接,但建议是在/etc/default/grup中CMDLINE_LINUX添加 mgag200.modeset=0
操作后重新进行一次
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
可以正常的如下画面