Alumno it

Compilando el Kernel 2. 6. 32 y 2. 6. 35 en GNU-Linux Debian 5. 05 sin errores paso a paso. Por Pedro M. Cacivio C. S. I. S. L. A (Comunidad de Seguridad Informática y Software Libre Argentina) http://www. csisla. com. ar Julio del 2010. índice de Contenido 1 Introducción , 2 Generalidades Sob Kernel 2. 1 KERNEL sene 2. 6 . 2. 2 KERNEL en Debian 6 PACE 1 oras to View nut*ge 2. 3 Parámetros a Tener en Cuenta. — 2. 4 Por que Debería Compilar mi Kernel. 2. 5 Parámetros a Considerar. 8 3 Comencemos de una vez. 3. 1 Usando MAKE. — 15 4. Enable Loadable Module Suport. 4. 3 Enable the Block Layer.. . 4 Processor Type and 4. 5 Power Management and ACPI Options. — — 4. 6 Bus Options (PCI etc. ), 4. 7 Executable File Formats / Emulations. . 4. 8 Networking Support. 24 4. 9 Device Drivers. — 25 4. 10 Firmware Drivers. 26 4. 11 File Systems. . 27 4. 12 Kernel Hacking.. 28 4. 13 Security Options. . 29 4. 14 Cryptographic 4. 15 Virtuanzation. 2 3 16 17 18 „ 21 22 . 23 . 30 30 4. 15 Virtualization. 31 4. 16 Library Routines. 32 5 Creando el «. config». 33 5. 1 Bug de KERNEL. 5 5. 2 Compilando el KERNEL. 6. Reinstalando un Nuevo 6. 1 SCRIPT.. 39 6. 2 Corregimos Bug antes de la Recompilación Recompilación. 7. 1 SCRIPT 2. 45 7. 2 Eliminando mi Antiguo 8 ESCRIPTfinaI. . 47 1 Introducción 43 36 38 _ 42 46 lo fácil que puede ser compilar un Kernel en GNU-Linux, si bien muchos consideran esto un tabú es solo por que se encuentran con algo nuevo al comienzo con muchas lineas de configuración que cuestan comprender. pero a medida que lo realizan se van dando cuenta que es mucho mas sencillo de lo que parece.

Creo que leí casi todo lo que hay en Internety observando que muchas veces se arman artículos copiando directamente de otras personas o foros, sin tener en cuenta el la distribuciones de GNU-Linux que se utilizan o los posibles errores que los kernel contemplan, de esa manera cada vez que alguien pregunta por que me salto tal error y paso esto o aquello se convierte todo en rebuscadas respuestas de que faltan librerías pero nunca dicen cuales o el error dlce esto o aquello, claro es obvio que si te pongo la captura de pantalla se puede leer cual es el error, no hace falta que alguien explique lo que obviamente dice en pantalla.

Son contados los sitios donde he visto respuestas serias a las preguntas realizadas, en la mayoria de los caso he visto respuestas como fíjate en y ponen un link como http://kernelnewbies. rg donde podes pasarte un año buscando tu problema. Me parece importante entender que cuando se demuestra algo que a nosotros nos a funcionado, es menester dar por entendido que con todos los demás tendría que pasara igual, ya que la tecnología evoluciona y se realizan cambios constantemente. Por otra parte existirán modificaciones aunque muy pequeñas en cada distribución de GNU-Linux.

Si bien yo he realizado este tutorial basándome en Debian Lenny 5. 05 salida el 26 de Junio del 2010, no tendría que haber grandes modificaciones con sus derivado 4 43 5. 05 salida el 26 de Junio del 2010, no tendría que haber grandes odificaciones con sus derivados. El Hardware utilizado es una Dell Inspiron 1525 compatible con smbios-2. 4 dmi-2. 4, Motherboard OlJ990C version All con un Intel(R) Core(TM) 2 Duo CPU T5750 de 2. OOGHZ. con Chipset 82801 H (ICH8 FamilY), Video GM965/GL960 Integrated Graphics Controller y controlador Sata 82801 HBM/HEM (ICH8M/lCH8M-E) con disco WDC WD2500BEVS-7 con placa wifi BCM4312 802. 1 b/gy Ethernet Marvell 88E8040 PCI-E Fast. Si bien poner el Hardware carece de importancia, ya que cada uno estará supeditado al propio, lo describo acá para que se tenga en claro con el escenario que se estuvo trabajando. Cave aclara que el sistema esta instalado desde base y no tiene ningún agregado, por lo tanto tendremos que instalar las librerías y dependencias a medida que vayamos realizando cada paso, es muy posible que muchas personas que lean esto ya tengan instaladas gran parte de los paquetes con lo cual deberán obviar esos pasos.

