Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Compilacion del Kernel a la Debian
1.
2.
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.
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. Obteniendo los fuentes del Kernel Francisco “Cisko” Rivera Existen básicamente 2 formas de obtenerlo: 1- Repositorios Debian 2- Kernel.org
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. 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. 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. 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. 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. 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. 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. 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. 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!