F.5 Adicionando ou atualizando drivers LAN

Como os fabricantes de placas LAN desenvolvem e lançam novas versões de adaptadores LAN, normalmente também o fazem com drivers novos ou atualizados. Algumas vezes, a nova placa LAN funciona corretamente com um driver de versão mais recente e, outras vezes, o driver mais recente não reconhece a nova placa LAN e se recusa a carregá-la. De vez em quando, o driver mais antigo carrega a placa LAN, mas ela exibe problemas sérios de desempenho. Para obter todos os recursos de desempenho de uma placa LAN nova, você deve usar o driver novo.

As seções a seguir explicam como obter ou compilar drivers:

Se você precisar carregar os drivers com parâmetros específicos, consulte a Seção F.5.3, Carregando drivers com parâmetros.

F.5.1 Obtendo drivers

Os novos drivers LAN devem ser obtidos através do fabricante. A maioria dos fabricantes de placas LAN possuem drivers disponíveis para download gratuito em seus sites na Web. Alguns drivers estão disponíveis no endereço www.scyld.com/network, e a origem para o driver Broadcom BCM5700 pode ser descarregada em http://www.broadcom.com/drivers/downloaddrivers.php.

Se um fabricante possuir um driver binário compilado especificamente para a versão de kernel usada pelo ZENworks, você poderá obter o driver e usar um dos métodos de atualização para adicioná-lo. O ZENworks 7 é baseado no SLES 9 SP2, versão kernel 2.6.5-7.191. Se o driver não for para esta versão específica, será preciso obter a fonte e compilá-la para esta versão. Para obter mais informações, consulte a Seção F.5.2, Criando drivers.

F.5.2 Criando drivers

Quase todos os drivers Linux são distribuídos na forma de códigos fonte e precisam ser compilados antes de serem usados. Siga as instruções do fabricante incluídas no driver novo, para criar o módulo do driver. Muitos drivers podem ser criados de forma que sejam inseridos no próprio kernel, entretanto, recomendamos que os drivers LAN sejam criados em módulos de kernel externos.

Ao criar drivers LAN, verifique se sua máquina de criação usa o mesmo kernel do ambiente de criação de imagens. Se possuir um driver de LAN que não possa ser carregado no ambiente de criação de imagens, isso geralmente significa que existe uma incompatibilidade entre seu ambiente de criação e o ambiente de criação de imagens.

É possível localizar a versão de kernel atual do seu ambiente Linux usando o seguinte comando:

uname -r

Entretanto, talvez seja necessário modificar os resultados do comando uname para obter as versões de kernel compatíveis. Para obter mais informações, consulte a Seção F.6, Usando uname.

Para criar os drivers:

Obtendo a árvore do código fonte do Linux

Para compilar um módulo, é preciso que a árvore do código fonte do Linux contenha a configuração correspondente ao kernel do ZENworks. Para obter o código de origem necessário, faça download do arquivo da árvore do código fonte do Linux zenimgk2657244.tgz.

Para usar a árvore do código fonte do Linux:

  1. Descompacte o arquivo e instale a árvore do código fonte no diretório /usr/src.

    Por exemplo, o arquivo tar cria os seguintes diretórios:

    /usr/src/linux-2.6.5-7.244
    /usr/src/linux-2.6.5-7.244-obj
    
  2. Obtenha o arquivo de configuração correto a partir de um dos seguintes locais:

    • Um arquivo de distribuição de criação de imagens do ZENworks em execução (/proc/config.gz).

    • zenimgk2657244.tgz

  3. Copie esse arquivo de configuração para o diretório criado na Etapa 1.

    Por exemplo, /usr/src/linux-2.6.5-7.244.

  4. Para criar um link para a árvore de origem:

    1. Para mudar para o diretório /usr/src, digite:

      cd /usr/src
      
    2. Se houver uma conexão virtual Linux no diretório, apague-a.

    3. Crie uma conexão virtual Linux do tipo:

      ln -s linux-2.6.5-7.244 linux
      

Agora, você possui a árvore de origem do kernel do Linux e uma conexão virtual prontos para compilar o módulo. Vá para Compilando o módulo.

Compilando o módulo

Para compilar o módulo manualmente:

  1. Instale a fonte.

    Siga as instruções do fabricante para instalar o código-fonte.

    Normalmente, a origem do módulo fica em um diretório em /usr/src. Os arquivos fonte do módulo vêm no formato de um arquivo tar gz compactado (.tar.gz ou .tgz). Também pode ser um arquivo compactado bz (.bz2).

  2. Para compilar a fonte:

    1. Mude os diretórios para a fonte.

    2. Se você modificou uname para mudar para a versão de kernel adequada, emita um comando make.

  3. Depois que o módulo estiver compilado para o ZENworks, instale o arquivo de módulo .ko gerado (verifique se selecionou o nome de módulo certo e não um arquivo de trabalho .ko) usando o método de atualização de driver ou colocando-o no sistema de arquivos initrd.

F.5.3 Carregando drivers com parâmetros

Se houver um módulo que deseja carregar durante o tempo de processamento do linuxrc e se o linuxrc não reconhecer que o download dele precisa ser feito ou se você desejar especificar os parâmetros de carregamento, poderá digitar uma linha no arquivo linuxrc.config ou no arquivo /info. Esse arquivo, então, precisará ser atualizado no sistema de arquivos initrd.

Talvez você precise carregar um módulo de driver LAN com parâmetros específicos. É possível fazer isso com uma linha como:

insmod="moduleName parm=xxx"

Esse tipo de linha é mais usada para carregar um driver de LAN com parâmetros específicos, como full duplex ou velocidade específica.