在安装过程中,如果安装程序无法检测到任何磁盘,它将向您显示所有可用驱动程序的列表以供选择,或者您可以不选择任何驱动程序。一旦您选择,它会为您提供几个选项。其中之一是扫描可移动媒体以查找驱动程序。
有人知道它在找什么吗?我试过把正确的 .ko 文件放在软盘中 / 以及把它放在/lib/modules/<kernel version>/kernel/extras/
其他几个地方,但最后我必须手动安装可移动媒体并使用 insmod 加载模块。
答案1
如果你使用桌面 CD 安装程序,则可以按照说明以编程方式加载其他驱动程序这里。
如果您使用备用 CD 安装程序,则可以通过创建驱动程序注入磁盘来完成此操作。首先创建一个标签为 的 USB 磁盘OEMDRV
,然后将包含内核模块的 Debian 包放在其中。最后,将 preseed 设置driver-injection-disk/load
为 true 并开始安装。
这种格式的权威参考是 hw-detect 代码,bzr 分支 lp:hw-检测, 具体来说驱动程序注入磁盘.sh
或者,如果您想要一个快速而粗糙的解决方案并假设这是一个磁盘驱动程序,请将内核模块放在以下目录之一中:
- /lib/模块/*/内核/驱动程序/ide
- /lib/模块/*/内核/驱动程序/scsi
- /lib/模块/*/内核/驱动程序/块
答案2
除了 Evan 关于替代安装程序的回答外,此驱动程序磁盘应包含*.udeb
安装程序识别的文件。这些软件包可以在Ubuntu 软件包:linux
来源。
如果您有*.ko
文件,请将其复制到 USB 记忆棒。
我错过了 JMicron 以太网驱动程序jme.ko
,并在包中找到了此模块kernel-image-2.6.38-8-generic
。可以使用 提取此包dpkg-deb -x [name-of-deb-file].deb target_extraction_directory
。
在安装程序中,按Ctrl+ Alt+F2然后Enter打开 shell。USB 棒不会自行安装,找到磁盘后,请安装它:
mount /dev/sdb1 /mnt
将文件复制到内核目录:
cp /mnt/jme.ko /lib/modules/$(uname -r)/kernel/drivers/net/
更新内核模块,卸载 USB 记忆棒并加载内核模块(及其依赖项(如果有)):
depmod -a
umount /mnt
modprobe jme
Ctrl如果一切顺利,您将不会收到任何消息,并且可以通过按+ Alt+返回安装程序菜单F1。
重要提示:安装程序和模块的内核版本必须匹配。我的备用 CD 不包含 JMicron 以太网驱动程序 ( jme.ko
)。我在文件中找不到它*-modules-*
,但它存在于linux-image-*
包中。为了方便起见,我从另一台计算机复制了这个模块,忘记了它上面安装的是 Maverick,而不是 Natty。我一直收到这条ERROR: File not found
消息,过了一段时间我才意识到该模块来自内核版本为 2.6.35-28 的 Maverick,但 Natty 运行在 2.6.38-8 上。