Compilação no Endian.

A mais ou menos 9 meses, tive uma tarefa muito interessante de realizar.

Precisei configurar um Endian na versão 2.4.0, em uma máquina com 3 placas de rede, onde duas tinha chips da Agere Systems e outra era onboard.

As placas com chipset: Agere Systems ET-131x PCI-E Ethernet Controller, não tem suporte no endian, foi necessário compilar o driver específico para a mesma. Os procedimentos abaixo dão suporte necessário para fazer a compilação do driver.

Dar acesso a internet ao Endian:

# route add default gw 192.168.0.100
# echo “nameserver 192.168.0.251” > /etc/resolv.conf

Atualizar o Endian e mudar de repositório:

# efw-upgrade
# efw-upgrade -s

Escolha development, digite seu e-mail. Reboot!

Agora utilizando o smart para instalar o kernel-PAE, já que não consegui achar o kernel padrão para desenvolvimento.
O kernel PAE dá suporte a mais de 4GB de ram, de acordo com informações encontradas na internet.

# smart install kernel-PAE

Após executar este comando, ele irá remover o kernel padrão e algumas dependências e instalar o kernel PAE e as dependências necessárias, que são iguais a do kernel padrão.

Reboot!

Se iniciou normalmente, agora, faça um upgrade usando o efw-upgrade ou smart upgrade.
Agora vamos iniciar o processo de instalação dos pacotes necessários para compilação do driver.

Primeiro, baixar os pacotes/fontes do Endian 2.4 Community.

Vamos instalar alguns pacotes para nos ajudar nessa tarefa:

# rpm -Uvh http://archives.fedoraproject.org/pub/archive/fedora/linux/core/3/i386/os/Fedora/RPMS/info-4.7-5.i386.rpm
# rpm -Uvh http://archives.fedoraproject.org/pub/archive/fedora/linux/core/3/i386/os/Fedora/RPMS/wget-1.9.1-17.i386.rpm

Agora vamos baixar e descompactar os pacotes para permitir a compilação do driver:

# wget http://sourceforge.net/projects/efw/files/Development/EFW-2.4-RESPIN/EFW-COMMUNITY-2.4-devel-srpms.tar.gz/download
# tar -xvzf EFW-COMMUNITY-2.4-devel-srpms.tar.gz

Instalamos os pacotes necessários para a compilação:

# cd EFW-COMMUNITY-2.4-201006071652/RPMS/
# rpm -Uvh binutils-2.15.92.0.2-25.endian2.i586.rpm glibc-kernheaders-2.4-9.1.103.EL.endian1.i586.rpm patch-2.5.4-20.endian0.i586.rpm glibc-headers-2.3.4-2.41.endian8.i386.rpm glibc-extras-2.3.4-2.41.endian8.i386.rpm glibc-devel-2.3.4-2.41.endian8.i386.rpm libgomp-4.1.2-14.endian1.i586.rpm gcc4-4.1.2-14.endian1.i586.rpm make-3.81-3.endian0.i586.rpm cpp-3.4.6-10.endian8.i586.rpm autoconf-2.59-7.endian0.noarch.rpm automake-1.9.5-0.endian0.noarch.rpm m4-1.4.3-0.endian0.i386.rpm rpm-build-4.4.2.3-9.endian3.i586.rpm libstdc++-devel-3.4.6-10.endian8.i586.rpm

OBS.: A instalação do rpmbuild é apenas para manter a compatibilidade com o Endian, caso você queria gerar um .rpm do driver se o mesmo estiver conforme as exigências para criação do .rpm.

Criamos um link do gcc apontando para o gcc4:

# ln -s /usr/bin/gcc4 /usr/bin/gcc

Agora vamos trabalhar a compilação do driver, primeiro baixando o driver direto do sourceforge:

# wget -c http://sourceforge.net/projects/et131x/files/et131x-1.2.3-3%20Source/et131x/et131x-1.2.3-3.tar.gz/download

Descompactar e compilar o driver:

# tar -xvzf et131x-1.2.3-3.tar.gz
# cd et131x-1.2.3-3/
# make

Caso não apresente nenhum erro durante a compilação, instale o módulo no sistema:

# make modules_install

Carregue o módulo no sistema:

