如何将usbnet驱动程序添加到Linux内核?

如何将usbnet驱动程序添加到Linux内核?

我想为我们工作中使用的实时 Linux 发行版添加 USB 网络支持。USB 设备可以识别,但连接 USB 网络适配器时不会创建网络接口。

据我所知这需要重新编译启用了 usbnet 支持的内核版本。我不介意这样做,但问题是我似乎找不到有关如何执行此操作的任何说明。有人能给我指明正确的方向吗?

答案1

当然!我已经编译了足够多的内核了。

首先,您必须确保您的硬盘上有内核源代码。查找名为“kernel-source”或类似名称的软件包。在我的 Slackware 机器上,这会将完整的未修改的内核源代码安装到/usr/src/linux-x.x.xx.x。很多时候,不同的发行版都会有修补过的内核或自定义配置。很多时候,您会发现这些保存在 文件中/boot/config

如果您不想弄乱系统文件夹,我建议您在尝试编译之前将内核源代码复制到临时位置:

$ cp -rp /usr/src/linux-2.6.33.4 /tmp/kernel-build
$ cd /tmp/kernel-build

接下来,您需要进入内核配置菜单:

$ make menuconfig

这将对配置菜单系统进行一些初始编译,并带您进入配置菜单:

 .config - Linux Kernel v2.6.33.4 Configuration
 ------------------------------------------------------------------------------
  l---------------------- Linux Kernel Configuration -----------------------+
  |  Arrow keys navigate the menu.  <Enter> selects submenus --->.          |
  |  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes, |
  |  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </> |
  |  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < >       |
  | +---------------------------------------------------------------------+ |
  | |        General setup  --->                                          | |
  | |    [*] Enable loadable module support  --->                         | |
  | |    -*- Enable the block layer  --->                                 | |
  | |        Processor type and features  --->                            | |
  | |        Power management and ACPI options  --->                      | |
  | |        Bus options (PCI etc.)  --->                                 | |
  | |        Executable file formats / Emulations  --->                   | |
  | |    -*- Networking support  --->                                     | |
  | |        Device Drivers  --->                                         | |
  | |        Firmware Drivers  --->                                       | |
  | |        File systems  --->                                           | |
  | |        Kernel hacking  --->                                         | |
  | |        Security options  --->                                       | |
  | |    -*- Cryptographic API  --->                                      | |
  | |    [*] Virtualization  --->                                         | |
  | |        Library routines  --->                                       | |
  | |    ---                                                              | |
  | |        Load an Alternate Configuration File                         | |
  | |        Save an Alternate Configuration File                         | |
  | +---------------------------------------------------------------------+ |
  +-------------------------------------------------------------------------+
  |                    <Select>    < Exit >    < Help >                     |
  +-------------------------------------------------------------------------+

为了加载当前内核的配置(这样,一旦您安装新内核并从其启动,您当前工作的所有内容仍将正常工作),选择Load an Alternate Configuration File然后输入“/boot/config”。

接下来,在菜单中导航到您想要启用的选项,然后按空格键,直到它显示“*”(编译到内核)或“M”(编译为modprobe-able 内核模块)。

一旦一切正确,退出配置器并输入:

$ make bzImage

这将生成一个内核映像。请仔细阅读lilogrub手册页来安装它。

相关内容