G.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 G.5.3, Carregando drivers com parâmetros.

G.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. Para obter mais informações, consulte a Seção G.5.2, Criando drivers.

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

Para localizar a versão atual do kernel de seu ambiente Linux, use o seguinte comando:

uname -r

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 usar a árvore do código fonte do Linux:

  1. Obtenha a versão do kernel atual de distribuição da Criação de Imagens:

    1. Inicie qualquer dispositivo na Zona de Gerenciamento no modo de Manutenção do ZENworks Imaging.

    2. Execute o comando uname -r.

      Ele exibirá a versão do kernel de distribuição da Criação de Imagens.

  2. No site de downloads da Novell, faça o download do RPM do kernel de origem para a versão do kernel obtida na Etapa 1.b.

    O nome do arquivo RPM do kernel de origem está no seguinte formato:

    kernel-source-kernel_version.i586.rpm

    Por exemplo, kernel-source-2.6.27.29-0.1.i586.rpm é o código-fonte da versão do kernel: 2.6.27.29-0.1-default.

  3. Instale o RPM do kernel de origem cujo download foi feito.

    O RPM é instalado no diretório /usr/src, e os seguintes subdiretórios são criados:

    • /usr/src/linux-Kernel_source_version

    • /usr/src/linux-Kernel_source_version-obj

    Por exemplo, os seguintes diretórios são criados quando você instala o kernel-source-2.6.27.29-0.1.i586.rpm :

    • /usr/src/linux-2.6.27.29-0.1

    • /usr/src/linux-2.6.27.29-0.1-obj

  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 a nova conexão virtual Linux, por exemplo:

      ln -s linux-2.6.27.29-0.1 linux
      

Depois que você tiver a árvore de origem do kernel do Linux e uma conexão virtual prontos para compilar o módulo, continue em 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. Mude os diretórios para a origem e compile a origem de acordo com as instruções de compilação fornecidas no Readme do módulo.

  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.

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