标签 内核 下的文章

目前的 Linux 内核的开发速度是前所未有的,大概每2到3个月就会有一个主要的版本发布。每个发布都带来几个的新的功能和改进,可以让很多人的处理体验更快、更有效率、或者其它的方面更好。

问题是,你不能在这些内核发布的时候就用它们,你要等到你的发行版带来新内核的发布。我们先前讲到定期更新内核的好处,所以你不必等到那时。让我们来告诉你该怎么做。

免责声明: 我们先前的一些文章已经提到过,升级内核有(很小)的风险可能会破坏你系统。如果发生这种情况,通常可以通过使用旧内核来使系统保持工作,但是有时还是不行。因此我们对系统的任何损坏都不负责,你得自己承担风险!

预备工作

要更新你的内核,你首先要确定你使用的是32位还是64位的系统。打开终端并运行:

uname -a

检查一下输出的是 x86\_64 还是 i686。如果是 x86\_64,你就运行64位的版本,否则就运行32位的版本。千万记住这个,这很重要。

接下来,访问官方的 Linux 内核网站,它会告诉你目前稳定内核的版本。愿意的话,你可以尝试下发布预选版(RC),但是这比稳定版少了很多测试。除非你确定想要需要发布预选版,否则就用稳定内核。

Ubuntu 指导

对 Ubuntu 及其衍生版的用户而言升级内核非常简单,这要感谢 Ubuntu 主线内核 PPA。虽然,官方把它叫做 PPA,但是你不能像其他 PPA 一样将它添加到你软件源列表中,并指望它自动升级你的内核。实际上,它只是一个简单的网页,你应该浏览并下载到你想要的内核。

现在,访问这个内核 PPA 网页,并滚到底部。列表的最下面会含有最新发布的预选版本(你可以在名字中看到“rc”字样),但是这上面就可以看到最新的稳定版(说的更清楚些,本文写作时最新的稳定版是4.1.2。LCTT 译注:这里虽然 4.1.2 是当时的稳定版,但是由于尚未进入 Ubuntu 发行版中,所以文件夹名称为“-unstable”)。点击文件夹名称,你会看到几个选择。你需要下载 3 个文件并保存到它们自己的文件夹中(如果你喜欢的话可以放在下载文件夹中),以便它们与其它文件相隔离:

  1. 针对架构的含“generic”(通用)的头文件(我这里是64位,即“amd64”)
  2. 放在列表中间,在文件名末尾有“all”的头文件
  3. 针对架构的含“generic”内核文件(再说一次,我会用“amd64”,但是你如果用32位的,你需要使用“i686”)

你还可以在下面看到含有“lowlatency”(低延时)的文件。但最好忽略它们。这些文件相对不稳定,并且只为那些通用文件不能满足像音频录制这类任务想要低延迟的人准备的。再说一次,首选通用版,除非你有特定的任务需求不能很好地满足。一般的游戏和网络浏览不是使用低延时版的借口。

你把它们放在各自的文件夹下,对么?现在打开终端,使用cd命令切换到新创建的文件夹下,如

cd /home/user/Downloads/Kernel

接着运行:

sudo dpkg -i *.deb

这个命令会标记文件夹中所有的“.deb”文件为“待安装”,接着执行安装。这是推荐的安装方法,因为不可以很简单地选择一个文件安装,它总会报出依赖问题。这这样一起安装就可以避免这个问题。如果你不清楚cdsudo是什么。快速地看一下 Linux 基本命令这篇文章。

安装完成后,重启你的系统,这时应该就会运行刚安装的内核了!你可以在命令行中使用uname -a来检查输出。

Fedora 指导

如果你使用的是 Fedora 或者它的衍生版,过程跟 Ubuntu 很类似。不同的是文件获取的位置不同,安装的命令也不同。

