Como adicionar o driver usbnet ao kernel do Linux?

0

Eu quero adicionar suporte de rede usb a uma distribuição Linux em tempo real que estamos usando no trabalho. Dispositivos USB são reconhecidos, mas ao conectar um adaptador de rede usb, nenhuma interface de rede é criada.

Pelo que eu leia isso requer recompilar a compilação do kernel com o suporte a usbnet ativado. Não me importo de fazer isso, mas o problema é que não consigo encontrar instruções sobre como fazer isso. Alguém pode me apontar na direção certa?

    
por StackedCrooked 27.05.2010 / 15:04

1 resposta

2

Claro! Eu compilei mais do que meu quinhão de kernels.

Primeiro, você precisa ter certeza de ter a fonte do seu kernel no seu disco rígido. Procure por um pacote chamado "kernel-source" ou algo assim. Na minha caixa do Slackware, isso instala a fonte completa do kernel não modificada em /usr/src/linux-x.x.xx.x . Muitas vezes, diferentes distros terão kernels corrigidos ou configurações personalizadas. Na maior parte do tempo, você encontrará esses dados salvos no arquivo /boot/config .

Se você não quer mexer com as pastas do sistema, sugiro que copie o código-fonte do kernel para um local temporário antes de tentar a compilação:

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

Em seguida, você precisará entrar no menu de configuração do kernel:

$ make menuconfig

Isso fará uma compilação inicial do sistema de menu de configuração e o levará ao menu de configuração:

 .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 >                     |
  +-------------------------------------------------------------------------+

Para carregar a configuração atual do kernel (para que tudo que você esteja trabalhando ainda funcione assim que você instalar o novo kernel e inicializar a partir dele), selecione Load an Alternate Configuration File e digite "/boot/config".

Em seguida, navegue pelos menus até a opção que deseja ativar e pressione a barra de espaço até que seja "*" (compilado no kernel) ou "M" (compilado como modprobe -able kernel module).

Quando tiver tudo certo, saia do configurador e digite:

$ make bzImage

Isto fará a imagem do kernel. Instale-o lendo atentamente as páginas lilo ou grub man.

    
por 27.05.2010 / 15:24

Tags