sas 分析家模块 安装_ThinkSystem SR650安装ubuntu14.04.4后再升级kernel的处理方法

本文详细介绍了在ThinkSystem SR650上,Ubuntu 14.04.4系统升级kernel至4.4.0-116版本后,如何处理initrd.img以确保阵列卡驱动的更新,从而保证系统正常启动。步骤包括升级kernel、安装RAID卡驱动、更新initrd.img中的驱动信息,以及重启后的验证。提供相关驱动的百度网盘链接。
摘要由CSDN通过智能技术生成

dd05ac0cae694b05eb653cae64860af4.png

本文基于ThinkSystem SR650编写

针对ubuntu 14 以上的版本通用


开篇之前我们需要介绍一些关于Linux kernel的相关知识

查看Linux系统文件,可以在grub配置信息中(一般为menu.lst)看到以下内容:

root(hd0,0)第一个硬盘第一个分区
kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/  告诉kernel /boot下的vmlinuz是内核
initrd /initrd-2.6.18-194.el5.img    #将与kernel相关的驱动放在initrd下

文中提到的initrd-kernel.img,在Linux中称为RAM Disk,它是一个临时文件系统,在启动阶段被Linux内核调用,initrd主要用于当“根”文件系统被挂载之前,进行准备工作。

Linux内核 与 initrd/initramfs 必须存储在 bootloader 可以访问的位置,通常是在:

  • root 文件系统内

  • 一个小的ext4或FAT文件系统的分区(通常挂载到 /boot)

  • TFTP server内

bootloader 会将内核与 initrd 加载到存储器中并将 initrd 的地址传给内核。initrd会被挂载当成 initial root file system。

现在的 Linux 发行版会创建定制只包含必要组件的 initrd 映像档,例如只包含 IDE、SCSI、SATA、SAS 以及文件系统核心模块。

initrd.img中包含了很多系统启动的关键驱动,比如本文中的阵列卡驱动,若RAM Disk中无相关驱动,加载完成之后,无法识别到硬盘,系统自然无法正常启动;

在升级kernel的过程中,通常我们kernel版本升级了,但initrd.img中很多关键驱动信息,并没有得到及时更新;

2dbb6b0707c95fdfaf4705a11c80ef10.png

Ubuntu 14.04.4升级了kernel之后,如何处理才能使系统正常启动?

PS:驱动编译及系统安装方法请参考我们往期文章,大致差异不大,只是版本不一样而已;

本文相关驱动信息在如下网盘:

kernel:4.4.0-116版本:

链接:

https://pan.baidu.com/s/1tMdWOeyHGx8IKeeGtEhchg

提取码:g4cf

ubuntu 14.04.4版本:

链接:

https://pan.baidu.com/s/10Hs1CFYYrk6WhHdm6MOuFg

提取码:lxuo

一、安装好基础操作系统,以下步骤只描述升级kernel及后续处理方法;

二、进入ubuntu 14.04.4操作系统,并将驱动、kernel安装包等拷贝进OS,拷贝方式,可以通过iso的方式挂载后拷贝,如下图:

f3e6386a65218a0e95c610af5da4b6df.png

在操作系统中挂载目录

20e5e7be9714a1df11eb320f8dc65c85.png

查看/boot目录下initrd版本:为4.2.0-27,然后安装新的kernel;

1c4e22f1998f4d3266b85cde05167184.png

kernel升级完成后,我们可以发现在boot目录下多了一个initrd.img-4.4.0-116-generic文件;

dd54acb72479f9fa5b136ab4e0b86001.png

此时kernel已经升级完成了,但是我们并没有升级RAID卡驱动,编译好的RAID卡驱动deb包我们可以直接安装升级:

0ca2ad488b1ca21ce81dd5e4d62958f9.png

通过查找命令寻找megaraid_sas.ko在哪个目录

find / |grep "megaraid_sas.ko"

c966bd6794de4443193f2a6cbe066131.png

我们可以查看到/lib/modules目录下分别有两个kernel均含有megaraid_sas.ko文件,带new尾缀的文件,我们可以通过命令行rename为ko文件,这个是因为我们编译驱动时生产的驱动模块,名字跟系统使用的不统一,更改完成后,我们通过modinfo命令查看每个megaraid_sas.ko文件的版本;

modinfo /lib/modules/4.4.0-116-generic/kernel/drivers/scsi/megaraid/megaraid_sas.ko#版本比较旧此驱动无法驱动新的RAID卡

9e05abe098de59cfbdd909f2d8d9fdcf.png

mv /lib/modules/4.4.0-116-generic/weak-updates/megaraid_sas/megaraid_sas.ko.new /lib/modules/4.4.0-116-generic/weak-updates/megaraid_sas/megaraid_sas.ko#重命名为.ko文件

9209013172a2286699e6200cdc6e9b09.png

modinfo /lib/modules/4.4.0-116-generic/weak-updates/megaraid_sas/megaraid_sas.ko#查看此目录下版本为最新版本

42e9c49ef4a59c7dd3867ea3b616a4d7.png

确认RAID卡驱动为最新,即可将该驱动拷贝到以下目录下

cp /lib/modules /4.4.0-116-generic/wek-updates/megaraid_sas/megaraid_sas.ko  /lib/modules/4.4.0-116-generaic/kernel/drivers/scsi/megaraid/megaraid_sas.ko#可以直接覆盖原文件


拷贝完成之后,我们需要更新initrd.img中的驱动信息,否则系统仍然无法正常启动;

cd /bootmkinitramfs -o /boot/initrd.img-4.4.0-116-generic 4.4.0-116-generic#Note:4.4.0-116-generic是需要创建initramfs的kernel版本号,#mkinitramfs命令会将/lib/modules/${kernel_version}/目录下的一些启动必须的驱动模块加入到initrd.img中;我们通过安装驱动deb包的方式,系统只会更新当前目录的驱动模块,并不会更新升级后kernel的ramdisk;

a4ddc65f17448993c667e35164217663.png

重启后确认kernel版本正确

90c98d2c84b4fa962a52a4909f104232.png

以上为ThinkSystem安装 Ubuntu后升级kernel的处理方法,希望对大家有用;


若有疑问可直接在公众号中留言(留下您的邮箱),我们接到反馈,会及时回复,感谢您的阅读,如果您喜欢我们的文章,还请关注并帮忙宣传;

e9de25783fc063a89eaaf9ad4de239a9.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值