Por ultimo todas las acciones están realizadas con el usuario root, si alguno intenta hacerlo desde alguna distribución como Ubuntu o desde un usuario sin permisos tendré que anteponer a la sintaxis de los comandos «sudo» Este tutorial puede contener errores y con gusto recibiremos sus riticas y sugerencias, para poder mejorarlo y corregirlo en caso que se considere necesario. 2 Generalidades Sobre el Kernel. El Kernel o núcleo de GNU-Linux es el motor del sistema operativo. El cual administra todos los dispositivos y proporciona al a los programas de usuario una interfaz mas sencilla para comunicarse con el hardware.

Su función consiste que tanto el hardware com s 3 mas sencilla para comunicarse con el hardware. Su función consiste que tanto el hardware como el software de aplicación puedan interactuar juntos, ya sea administrando la memoria para todos los programas y procesos que se corran, como el uncionamiento de drivers con los distintos dispositivos del hardware. Anteriormente a la serie 2. 6 encontrábamos dos tipos de núcleos, la versión de producción y la versión de desarrollo.

La primera de estas o también llamada versión estable es la que se recomendaba instalar en los sistemas de seguridad o servidores, ya que la misma fue testeada y es el resultado final de la versión de desarrollo o también llamada experimental. Estas últimas por lo general contemplan nuevos drivers así como parches de seguridad o algunas mejoras con la salvedad que no fueron completamente testeadas y se encuentran en una fase e prueba. Anteriormente a la serie 2. 6 se usaban 3 números AAB3. CC AA: Indicaba la serie/versión principal del núcleo. Solo han existido la 1 y 2. BB: Indicaba si la versión era de desarrollo o de producción.

Un número impar, significaba que era de desarrollo, uno par, que era de producción. CC: Indicaba nuevas revisiones dentro de una versión, en las que se corregían Bug (fallas de seguridad) o errores de programación. 2. 1 KERNEL sene 2. 6 Con la serie 2. 6 del núcleo, el sistema de numeración así como el modelo de desarrollo han cambiado. Las versiones han pasado a enumerarse con 4 dígitos rsiones de producción y 6 3 desarrollo. AA. BB. CC. DD. AA Indica la serie/versión principal del núcleo. (La cual sigue siendo «2») BB: Indica la revisión principal del núcleo. Números pares e impares no tienen ningún significado hoy en día. En la actualidad estamos en «6»). CC: Indica nuevas revisiones menores del núcleo. Cambia cuando nuevas características y drivers son soportados. (Acá veremos el 2. 6. 32 y 2. 6. 35). DD: Este dígito cambia cuando se corrigen fallos de programación o fallos de seguridad dentro de una revisión. Hoy en día se suele usar un núcleo distribuido con el sistema que l usuario utiliza. Son las distribuciones las encargadas de proveer núcleos estables a sus usuarios y los GNU-Linux, se basan en el núcleo (‘Vanilla») distribuido por Linuz Torvalds y el equipo de programadores de LINUX.

Podemos encontrar muchos sitios en Internet donde bajar los kernel, el sitio por excelencia es http://wvww. kernel. org y es donde generalmente se buscan los núcleos así como sus parches de seguridad, para cualquier GNU-Linux. Podemos encontrar una lista detallada de todos sus principales mirrors en http://www. kernel. org/mirrors/. Web oficial de Linux Kernel Organization, Inc. http://www. ernel. org Mirrors Oficiales está compuesto actualmente por 75 sitios en 38 países o territorios. Una adicionales de 58 países o territorios que admiten forma remota. 2. KERNEL en Debian incluso mas reciente bajándolo del sitio oficial de Linuz Torvalds, este no tendrá las mejoras ni adaptaciones propias de Debian. El kernel sobre el que voy a desarrollar este tutorial es el 2. 6. 32 el cual a ml parecer es muy sobrio y estable, la versión que traen los Debian Lenny 5. 05 por default es la 2. 6. 26-2. El kernel lo bajamos de http://ftp. debian. org/debian/pool/main /l/linux-2. 6/ ynosotros vamos a elegir el 2. . 32_2. 6. 32-16 cargado en el sitio el 06 de Julio del 2010, ya que el mismo esta bien parcheado y y es uno de los mas actualizado si bien hemos probado el 2. . 34, el primero es mas estable a mi parecer, pero calculo que cuando lean esto ya existirán otros y cada cual instalará el actual en su momento. Acá podremos encontrar una lista de los mirros de Debian http://www. debian. org/mirror/list. Las descargas se realizaran mas rápido dependiendo si se trata de un sitio primario o secundario. Use el programa netselect para determinar cuál es la réplica con menor latencia; use un programa de descarga como get o bien rsync para determinar la réplica que proporciona mejor tasa de transferencia. 2. 3 Parámetros a Tener en Cuenta.