查看 最新 Fedora 内核构建列表。选取列表中最新的稳定版并翻页到下面选择 i686 或者 x86\_64 版。这取决于你的系统架构。这时你需要下载下面这些文件并保存到它们对应的目录下(比如“Kernel”到下载目录下):

  • kernel
  • kernel-core
  • kernel-headers
  • kernel-modules
  • kernel-modules-extra
  • kernel-tools
  • perf 和 python-perf (可选)

如果你的系统是 i686(32位)同时你有 4GB 或者更大的内存,你需要下载所有这些文件的 PAE 版本。PAE 是用于32位系统上的地址扩展技术,它允许你使用超过 3GB 的内存。

现在使用cd命令进入文件夹,像这样

cd /home/user/Downloads/Kernel

接着运行下面的命令来安装所有的文件

yum --nogpgcheck localinstall *.rpm

最后重启你的系统,这样你就可以运行新的内核了!

使用 Rawhide

另外一个方案是,Fedora 用户也可以切换到 Rawhide,它会自动更新所有的包到最新版本,包括内核。然而,Rawhide 经常会破坏系统(尤其是在早期的开发阶段中),它不应该在你日常使用的系统中用。

Arch 指导

Arch 用户应该总是使用的是最新和最棒的稳定版(或者相当接近的版本)。如果你想要更接近最新发布的稳定版,你可以启用测试库提前2到3周获取到主要的更新。

要这么做,用你喜欢的编辑器sudo权限打开下面的文件

/etc/pacman.conf