# gzip et131x.ko
# cp et131x.ko.gz /lib/modules/2.6.27.19-72.e25PAE/kernel/drivers/net/
# gunzip et131x.ko.gz
# insmod et131x.ko

Verifique com o comando dmesg e veja se driver foi carregado:

# dmesg

et131x: module license ‘BSD’ taints kernel.
10/100/1000 Base-T Ethernet Driver for the ET1310, v1.2.3 01/31/2006 15:40:00 by Agere Systems, http://www.agere.com
et131x 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
et131x 0000:01:00.0: setting latency timer to 64
# ifconfig eth1 up
# ifconfig eth2 up

Pronto! O dispositivo já devem aparecer na interface web!

OBS.: Caso você tenha realizado uma atualização e tenha apresentado problemas. Reinstale a versão 2.4.0 e não faça nenhuma atualização e realize os passos abaixo.

Faça o download dos pacotes chkconfig-1.3.11.2-1.i586.rpm initscripts-2.4.2-0.endian12.i586.rpm ipac-ng-1.33-2.endian7.i586.rpm iptables-1.4.8-1.endian16.i586.rpm, no site, http://updates.endian.org/stable/pool/ coloque seu e-mail e a senha community.

Depois execute os comandos a seguir:

# cd pacotes
# rpm -Uvh chkconfig-1.3.11.2-1.i586.rpm initscripts-2.4.2-0.endian12.i586.rpm ipac-ng-1.33-2.endian7.i586.rpm iptables-1.4.8-1.endian16.i586.rpm
# reboot

# cd EFW-COMMUNITY-2.4-201006071652/RPMS/
# rpm -e –nodeps kernel kernel-modem-drivers-2.4-15_2.6.27.19_72.e25.i586 kernel-module-openswan-2.6.24-4.endian9_2.6.27.19_72.e25.i586 kernel-module-r8168-8.016.00-3.endian4_2.6.27.19_72.e25.i586
# rpm -Uvh kernel-PAE-2.6.27.19-72.e25.i686.rpm kernel-PAE-devel-2.6.27.19-72.e25.i686.rpm kernel-modem-drivers-PAE-2.4-15_2.6.27.19_72.e25.i586.rpm kernel-module-openswan-PAE-2.6.24-4.endian9_2.6.27.19_72.e25.i586.rpm kernel-module-r8168-PAE-8.016.00-3.endian4_2.6.27.19_72.e25.i586.rpm
# reboot

Agora siga os passos iniciais para compilar o driver.

O log do firewall não estava funcionando.

Foi preciso atualizar o ulogd pra versão: ulogd-2.0.0-0.endian9.i586.rpm

Agora evite atualizações, pois você terá problemas com sua placa de rede e compatibilidade no sistema.

Dica, só compre placas que são suportadas pelo sistema.

Os Links utilizados como solução para a compilação do driver, foram:

http://blog.luizagostinho.com/?p=596
http://blog.luizagostinho.com/?p=733
http://efwsupport.com/index.php?topic=610
http://efwsupport.com/index.php?topic=1155.0
http://efwsupport.com/index.php?topic=1988.0
http://www.efwsupport.com/index.php?topic=628.0

Você pode ver essa solução no link:

http://endian.eth0.com.br/topic/placa-de-rede-com-chipset-agere-system#post-3317

Recomendo frequentar o fórum endian.eth0.com.br.

8 comments

  1. Diego Pontes disse:

    Ótima dica, estou tentando instalar o pacote do vim e do updatedb, mas não consegui, tentei seguir seus passos, mas não deu certo, você já tentou fazer instalar esses pacotes?

    • Nunca tentei compilar esses pacotes, mas creio que seja da mesma forma, já que a compilação no linux não muda.

      Você vai ter que observar a versão correta do Endian e pegar os pacotes de desenvolvimento para versão correta, fora isso, acho que vai tranquilo.

      Recomendo você ter uma versão só pra compilação e outra de produção.

  2. Diego Pontes disse:

    Consegui instalar o updatedb, mas o pacote do vim só deu certo o common, o enhanced faltam 3 libs, não consegui achá-las, mas o common já da pra quebrar o galho.

  3. Na version 2.5.2 em diante isso não é mais possível

  4. Junior disse:

    na versao 3.0 tambem sem sucesso, conseguiu algo leandro?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *