CentOS7

kernel-3.10.0-693.el7.centos.toa.x86_64.rpm
网盘链接:https://pan.baidu.com/s/1cXB_3qPOnTiIGijFlQ_uzw 将文件上传到服务器。
直接rpm安装会报错,如下:

[root@localhost CentOS 7.2 64]# rpm -ivh kernel-3.10.0-693.el7.centos.toa.x86_64.rpm 
error: Failed dependencies:
	dracut >= 033-502 is needed by kernel-3.10.0-693.el7.centos.toa.x86_64
	linux-firmware >= 20170606-55 is needed by kernel-3.10.0-693.el7.centos.toa.x86_64
	xfsprogs < 4.3.0 conflicts with kernel-3.10.0-693.el7.centos.toa.x86_64
	kmod < 20-9 conflicts with kernel-3.10.0-693.el7.centos.toa.x86_64
	kexec-tools < 2.0.14-3 conflicts with kernel-3.10.0-693.el7.centos.toa.x86_64
[root@localhost CentOS 7.2 64]# 

需要先yum安装一些服务,然后再rpm安装。

yum -y install dracut linux-firmware xfsprogs kmod kexec-tools 
rpm -ivh kernel-3.10.0-693.el7.centos.toa.x86_64.rpm

重启后通过uname -r 查看版本,从3.10.0-327.el7.x86_64变成了3.10.0-693.el7.centos.toa.x86_64

执行lsmod | grep toa 检查 toa 模块是否加载,没有加载的话,可通过 modprobe toa命令开启。
正常加载toa模块,回显如下:

[root@localhost ~]# lsmod | grep toa
toa                    12745  0 
[root@localhost ~]# 

可以实行开机自动加载toa模块

vim /etc/rc.d/rc.local
modprobe toa

CentOS6

kernel-2.6.32-220.23.2.ali_github.el6.x86_64.rpm 网盘链接:https://pan.baidu.com/s/12vscGK7xR19HSOjb-StcNw 不管是虚拟机或者是物理机,都有一下报错

  CHK     include/linux/compile.h
  UPD     include/linux/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
net/built-in.o: In function `inet6_getname_toa':
/home/pukong/rpms/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/net/toa/toa.c:156: undefined reference to `inet6_getname'
net/built-in.o: In function `tcp_v6_syn_recv_sock_toa':
/home/pukong/rpms/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/net/toa/toa.c:221: undefined reference to `tcp_v6_syn_recv_sock'
net/built-in.o: In function `hook_toa_functions':
/home/pukong/rpms/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/net/toa/toa.c:258: undefined reference to `inet6_stream_ops'
/home/pukong/rpms/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/net/toa/toa.c:259: undefined reference to `inet6_stream_ops'
/home/pukong/rpms/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/net/toa/toa.c:259: undefined reference to `inet6_getname'
/home/pukong/rpms/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/net/toa/toa.c:272: undefined reference to `ipv6_specific'
/home/pukong/rpms/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/net/toa/toa.c:273: undefined reference to `ipv6_specific'
/home/pukong/rpms/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/net/toa/toa.c:273: undefined reference to `tcp_v6_syn_recv_sock'
net/built-in.o: In function `unhook_toa_functions':
/home/pukong/rpms/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/net/toa/toa.c:297: undefined reference to `inet6_stream_ops'
/home/pukong/rpms/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/net/toa/toa.c:297: undefined reference to `inet6_getname'
/home/pukong/rpms/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/net/toa/toa.c:309: undefined reference to `ipv6_specific'
/home/pukong/rpms/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/net/toa/toa.c:309: undefined reference to `tcp_v6_syn_recv_sock'
make: *** [.tmp_vmlinux1] Error 1
[root@lvs-server linux-2.6.32-220.23.1.el6.x86_64]# 

rpm -ivh --oldpackage 'kernel-2.6.32-220.23.1.el6.toa.x86_64.rpm'
成功过
注:上述命令只在vm虚拟机上测试成功,在hyper-v和物理机上均失败,hyper-v是在编译成功之后,出现网卡丢失的现象,物理机是无法启动centos6.5。

2018年8月29日:经过测试,在hyper-v中,CentOS6.x的系统,均存在编译完内核后,网卡丢失的问题。

微信公众号,随便发点有意思的东西