接着取消注释带有 testing 的三行(删除行前面的#号)。如果你启用了 multilib 仓库,就把 multilib-testing 也做相同的事情。如果想要了解更多参考这个 Arch 的 wiki 界面

升级内核并不简单(有意这么做的),但是这会给你带来很多好处。只要你的新内核不会破坏任何东西,你可以享受它带来的性能提升,更好的效率,更多的硬件支持和潜在的新特性。尤其是你正在使用相对较新的硬件时,升级内核可以帮助到你。

怎么升级内核这篇文章帮助到你了么?你认为你所喜欢的发行版对内核的发布策略应该是怎样的?。在评论栏让我们知道!


via: http://www.makeuseof.com/tag/update-linux-kernel-improved-system-performance/

作者:Danny Stieben 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

一个新的Linux内核已经发布了 - 全世界为之心跳(我们想把它说的诗意一些)。

Linus Torvalds(除了他不会有谁了)在Linux邮件列表(当然不会在别的地方)中宣布,在大概两个月后迎来了第一个4.x系列的Linux内核的发布

像每次发布前那样,Linux 4.1带来了很多的改变。它们包括了硬件兼容性、电源管理、文件系统性能、以及你从没听说过的处理器的技术修复。

Linux 4.1 已经进入将在10月发布的 Ubuntu 15.10 。

Linux 4.1 有哪些新东西

Tux got mail

Tux 收到了邮件

这个标题只是说说而已,我们不是简单地将发布公告贴到这里。

我们会从(大量、冗长以及那些不明觉厉的的技术的)更改日志去挑选一些对桌面用户而言,不见得夸张但或许有用的亮点。

电源管理

你可以在Linux 4.1中找到的面向用户的一大特性是对 Intel 的 Cherry Trail 和 Bay Trai 芯片、Soc及Intel计算棒等设备的性能及能效的提升。

传闻建议是Linux 4.1给出了新的Intel硬件组合,和更长电池寿命。这么多的进步自然不可能针对所有芯片,它只对特定芯片和系统(和高端的)有用,但仍旧是一个令人兴奋的消息。

Linux 4.1 亮点包括:

  • ext4 有了文件系统层面的加密(感谢Google)
  • 罗技游戏手柄lg4ff驱动改进了‘力反馈’
  • 东芝笔记本驱动进行了USB睡眠充电和背光改进
  • Xbox One控制器支持Rumble
  • Wacom平板驱动改进了电源报告
  • 各种针对arm和x86设备电源管理改进
  • Samsung Exynos 3250 电源管理改进
  • 支持Bamboo平板
  • 联想OneLink Pro Dock获得USB支持
  • 支持Realtek 8723A、 8723B、 8761A、 8821 Wi-Fi网卡

Ubuntu中安装Linux 4.1

虽然这次发布的内核被标记为稳定,但是Ubuntu用户并不需要迫切地安装它。

但如果你等不及了并且技术足够熟练,你可以从Canonical的主干内核归档中下载合适的软件包来安装Linux 4.1(或者冒着风险使用第三方PPA)。

10月发布的Ubuntu 15.10 Wily Werewolf将会基于Ubuntu Kernel 4.1.x(Ubuntu内核是基于Linux内核加上Ubuntu没被上流接受的独有补丁)。


via: http://www.omgubuntu.co.uk/2015/06/linux-4-1-kernel-new-features

作者:Joey-Elijah Sneddon 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0。代号为‘Hurr durr I'm a sheep’的Linux内核4.0是目前为止最新的主干内核。它是稳定版3.19.4之后发布的内核。4月12日是所有的开源运动爱好者的大日子,Linux Torvalds宣布了Linux内核4.0的发布,它现在就已经可用了。由于包括了一些很棒的功能,例如无重启补丁(实时补丁),新的升级驱动,最新的硬件支持以及很多有趣的功能都有新的版本,它原本被期望是一次重要版本。但是实际上内核4.0并不认为是期望中的重要版本,Linus 表示期望4.1会是一个更重要的版本。实时补丁功能已经集成到了SUSE企业版Linux操作系统上。你可以在发布公告上查看关于这次发布的更多详细内容。

警告: 安装新的内核可能会导致你的系统不可用或不稳定。如果你仍然使用以下命令继续安装,请确保备份所有重要数据到外部硬盘。

在Ubuntu 15.04上安装Linux内核4.0

如果你正在使用Linux的发行版Ubuntu 15.04,你可以直接通过Ubuntu内核网站安装。在你的Ubuntu15.04上安装最新的Linux内核4.0,你需要在shell或终端中在root访问权限下运行以下命令。

在 64位 Ubuntu 15.04

$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-vivid/linux-image-4.0.0-040000-generic_4.0.0-040000.201504121935_amd64.deb

$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-vivid/linux-headers-4.0.0-040000-generic_4.0.0-040000.201504121935_amd64.deb

$ sudo dpkg -i linux-headers-4.0.0*.deb linux-image-4.0.0*.deb

在 32位 Ubuntu 15.04

$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-vivid/linux-image-4.0.0-040000-generic_4.0.0-040000.201504121935_i386.deb

$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-vivid/linux-headers-4.0.0-040000-generic_4.0.0-040000.201504121935_i386.deb

$ sudo dpkg -i linux-headers-4.0.0*.deb linux-image-4.0.0*.deb

在CentOS 7上安装Linux内核4.0

我们可以用两种简单的方式在CentOS 7上安装Linux内核4.0。

  1. 从Elrepo软件仓库安装
  2. 从源代码编译安装

我们首先用ElRepo安装,这是最简单的方式:

使用 Elrepo 安装

1. 下载和安装ELRepo

我们首先下载ELRepo的GPG密钥并安装relrepo-release安装包。因为我们用的是CentOS 7,我们使用以下命令安装elrepo-release-7.0-2.el7.elrepo.noarch.rpm。

注: 如果你启用了secure boot,请查看这个网页获取更多信息

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

添加 Elrepo 源

2. 升级Linux内核到4.0版本

现在,我们准备从ELRepo软件仓库安装最新的稳定版内核4.0。安装它我们需要在CentOS 7的shell或者终端中输入以下命令。

# yum --enablerepo=elrepo-kernel install kernel-ml

从ELRepo安装Linux内核4.0

上面的命令会自动安装为CentOS 7构建的Linux内核4.0。

现在,下面的是另一种方式,通过编译源代码安装最新的内核4.0。

从源代码编译安装

1. 安装依赖软件

首先我们需要为编译linux内核安装依赖的软件。要完成这些,我们需要在一个终端或者shell中运行以下命令。

# yum groupinstall "Development Tools"

# yum install gcc ncurses ncurses-devel

安装内核依赖

然后,我们会升级我们的整个系统。

# yum update

2. 下载源代码

现在我们通过wget命令从Linux内核的官方仓库中下载最新发布的linux内核4.0的源代码。你也可以使用你的浏览器直接从kernel.org网站下载内核。

#  cd /tmp/
# wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.0.tar.xz

下载内核源码

3. 解压tar压缩包

文件下载好后我们在/usr/src/文件夹下用以下命令解压。

# tar -xf linux-4.0.tar.xz -C /usr/src/
# cd /usr/src/linux-4.0/

解压内核tar压缩包

4. 配置

配置Linux内核有两种选择的。我们可以创建一个新的自定义配置文件或者使用已有的配置文件来构建和安装Linux内核。这都取决于你自己的需要。

配置新的内核

现在我们在shell或终端中运行make menuconfig命令来配置Linux内核。我们执行以下命令后会显示一个包含所有菜单的弹出窗口。在这里我们可以选择我们新的内核配置。如果你不熟悉这些菜单,那就敲击ESC键两次退出。

# make menuconfig

配置新内核

已有的配置

如果你想用已有的配置文件配置你最新的内核,那就输入下面的命令。如果你对配置有任何调整,你可以选择Y或者N,或者仅仅是按Enter键继续。

# make oldconfig

5. 编译Linux内核

下一步,我们会执行make命令来编译内核4.0。取决于你的系统配置,编译至少需要20-30分钟。

注:如果编译内核的时候出现bc command not found的错误,你可以用yum install bc命令安装bc修复这个错误。

# make

Make 内核

6. 安装Linux内核4.0

编译完成后,我们终于要在你的Linux系统上安装内核了。下面的命令会在/boot目录下创建文件并且在Grub 菜单中新建一个内核条目。

# make modules_install install

7. 验证内核

安装完最新的内核4.0后我们希望能验证它。做这些我们只需要在终端中输入以下命令。如果所有都进展顺利,我们会看到内核版本,例如4.0出现在输出列表中。

# uname -r

结论

好了,我们成功地在我们的CentOS 7操作系统上安装了最新的Linux内核版本4.0。通常并不需要升级linux内核,因为和之前版本运行良好的硬件可能并不适合新的版本。我们要确保它包括能使你的硬件正常工作的功能和配件。但大部分情况下,新的稳定版本内核能使你的硬件性能更好。因此,如果你有任何问题,评论,反馈,请在下面的评论框中注明,让我们知道需要增加或者删除什么问题。多谢!享受最新的稳定版Linux内核4.0吧 :-)