Lo ideal es tener en claro el hardware con el que contamos, lo cual podemos saberlo simplemente abriendo el equipo, pero esto es muy engorroso ya que tendríamos que desarmar nuestra maquina, lo mejor es leer el manual de la placa madre y todo los manuales que recibimos al comprar el PC en caso que no contemos con estas opciones, podemos valernos de software que describen detalladamente el hardware que tenemos, es importante que determinemos los slguientes dispositivos, icroprocesador, memoria, tipo de disco, 43 que determinemos los siguientes dispositivos, microprocesador, memoria, tipo de disco, chipset norte, chipset sur, video, sonido, red (wifi o utp) y usb. En el Shell podemos ejecutar comandos como «Ispci», «Ispci -w», «Isusb», «pcimodules», «Ispcmcia», «cat /proc/cpuinfo», y otros.

Si queremos algo mas gráfico podemos usar herramientas como Hardlnfo (System Profiler and Benchmark), Hardware Lister (Ishw), o Sysinfo por lo general gnome trae el primero, al segundo y al tercero lo instalamos con «aptitude install Ishw», «aptitude install sysinfo». 2. 4 Por que Debería Compilar mi Kernel Pueden ser varios los motivo por el cual quieras compilar tu a) Para actualizar driver de distintos dispositivos o incluso desactivar dispositivos genéricos para poder instalar los utilitarios como el caso de los driver NVDIA para el video o algunas placas WIFI. b) Aumentar la rusticidad del sistema, activando parámetros de medidas de seguridad que hagan el Kernel mas estable y seguro. ) Personalizar un kernel mas liviano, ya que al desactivar todos los dispositivos que no correspondan, no ocuparían recursos innecesarios y nuestro equipo será mucho mas rápido y estable. d) podrá parecer absurdo pero también ayuda a que onozcamos más de nuestro hardware y sistema, sobre todo cuando cometemos errores y tenemos que recompilar, siendo la única manera que el kernel no sea un tabú. Con una configuración cor lementación de algunos Recompilar el kernel de Linux no es más que personalizarlo o actualizarlo y como con cualquier aplicación, la personalización se hace para sacar un mayor provecho de las diferentes características que ofrece el software.

Antes de continuar tenemos que saber que el disco tendrá que tener un espacio de por lo menos 400 Mbytes para descompilar el kernel y poder cargar los parches, creo que esto no es problema en los PC actuales, ya que los discos son muy grandes, para saber el espacio que nos queda podemos valernos de el comando Para saber que kernel tenemos podemos usar el comando. «uname -a» en una consola. 3 Comencemos de una vez Lo primero que necesitamos hacer es bajarlo el kernel y lo podemos hacer desde el entorno gráfico o directamente desde una Shell. Con el comando «cd» nos posicionamos en /usr/src/ para luego por medio del comando «wget» nos bajamos el kernel ya este es el directorio donde tenemos que descomprimir y compilar nuestro kernel.

Bajando el paquete a lusr/src Ejecutamos el comando «Is» para listar que todo halla bajado ien y ahora con el comando «dpkg -i» instalamos el archivos que vamos a descomprimir. Acá puede pasar dos cosas, o que descomprima bien el paquete he instale lo que debe o que no pueda hacerlo por falta de librerías o programas como ser el compilador «gcc» la herramienta de generación o automatización de códgo «make» y la colección de binarios GNIJ «binutils». Al instalar el sistema estas no son son incorporadas, así que debemos instalarlo con apt-get, aptitude o synaptic o como mas fácil nos parezca yo me valdré de aptitude. En la captura de pantalla p error que nos emite al