Compilacion del Kernel a la Debian

2,120 views

Published on

Compilacion del Kernel a la Debian

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,120
On SlideShare
0
From Embeds
0
Number of Embeds
63
Actions
Shares
0
Downloads
87
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • Compilacion del Kernel a la Debian

    1. 1. Compilación del Kernel, al estilo Debian <ul><ul><li>Por: Stefan “Cisko” Rivera </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul>
    2. 2. Qué es el Kernel? <ul><li>El kernel es el componente más importante y es quien hace funcionar todo el sistema, sin el kernel no podría funcionar ninguna otra aplicación. </li></ul><ul><li>Algunas de las funciones del kernel son: </li></ul><ul><li>Administrar la memoria del computador </li></ul><ul><li>Establecer la comunicación entre las aplicaciones y los dispositivos de hadware </li></ul><ul><li>Administrar los procesos </li></ul><ul><li>Otros </li></ul>Francisco “Cisko” Rivera
    3. 3. Por qué compilar el Kernel? Francisco “Cisko” Rivera Es útil recompilar un kernel porque trabajando con kernels nuevos generalmente se obtiene: 1. Un sistema más rápido, estable y robusto. 2. Un sistema con soporte a elementos de hardware no encontrado en kernels viejos. 3. Un sistema con soporte a características especiales disponibles pero no habilitadas en kernels viejos. Recompilar el kernel de Linux no es más que personalizar el kernel 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.
    4. 4. Por qué compilar a la Debian? Francisco “Cisko” Rivera <ul><li>Empaquetamos, generando un archivo .deb </li></ul><ul><li>Fácil eliminación cuando se desee dpkg -r tu_kernel o con apt-get, aptitude, synaptic. </li></ul><ul><li>Fácil almacenamiento. </li></ul><ul><li>Fácil instalación </li></ul><ul><li>Todo es mas fácil... </li></ul>
    5. 5. Preparación Francisco “Cisko” Rivera # apt-get install kernel-package ncurses-dev bzip2 module-init-tools initrd-tools procps Nos aseguramos de tener las herramientas necesarias, pueda ser que algunas ya las tengamos.
    6. 6. Obteniendo los fuentes del Kernel Francisco “Cisko” Rivera Existen básicamente 2 formas de obtenerlo: 1- Repositorios Debian 2- Kernel.org
    7. 7. Obteniendo los fuentes del Kernel Francisco “Cisko” Rivera Repositorios Debian: # apt-get install kernel-source-x.x.x Nota sobre los nombres del Kernel en Debian: Los kernels 2.4 y 2.6 en su versión estable comienzan con “kernel-source”, mientras que los kernels 2.6 en su versión inestable comienzan con “linux-source”. Las fuentes del kernel serán almacenadas en /usr/src como un archivo bz2.
    8. 8. Obteniendo los fuentes del Kernel Francisco “Cisko” Rivera Kernel.org Los kernel standards son liberados en http://www.kernel.org . Aca se guardan todos los kernels y sus parches. Asi por ejemplo para descargar el kernel 2.6.19.2 lo hacemos con la siguiente URL: http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.2.tar.bz2 El archivo descargado lo moveremos, como root, a /usr/src para su manejo.
    9. 9. Desempacando nuestro kernel Francisco “Cisko” Rivera Cambiar de directorio a /usr/src # cd /usr/src Revisamos si nuestro archivo kernel está donde debe de estar: # ls -la Deberíamos ver algo como: -rw-r--r-- 1 root root 39315716 2006-03-06 12:32 linux-source-2.6.19.2.tar.bz2 Desempaquetamos: # tar xjf linux-source-2.6.15.tar.bz2 Esto puede tomar unos cuantos segudos y luego entramos al directorio: # cd linux-source-2.6.19.2
    10. 10. Configurando nuestro Kernel Francisco “Cisko” Rivera Existen dos formas de configurarlo: 1- Desde consola: # make menuconfig 2- Graficamente # make xconfig Nota: para la forma gráfica tendremos que tener instaladas las librerias QT # apt-get install libqt3-mt-dev
    11. 11. Configurando nuestro Kernel Francisco “Cisko” Rivera Leyenda [ ] Característica puede ser compilada directamente dentro del kernel < > Característica puede ser compilada como modulo o directamente dentro del kernel [*] / <*> Compilar directamente dentro del kernel <M> Compilar como módulo
    12. 12. Configurando nuestro Kernel Francisco “Cisko” Rivera Las opciones básicas que nos presenta el menú de configuración del kernel son: Code Maturity level options ( Opciones de nivel de madurez del codigo ) General Setup ( Configuración general ) Loadable modules support ( Soporte de módulos cargables ) Block Layer ( Capa de bloques ( se refiere a los dispositivos de bloques ) ) Processor type and features ( Tipo de procesador y características ) Power Management Options ( Opciones de manejo de energía ) Bus Options (PCI, etc.) ( Opciones de bus ( PCI, etc. ) Executable File Formats / Emulations ( Formatos de archivo ejecutable / Emulaciones ) Networking ( Redes ) Device Drivers ( Controladores ( Drivers ) de dispositivos ) Firmware Drivers ( Controladores de Firmware ) File Systems ( Sistemas de archivos ) Instrumentation Support ( Soporte de instrumentación ) Kernel Hacking ( 'Hacking' del kernel ) Security Options ( Opciones de seguridad ) Cryptographic Options ( Opciones Criptográficas ) Library routines ( Rutinas de librerías ) ----- Load an Alternate Configuration File ( Cargar un archivo de configuración alternativo ) Save Configuration to an Alternate File ( Grabar la configuración en un archivo alternativo )
    13. 13. Compilando nuestro Kernel Francisco “Cisko” Rivera Cuando terminemos de configurar nuestro kernel, podemos seleccionar Exit o ESC, respondiendo YES cuando nos pida guardar la nueva configuración (.config). Para comenzar a compilar lo hacemos con los siguientes comandos: Nota, make dep es unicamente para kernels 2.4x. # make dep # make-kpkg clean # make-kpkg kernel_image Alternativamente puedes generar los headers y agregar un flag de tu revisión propia (puede ser cualquier cosa, excepto caracteres “raros” y espacios” # make-kpkg --revision=cisko.0.1 kernel_image kernel_headers Tambien, alternativamente podemos generar la imagen initrd (la gran mayoria tiene que hacerlo). # make-kpkg --revision=cisko.0.1 kernel_image kernel_headers --initrd
    14. 14. Compilando nuestro Kernel Francisco “Cisko” Rivera A esta altura verás muchas líneas de código pasando por tu consola y si todo fue bien encontrarás los archivos .deb generados por tu compilación: /usr/src/kernel-image-2.6.19.2-X.deb /usr/src/kernel-headers-2.6.19.2-X.deb
    15. 15. Instalando nuestro Kernel Francisco “Cisko” Rivera # dpkg -i kernel-image-2.6.19.2-X.deb # dpkg -i kernel_headers-2.6.19.2-X.deb Esto instalará nuestro kernel, agregará la opción en nuestro GRUB y generará el initrd RAM correspondiente.. es decir, se encarga de hacer todo por nosotros. Reiniciamos... y cruzamos los dedos!
    16. 16. Gracias por su Atención! “ Porque de tal manera amó Dios al mundo que dió a su hijo unigénito, para que todo aquel que en Él crea, no se pierda mas tenga vida eterna” Juan 3:16 <ul><li>Stefan “Cisko” Rivera </li></ul><ul><li>[email_address] </li></ul><ul><li>http://pcamaleon.org </li></ul><ul><li>Asociación de Usuarios Linux </li></ul><ul><li>de El Salvador </li></ul><ul><li>http://www.linux.org.sv </li></ul><ul><li>Comunidad de Usuarios Debian </li></ul><ul><li>de El Salvador </li></ul><ul><li>http://www.debian.org.sv </li></ul>

    ×