via: http://linoxide.com/how-tos/install-linux-kernel-4-0-elrepo-source/

作者:Arun Pyasi 译者:ictlyh 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

相比起以往,linux内核开发这么专业的事情,在最近发布的《谁在编写 Linux》报告中,其无偿贡献者降到了历史最低水平。

这个报道由linux基金会撰写,上年有11.8%的内核开发是由无偿贡献者完成,相比2012年的14.6%下滑了19%。基金会说贡献者有逐年下降的趋势。

即使是这样,在最新的《谁在编写 Linux》报告里,无偿贡献者还是最大的单一贡献来源,共做了11968 处修改,占整体的12.4%。然而,linux基金会说,企业贡献者共同占比越来越多,超过80%的内核贡献是由有偿的专业开发者完成的。

根据 linus Torvalds 说,这个有偿开发者趋势不会对内核开发的本身有太多改变。

他向《Network World》说,“我认为不会改变太多的一个原因是,其实并不是‘无偿贡献者离开了’,而是‘编写内核的人很快就被雇走了’。”

Torvalds讲到,linux开发的改变有很多其他原因,很自然的,新的贡献者会经常冒出来;有很多原来的开发者,有的有着10年的经验,被很多对linux感兴趣的公司抢去了。

他说:“开始我们是自愿者,但我们后来也很高兴被请去开发linux。”

