关于SLES11SP3系统不支持5系列EC2的调查

1、背景

目前应用系统在使用的操作系统是SuSE Enterprise Linux Server 11 SP3(以下简称SLES11SP3)。

经确认,SLES11操作系统推出时间是2009年发布,2013年发布SP3,最后的版本是2015年发布的 SP4,后续厂家没有继续发布更新。

经过CloudEndure迁移到AWS EC2后,可以在T2系列、M4/C4/R4等4系列EC2启动,但是在5系列EC2所需要的ENA网卡驱动的安装过程,提示找不到kconfig.h文件,无法编译内核驱动。

2、调查

(1)安装ENA驱动步骤

根据如下的AWS文档:

https://aws.amazon.com/premiumsupport/knowledge-center/install-ena-driver-rhel-ec2/

编译EC2的ENA驱动,需要kernel-default-devel的库文件编译,这个编译过程要求kconfig.h文件。

(2)查询文件所在版本

查询Linux内核社区,这个文件在3.1RC版本2011年第一次被提交。如下截图。

由此,下载3.1版本,解压缩,从中确认找到了kconfig.h。

https://cdn.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.gz

再次下载3.0版本内核,解压缩,无法找到kconfig.h文件。

https://cdn.kernel.org/pub/linux/kernel/v3.0/linux-3.0.101.tar.gz

(3)查询SLES11系统可以升级的最高版本

经查询SuSE官网,SLES11的最高版本SP4可以达到的内核版本也仅为3.0系列,不支持3.1系列,也就是无法提供kconfig.h。如下截图是SuSE官网版本说明。

3、结论

由于SLES11这系统版本过老,SuSE官方不支持3.0以上版本内核,所以无法使用5系列EC2,只能使用4系列。建议上AWS后使用m4系列实例运行。