Kernel
Agenda Funciones. Diseño. Versiones. Obtener. Árbol. Construcción. Instalar.
Funciones Administración del hardware. Distribución de los recursos del sistema. Brinda servicios básicos a todas las partes del sistema.
Diseño Microkernel. Kernel Monolítico. Exokernel.
Kernel Monolítico
Kernel 2.6 Carga dinámica de módulos. Soporte SMP. Preemptive. Interesante manejo de hebras. Modelo de dispositivos OO & sysfs. Ignora características de diseño de sistemas UNIX tradicionales.
Versiones Estable. Desarrollo. Nivel de Producción. Release. Solución bugs. Incorporan nuevos drivers. Desarrollo. Nivel Experimental. Experimentos. Grandes hacks.
Obtener Kernel Repositorio. http://www.kernel.org/pub ftp://ftp.kernel.org/pub rsync://rsync.kernel.org/pub ¿Donde instalar? /usr/src/linux Instalar. Archivos fuentes en formato bzip2. Archivos fuentes en formato gzip. Archivos Patchs.
Obtener Kernel Instalando. BZIP2. linux-x.y.z.tar.bz2 $ tar jxvf linux-x.y.tar.bz2 GZIP. linux-x.y.z.tar.gz $ tar zxvf linux-x.y.tar.gz Patch. patch p1 < ../patch-x.y.z
Árbol del Kernel(1/3) arch/ Fuentes de cada arquitectura. crypto/ API criptografía. Documentation/ Documentación del código fuente del kernel. drivers/ Drivers de dispositivos. fs/ VFS & sistemas de archivos.
Árbol del Kernel(2/3) include/ init/ ipc/ kernel/ lib/ Headers del kernel. init/ Inicialización del kernel. ipc/ Código de comunicación de los procesos. kernel/ Kernel y subsistemas. lib/ Rutinas.
Árbol del Kernel(3/3) mm/ net/ scripts/ security/ sound/ user/ Administración de memoria. net/ Subsistema de red. scripts/ Scripts para construcción del kernel. security/ Modulo de seguridad. sound/ Subsistema de sonido. user/ Código user-space.
Construcción del kernel(1/6) Wizard job. Almacenamiento de configuraciones. Archivo .config .config Opciones poseen prefijo CONFIG_ Opciones. Booleanas. Triestado.
Construcción del kernel(2/6) Opciones boleanas. Acepta: y (yes) o n (no) Ejemplo: CONFIG_PREEMPT=y Opciones triestado. Acepta: y (yes), n (no) o m (modulo) Ejemplo: CONFIG_BLK_DEV_LOOP=m
Construcción del kernel(3/6) Utilidad comando de texto. $ make config Utilidad gráfica c/s n-curses. $ make menuconfig Utilidad gráfica c/s X11(xorg). $ make xconfig Utilidad gráfica c/s GTK+. $ make gconfig
Construcción del kernel(4/6) Utilidad defconfig Iniciados. $ make defconfig Utilidad oldconfig Avanzados. Validar la configuración. $ make oldconfig
Construcción del kernel(5/6) Correr MAKE. Una vez configuradas y validadas las opciones. $ make Salida MAKE. Capturar en archivo. $ make > algun_archivo_de_texto.txt Desechar salida. $ make > /dev/null
Construcción del kernel(6/6) MAKE y Multiples tareas. $ make –jn Ejemplo de máquina con dual core. $ make –j 4 Aprovechar sistemas SMP. Rapidez en la construcción.
Instalar:: Kernel Bajo el supuesto de una arquitectura i386. Buscar imagen en arch/i386/boot/bzImage Copiar imagen en directorio /boot Renombrar a vmlinuz-version Cargar nueva entrada en gestor de arranque. LILO /etc/lilo.conf lilo -v GRUB /boot/grub/menu.lst
Instalar :: Módulos $ make modules_install Instala y compila los módulos. Ubicación /lib Crea archivo System.map Contiene tabla de símbolos del kernel. Mapea símbolos del kernel a direcciones de memoria. Utilizado durante depuración.
Preguntas y Respuestas