Red Hat 6安装Oracle Linux内核头文件

范侯林
2023-12-01

简介

Oracle Linux 是一个高性能且安全的操作环境,除提供操作系统外,还提供虚拟化、管理和云原生计算等工具以及易于管理的统一支持服务。Oracle Linux 提供 100% 与 Red Hat Enterprise Linux 和 CentOS Linux 应用二进制兼容的替代方案,在混合云和多云环境中都受支持。

步骤

Unbreakable Enterprise Kernel (UEK),UEK是OracleLinux发布的内核版本,对内核增加了更多优化。
基于Linux主线版本3.8.13。

小红帽系统:

[yl@localhost ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[yl@localhost ~]$ uname -r
2.6.32-431.el6.x86_64

2.6.32不支持docker。

增加 3.8.13-16.2.1.el6uek.x86_64内核头文件。

下载待安装的Oracle Linux 6相关的rpm包:https://public-yum.oracle.com/repo/OracleLinux/OL6/UEKR3/latest/x86_64/index.html

如下所示:

kernel-uek-3.8.13-16.2.1.el6uek.x86_64.rpm
kernel-uek-devel-3.8.13-16.2.1.el6uek.x86_64.rpm
kernel-uek-firmware-3.8.13-16.2.1.el6uek.noarch.rpm
libdtrace-ctf-0.4.0-1.x86_64.rpm

升级内核版本:

[root@localhost]# rpm -ivh *.rpm --nodeps --force
warning: kernel-uek-3.8.13-16.2.1.el6uek.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                ########################################### [100%]
   1:libdtrace-ctf          ########################################### [ 25%]
   2:kernel-uek-firmware    ########################################### [ 50%]
   3:kernel-uek             ########################################### [ 75%]
   4:kernel-uek-devel       ########################################### [100%]
[root@localhost ~]# ls /lib/modules/
2.6.32-431.el6.x86_64/             3.8.13-16.2.1.el6uek.x86_64/   

编写内核模块的Makefile:
由于当前的内核版本时2.6.32-431.el6.x86_64,在需要 3.8.13-16.2.1.el6uek.x86_64版本的模块时,不能用$(shell uname -r)

all:
	make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
	make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

修改为:

all:
        make -C /lib/modules/3.8.13-16.2.1.el6uek.x86_64/build/  M=$(PWD) modules
clean:
        make -C /lib/modules/3.8.13-16.2.1.el6uek.x86_64/build/  M=$(PWD) clean

如果没有安装 libdtrace-ctf-0.4.0-1.x86_64.rpm 包,会报如下错误:

 CTF
 scripts/dwarf2ctf/dwarf2ctf: error while loading shared libraries: libdtrace-ctf.so.1: cannot open shared object file: No such file or directory

参考资料

https://public-yum.oracle.com/
https://www.oracle.com/linux/
https://cn.soulmachine.me/2014-01-31-install-uek-for-centos/

 类似资料: