Chelsio网卡适配arm服务器,驱动编译和安装

服务器基本信息:长城服务器,arm64架构,OS Kylin 4.0.2。

安装内核头文件

一般的安装方法是 apt-get install kylin-headers-${uname -r},以保证头文件的版本正确。Kylin的开放公网源当中没有相应版本的内核头文件,提供的iso里有。

# 插入光盘

sudo mount /dev/sr0 /media/mymedia      # 挂载

sudo cd /media/mymedia/pool/main/k/kylin

sudo dpkg -i kylin-headers-4.4.58-20180615_4.4.58-20180615.kylin_all.deb

sudo dpkg -i kylin-headers-4.4.58-20180615-generic_4.4.58-20180615.kylin_arm64.deb

或者在apt源中配置iso然后直接用apt安装。

sudo vim /etc/apt/sources.list

deb file:///media/mymedia trusty main restricted

sudo apt update

sudo apt-get install kylin-headers-${uname -r}

安装好后的头文件路径是

/usr/src/kylin-headers-4.4.58-20180615-generic/

安装依赖包

为测试NIC、TOE,我们只需要安装以下包(版本可以更新)。

autoconf_2.69-9_all.deb

automake_1.14.1-2ubuntu1_all.deb

bison_3.0.4.dfsg-1build1_arm64.deb

flex_2.6.1-1_arm64.deb

编译驱动

在 Phytium 系统上编译,必须用 KDIR 指定匹配的内核头文件的路径,否则编译会失败 。

查看帮助信息

make help KDIR=/usr/src/kylin-headers-4.4.58-20180615-generic/

编译驱动- 安装到本机同时生成deb文件

make nic_install KDIR=/usr/src/kylin-headers-4.4.58-20180615-generic/  # 编译nic版本驱动

make toe_install KDIR=/usr/src/kylin-headers-4.4.58-20180615-generic/  # 编译toe版本的驱动

编译驱动 - 仅生成deb文件

make nic_deb KDIR=/usr/src/kylin-headers-4.4.58-20180615-generic/

make toe_deb KDIR=/usr/src/kylin-headers-4.4.58-20180615-generic/

编译过程中,看到 Patching with 4.4 patch,说明内核和头文件正确匹配。

编译后,在驱动目录下 debrules/debinaries 下生成 deb 的安装包。 

复制 deb 包到其他待安装的服务器,安装驱动包 

dpkg --force overwrite -i *.deb    # 如果服务器有正在使用的驱动版本,全量安装会报冲突,可以依次执行  dpgk --force overwrite -i xxxx.deb 来安装

加载驱动并开始测试

modinfo cxgb4|head      # 查看驱动信息

rmmod cxgb4             # 卸载驱动

modprobe cxgb4          # 加载NIC驱动

modprobe t4_tom         # 加载toe驱动

驱动加载之后,就可以识别Chelsio网卡。但是网口状态没法自动UP,还需要手动将网口状态置为UP,配置IP之后进行测试。

sudo ip link set dev enp4s0f4 up

卸载驱动

卸载cgxb4比较方便,

rmmod cxgb4

卸载toe需要重启服务器;如果想要避免重启,则步骤比较繁琐,

# 步骤一

[root@host~]# modprobe t4_tom unsupported_allow_unload=1

# 步骤二

[root@host~]# cat /sys/module/t4_tom/refcnt

# 如果reference是0,驱动可以直接被unload,调到步骤3

# 如果reference非0,需要load一个COP policy,先disable offload。

# a. 创建一个policy文件

[root@host~]# cat policy_file all => !offload

# b. Compile and apply the output policy file

[root@host~]# cop –o no-offload.cop policy_file [root@host~]# cxgbtool ethX policy no-offload.cop

# 步骤三 unload 驱动

[root@host~]# rmmod t4_tom

[root@host~]# rmmod toecore

[root@host~]# rmmod cxgb4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值