是否可以使用apt-get包pipe理器将Ubuntu 9.10中的内核降级到2.6.30(或2.6.31以下的任何2.6内核)?
这是动机:
我在一台装有NetXen NXB-10GCX4 10GbE网卡的机器上安装了Ubuntu 9.10服务器。 Linux 2.6.31附带的netxen_nic驱动程序抱怨网卡上的固件太旧(固件为3.4.114,内核需要固件版本为3.4.216或更高版本 )。
我去了供应商的网站(购买了NetXen的QLogic), 下载了最新的驱动程序 ,并刷新了固件。 不幸的是,网卡仍然无法正常工作。 根据驱动程序文档,我需要安装商业驱动程序才能使用最新的固件正常工作。
我试图编译商业驱动程序到一个内核模块。 不幸的是,它们不能在Ubuntu 9.10上编译,因为它们是为2.6.31中从内核中删除的旧版LinuxnetworkingAPI 编写的 。
由于QLogic认为这是一个传统产品,所以不会有任何额外的驱动程序更新。 所以我需要在仍然支持旧API的内核上运行。 我仍然想使用Ubuntu 9.10。 我宁愿使用包pipe理器,以便正确处理依赖关系,而不是手动执行内核降级。
编辑:任何人通过search这个特定的网卡到达这个网页,我解决了我的具体问题,从NetXen的日本站点下载Linux驱动程序的版本3.4.216,并通过复制3.4.216 / bin / cx4_romimage到/ lib / firmware / nxroming.bin并重新加载netxen_nic模块。
我没有关于该网卡的信息,所以我将重点放在降级内核上。
在早期的Karmic版本中使用了2.6.30.x内核,并且在当前版本中显然无法使用APT。 我build议你按照这里的程序安装2.6.30版本的Ubuntu服务器内核包(我不知道它工作正常)。 内核服务器软件包不在主线内核存档中,但是它们应该在Ubuntu存档镜像(镜像列表 )上可用。 我会尝试安装最新版本(我已经看到一个镜像上的2.6.30.7服务器包,最新的上游版本是2.6.30.10)。
我刚刚尝试了最新的Karmic桌面安装上的2.6.30.10桌面内核,显然它的工作没有问题,所以这个过程可能会在服务器安装上起作用。
安装完成后,可以使用命令grub-set-default(请参阅Grub2-社区Ubuntu文档 )或在X上使用StartUp-Manager(startupmanager软件包)来更改默认内核。编辑/boot/grub/grub.cfg不推荐。
在大多数情况下,旧的内核仍然会出现在你的系统上,所有你需要做的就是编辑grubconfiguration指向旧的并重启。 (/boot/grub/grub.conf文件)
如果旧的内核被删除了,你需要使用apt-get再次安装,我怀疑包pipe理器会让你这样做。
另一个要做的事情就是将声音添加到稳定的驱动程序界面的活动中,所以这些问题不会再回来。
有2种方法,首先如果这个不是你的生产服务器,你可以安装ubuntu 8.04升级到ubuntu 9.10。 其次apt-get在运行之前删除kernel.XX.XX.XX.dep,您需要将旧内核添加到您的服务器。
我想要做的是findUbuntu标准内核中的驱动程序需要的固件,因为最新的那个不起作用。 从长远来看,我会更换支持更多的卡。 降级内核以保持专有驱动程序的快乐是一个失败的主张。