El motivo de este post es desmitificar el comentario "No existen drivers para Linux".
Antecedentes: El cliente necesita instalar una DMZ, con Proxy-Firewall en un Servidor GNU/Linux.Obviamente, antes de nada es necesario comprobar que los componentes de la máquina son compatibles con el Kernel de Linux.El Servidor es un DELL R300, muy similar al 1950, con las siguientes características:
- 1 Procesador Intel Quad Core 2,50 Ghz(4 Nucleos)
- 2 GB RAM DDR 667 Mhz
- 2 x 160 SATA RAID 1
- 2 x BroadCom NetExtremr Gigabit Ethernet
- 2 x Intel Gigabit Ethernet
La distribución que se instalará en la máquina es una Debian Etch 4.0 r3.Siempre instalo el S.O desde el CD NetInstall, pero en este caso,como comprobareis más adelante, no fue posible.Para ello, en mi cartuchera de CDs suelo llevar un CD1 de x86 y otro de x86_64 por lo que pueda pasar.Al intentar instalar desde NetInstall me llevo una "sorpresilla" al comprobar que no detecta la tarjeta de Red.PANICO!.Mucha gente, en este caso, se haría eco de la afirmación inicial de este post "No existen drivers para Linux" y abandonaría la instalación.ERROR!.Seamos sensatos.Broadcom es uno de los fabricantes con mayor presencia de chipsets en el campo de servidores junto con Intel y demás.De verdad creéis que no han desarrollado drivers para Linux de las NetExtreme?.
Desarrollo: En la mayoría(85%) de los servidores y máquinas que instalo Debian GNU/Linux compilo el Kernel y las aplicaciones con apt-build.Sí, es una labor tediosa; pero los resultados en lo referente al rendimiento son espectaculares.A las 11:05 de la mañana, desde consola y como root:
[root@fw-empresax]: apt-get install binutils e2fsprogs gcc make module-init-tools procps util-linux kernel-package initrd-tools libncurses5-dev
En principio no debería tener ningún problema...En este tipo de afirmaciones siempre suelo colar un "En principio", por si hay que retractarse de lo dicho anteriormente.Pues sí: marrón.El paquete libncurses5-dev no está en el CD1 de Etch 4.0 r3. Solución: muy fácil, nos vamos a http://packages.debian.org y descargamos el paquete a un pendrive, desde consola y como root:
[root@fw-empresax]: dpkg -i libncurses5-dev
Ahora procedemos a instalar la última versión del kernel de linux, en este caso la 2.6.25.1.
[root@fw-empresa]:cp /tmp/linux-2.6.25.1.tar.gz /usr/src && cd /usr/src
[root@fw-empresa]: tar zxvf linux-2.6.25.1
[root@fw-empresa]: ln -s /usr/src/linux-2.6.25.1 /usr/src/linux
[root@fw-empresa]:make menuconfig
Seleccionamos los drivers de Broadcom como módulo del kernel(*).
[root@fw-empresa]: make-kpkg --initrd kernel_image
Esperamos unos 10 minutos ...et voilá!Son las 12:20 y ya tengo el S.O running!!!
[root@fw-empresa]: dpkg -i linux-image-2.6.25.1.deb && reboot
Desenlace: Es cierto que hemos tenido que recompilar el kernel,copiar un paquete .deb desde un USB, pero tenemos Debian GNU/Linux instalado en la máquina funcionando correctamente.Evidentemente estos pasos no son del todo sencillos, pero con un poco de paciencia todo es posible.