Torvalds 开始抽离了他的开发角色,根据报道在3.10的内核版本里面他个人发布了329个补丁,占04%。逐渐地,各个子系统的维护人员自己开始做代码检查与合并。


via: http://www.infoworld.com/article/2885339/application-development/torvalds-people-who-start-writing-kernel-code-get-hired-really-quickly.html

作者:Jon Gold 译者:haimingfg 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

就在周日,Linus 如期发布了 Linux 4.0,这个版本的代号被称为“Hurr durr I'ma sheep”:

日期: 2015/4/12 15:41:30 周日 -0700
主题: Linux 4.0 发布
来自: 我是一只羊

那么,我决定按照正常的计划发布 4.0 了,因为没有出现什么问题,而且我下周会去一个大学访问,我希望这不会非常影响到合并窗口,希望吧。

从 linux-next 分支和最终大小上看,Linux 4.0是一个相当小的发布版本(LCTT 译注:linux-next是Stephen Rothwell创造的分支,主要用于放一些将在下一周期合并进内核主支的补丁)。但是这个“小”是相对而言的,它仍然包含了超过一万个的非合并提交。不过,我们肯定会有更大的发布版本(估计之后的 linux-next 4.1 会更大)。

一切都很好,这完全符合“v4.0 应该是一个稳定的发布版本”的要求,而不是带有很多新的体验性功能的发布版本。我个人非常喜欢按照时间进行发布,而不是过去那种有了重大功能才进行发布的做法。

也就是说,4.0里面没有什么特别有趣的东西。从 git 上的统计来看,这个发布版本不仅仅达成了 50 万个提交数的新成就,也跨越了 400 万个 git 对象数量的限制。有趣的是(从数字的角度看),Linux 3.0 时我们超过了 25 万提交数和 200 万个 git 对象数量,看起来真有规律(其实完全是巧合)。

[ 另外一个趣事:我们原来使用的 BK 版本库(LCTT 译注:bitkeeper)有着提交数用16位二进制存储的限制,所以25万提交数量已经很多了,因为我们使用 BK 的那些年就提交了将近65000次。当然,我们使用 BK 才3年,而换到 git 近十年了。无论如何,这说明我们的开发工作快了许多。]

就功能而言,4.0 并没有什么特殊的。新内核的补丁主要是基础架构方面的,实际上,这并不是版本号改变的原因,我们可能在其它的(小)版本中有更大的改变。所以,这只是一个“按部就班”的发布而已。

弄下来体验一下吧,

我们全是羊 —— Linus Torvalds

4.0虽说是没有什么特别新的功能,不过还是有几个值得关注的亮点:

  • Live Patching——不用重启为内核打补丁的机制;
  • parallel NFS (pNFS)子系统支持FlexFile布局;
  • ubifs文件系统支持多队列块层;
  • Btrfs 文件系统更新,支持 Intel Quark X1000 SoC和基于MIPS32 Release 6的处理器;
  • VirtIO 1.0;
  • 可信计算TPM 2.0支持;

提问: 我想为我的Intel 10G网卡下载安装最新的ixgbe驱动。我该如何在Ubuntu(或者Debian)中安装ixgbe驱动?

Intel的10G网卡(比如,82598、 82599、 x540)由ixgbe驱动支持。现代的Linux发行版已经带有了ixgbe驱动,通过可加载模块的方式使用。然而,有些情况你希望在你机器上的自己编译安装ixgbe驱动,比如,你想要体验ixbge驱动的最新特性时。同样,内核默认自带的ixgbe驱动中的一个问题是不允许你自定义驱动的参数。如果你想要一个完全定制的ixgbe驱动(比如 RSS、多队列、中断阈值等等),你需要手动从源码编译ixgbe驱动。

这里是如何在Ubuntu、Debian或者它们的衍生版中下载安装ixgbe驱动的教程。

第一步: 安装前提

安装之前,需要安装匹配的内核头文件和开发工具包。

$ sudo apt-get install linux-headers-$(uname -r)
$ sudo apt-get install gcc make

第二步: 编译Ixgbe驱动

最新的ixgbe驱动中下载源码。

$ wget http://sourceforge.net/projects/e1000/files/ixgbe%20stable/3.23.2/ixgbe-3.23.2.tar.gz

如下编译ixgbe驱动。

$ tar xvfvz ixgbe-3.23.2.tar.gz
$ cd ixgbe-3.23.2/src
$ make

第三步: 检查Ixgbe驱动

编译之后,你会看到在ixgbe-3.23.2/src目录下创建了ixgbe.ko。这就是会加载到内核之中的ixgbe驱动。

用modinfo命令检查内核模块的信息。注意你需要指定模块文件的绝对路径(比如 ./ixgbe.ko 或者 /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko)。输出中会显示ixgbe内核的版本。

$ modinfo ./ixgbe.ko

filename:       /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko
version:        3.23.2
license:        GPL
description:    Intel(R) 10 Gigabit PCI Express Network Driver
author:         Intel Corporation, 
srcversion:     2ADA5E537923E983FA9DAE2
alias:          pci:v00008086d00001560sv*sd*bc*sc*i*
alias:          pci:v00008086d00001558sv*sd*bc*sc*i*
alias:          pci:v00008086d0000154Asv*sd*bc*sc*i*
alias:          pci:v00008086d00001557sv*sd*bc*sc*i*
alias:          pci:v00008086d0000154Fsv*sd*bc*sc*i*
alias:          pci:v00008086d0000154Dsv*sd*bc*sc*i*
alias:          pci:v00008086d00001528sv*sd*bc*sc*i*
alias:          pci:v00008086d000010F8sv*sd*bc*sc*i*
alias:          pci:v00008086d0000151Csv*sd*bc*sc*i*
alias:          pci:v00008086d00001529sv*sd*bc*sc*i*
alias:          pci:v00008086d0000152Asv*sd*bc*sc*i*
alias:          pci:v00008086d000010F9sv*sd*bc*sc*i*
alias:          pci:v00008086d00001514sv*sd*bc*sc*i*
alias:          pci:v00008086d00001507sv*sd*bc*sc*i*
alias:          pci:v00008086d000010FBsv*sd*bc*sc*i*
alias:          pci:v00008086d00001517sv*sd*bc*sc*i*
alias:          pci:v00008086d000010FCsv*sd*bc*sc*i*
alias:          pci:v00008086d000010F7sv*sd*bc*sc*i*
alias:          pci:v00008086d00001508sv*sd*bc*sc*i*
alias:          pci:v00008086d000010DBsv*sd*bc*sc*i*
alias:          pci:v00008086d000010F4sv*sd*bc*sc*i*
alias:          pci:v00008086d000010E1sv*sd*bc*sc*i*
alias:          pci:v00008086d000010F1sv*sd*bc*sc*i*
alias:          pci:v00008086d000010ECsv*sd*bc*sc*i*
alias:          pci:v00008086d000010DDsv*sd*bc*sc*i*
alias:          pci:v00008086d0000150Bsv*sd*bc*sc*i*
alias:          pci:v00008086d000010C8sv*sd*bc*sc*i*
alias:          pci:v00008086d000010C7sv*sd*bc*sc*i*
alias:          pci:v00008086d000010C6sv*sd*bc*sc*i*
alias:          pci:v00008086d000010B6sv*sd*bc*sc*i*
depends:        ptp,dca
vermagic:       3.11.0-19-generic SMP mod_unload modversions 
parm:           InterruptType:Change Interrupt Mode (0=Legacy, 1=MSI, 2=MSI-X), default IntMode (deprecated) (array of int)
parm:           IntMode:Change Interrupt Mode (0=Legacy, 1=MSI, 2=MSI-X), default 2 (array of int)
parm:           MQ:Disable or enable Multiple Queues, default 1 (array of int)
parm:           DCA:Disable or enable Direct Cache Access, 0=disabled, 1=descriptor only, 2=descriptor and data (array of int)
parm:           RSS:Number of Receive-Side Scaling Descriptor Queues, default 0=number of cpus (array of int)
parm:           VMDQ:Number of Virtual Machine Device Queues: 0/1 = disable, 2-16 enable (default=8) (array of int)
parm:           max_vfs:Number of Virtual Functions: 0 = disable (default), 1-63 = enable this many VFs (array of int)
parm:           VEPA:VEPA Bridge Mode: 0 = VEB (default), 1 = VEPA (array of int)
parm:           InterruptThrottleRate:Maximum interrupts per second, per vector, (0,1,956-488281), default 1 (array of int)
parm:           LLIPort:Low Latency Interrupt TCP Port (0-65535) (array of int)
parm:           LLIPush:Low Latency Interrupt on TCP Push flag (0,1) (array of int)
parm:           LLISize:Low Latency Interrupt on Packet Size (0-1500) (array of int)
parm:           LLIEType:Low Latency Interrupt Ethernet Protocol Type (array of int)
parm:           LLIVLANP:Low Latency Interrupt on VLAN priority threshold (array of int)
parm:           FdirPballoc:Flow Director packet buffer allocation level:
            1 = 8k hash filters or 2k perfect filters
            2 = 16k hash filters or 4k perfect filters
            3 = 32k hash filters or 8k perfect filters (array of int)
parm:           AtrSampleRate:Software ATR Tx packet sample rate (array of int)
parm:           FCoE:Disable or enable FCoE Offload, default 1 (array of int)
parm:           LRO:Large Receive Offload (0,1), default 1 = on (array of int)
parm:           allow_unsupported_sfp:Allow unsupported and untested SFP+ modules on 82599 based adapters, default 0 = Disable (array of int)

第四步: 测试Ixgbe驱动

在测试新的模块之前,如果你内核中已存在旧版本ixgbe模块的话你需要先移除它。

$ sudo rmmod ixgbe

接着使用insmod命令插入新编译的ixgbe模块。确保指定一个模块的绝对路径。

$ sudo insmod ./ixgbe.ko

如果上面的命令成功运行,就不会显示任何的信息。

如果你需要,你可以尝试加入额外的参数。比如,设置RSS的队列数量为16:

$ sudo insmod ./ixgbe.ko RSS=16

检查/var/log/kern.log来查看ixgbe驱动是否成功激活。查看日志中的“Intel(R) 10 Gigabit PCI Express Network Driver”。ixgbe的版本信息应该和之前的modinfo的显示应该相同。

Sep 18 14:48:52 spongebob kernel: [684717.906254] Intel(R) 10 Gigabit PCI Express Network Driver - version 3.22.3

第五步: 安装Ixgbe驱动

一旦你验证新的ixgbe驱动可以成功加载,最后一步是在你的系统中安装驱动。

$ sudo make install

ixgbe.ko 会安装在/lib/modules//kernel/drivers/net/ethernet/intel/ixgbe 下。

从这一步起,你可以用下面的modprobe命令加载ixgbe驱动了。注意你不必再指定绝对路径。

$ sudo modprobe ixgbe

如果你希望在启动时加载ixgbe驱动,你可以在/etc/modules的最后加入“ixgbe”。


via: http://ask.xmodulo.com/download-install-ixgbe-driver-ubuntu-debian.html

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出