so3 - 07 kernel en linux.pdf

28
Sistemas Operativos III Kernel en Linux 1 Copyright © 2007 por TECSUP Unidad 07 El kernel de Linux Redes y Comunicaciones de Datos

Upload: hgcu

Post on 20-Jan-2016

111 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 1

Copyright © 2007 por TECSUP

Unidad 07El kernel de Linux

Redes y Comunicaciones de Datos

Page 2: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 2

2

Introducción

� Del núcleo o kernel de un Sistema Operativo depende la administración de los recursos de hardware (procesadores, memoria RAM, discos, periféricos), es por eso que el rendimiento de un sistema operativo depende que tan bien compilado este su kernel.

� En Linux tenemos la opción de compilarlo nosotros mismos agregándole o quitándole soporte para diversos dispositivos de hardware.

� En esta unidad veremos cómo compilar el Kernel de Linux y qué utilidades necesitamos para hacerlo.

Page 3: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 3

3

Objetivos

� Identificar los componentes del kernel de Linux.� Diferenciar los tipos de Kernel.� Identificar y utilizar los módulos del kernel.� Utilizar las herramientas necesarias para compilar

el Kernel y sus módulos.� Administrar los módulos del Kernel.

Page 4: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 4

4

Contenido

� El Kernel de Linux.� Módulos del Kernel.� Compilación del Kernel.� Administrando módulos.

Page 5: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 5

5

TCP/IPTCP/IP

El Kernel de Linux

� El Kernel o núcleo es la parte esencial de un sistema operativo.

� Se encarga de la administración de la memoria, los procesos y los discos.

� Es independiente de la distribución GNU/Linux utilizada.

kernelkernelwww.kernel.orgwww.kernel.org

Originalmente Linux era solamente el nombre del núcleo. El término "núcleo" propiamente dicho se refiere al software de sistema de bajo nivel que provee una capa de abstracción sobre el hardware, control de discos y sistema de archivos, multitarea, balance de carga, comunicación en red y medidas de seguridad. Un núcleo no es un Sistema Operativo completo (tal y como se entiende el término normalmente).

Las funciones más importantes del kernel son:

•Administración de la memoria para todos los programas y procesos en ejecución.

•Administración del tiempo de procesador que los programas y procesos en ejecución utilizan.

•Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera cómoda

Page 6: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 6

6

� Los controladores de dispositivos y las extensiones del núcleo normalmente se ejecutan en un espacio privilegiado conocido como anillo 0 (ring 0), con acceso irrestricto al hardware, aunque algunos se ejecutan en espacio de usuario.

� Los controladores de dispositivos y las extensiones al sistema operativo se pueden cargar y descargar fácilmente como módulos, mientras el sistema continúa funcionando sin interrupciones.

� Los controladores pueden ser pre-volcados (detenidos momentáneamente por actividades más importantes) bajo ciertas condiciones. Esta habilidad fue agregada para mejorar el soporte de Multiprocesamiento Simétrico.

El Kernel de Linux: Arquitectura

Aún cuando Linus Torvalds no ideó originalmente Linux como un sistema portable, es ahora de hecho, uno de los núcleos de sistema operativo más ampliamente portados, y funciona en sistemas muy diversos que van desde iPAQ (una handheld) hasta un zSeries (un mainframe masivo, muy costoso).

De todos modos, es importante notar que los esfuerzos de Torvalds también estaban dirigidos a un tipo diferente de portabilidad. Según su punto de vista, la portabilidad es la habilidad de compilar fácilmente en un sistema aplicaciones de los orígenes más diversos; así, la popularidad original de Linux se debió en parte al poco esfuerzo necesario para tener funcionando las aplicaciones favoritas de todos.

VERSIONES DE KERNELVERSIONES DE KERNEL

series por debajo de la 2.6 : Las versiones del núcleo se numeran con 3 números, de la siguiente forma: A.B.C

A: Indica la serie/versión principal del núcleo. Este número cambiaba cuando la manera de funcionamiento del kernel sufre un cambio muy importante. B: Indica si la versión es de desarrollo ó de producción. Un número impar, significa que es de desarrollo, uno par, que es de producción.C: Indica nuevas revisiones dentro de una versión, en las que lo único que se ha modificado eran fallos de programación.

Page 7: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 7

7

La versión del Kernel

2.6.18.2

La versión del Kernel

Revisión mayor del

Kernel

Revisión menor del

Kernel

Fallos de programación y

seguridad del Kernel

A partir de 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 numerarse con 4 dígitos y no existen versiones de producción y desarrollo.

Las versiones del núcleo se numeran hoy en día con 4 dígitos, de la siguiente forma: A.B.C.D.

A: Indica la serie/versión principal del núcleo.

B: Indica la revisión principal del núcleo. Números pares e impares no tienen ningún significado hoy en dia.

C: Indica nuevas revisiones menores del núcleo. Cambia cuando nuevas características y drivers son soportados.

D: Este digito cambia cuando se corrigen fallos de programación o fallos de seguridad dentro de una revisión.

Actualmente son las distribuciones las encargadas de distribuir núcleos estables a sus usuarios y estos núcleos se basan en el núcleo distribuido por Linux Torvalds y el equipo de programadores del núcleo.

Page 8: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 8

8

KERNELKERNEL

Modularidad del Kernel� El Kernel tiene componentes que son esenciales y que

forman parte integral de él.� Existen componente que pueden compilarse en forma de

módulos, dando flexibilidad al sistema.� Los módulos permiten que los dispositivos o alguna

propiedad se integren al Sistema Operativo.� Los módulos no se enlazan directamente al Kernel,

pudiendo ejecutar en el arranque o posteriormente, cuando se necesiten. Por ejemplo, el soporte para una cierta tarjeta de red.

MODULOS

En este contexto, módulo se refiere a un controlador de un dispositivos o servicio que puede cargarse o descargarse cuando el usuario o algún dispositivo lo solicita (generalmente dinámicamente).

Los módulos que se distribuyen con el kernel están ubicados en el directorio /lib/modules/version, donde version es la versión de su kernel, con la extensión .o organizados en directorios que indican el tipo de dispositivo o el propósito.

por ejemplo:

fs - sistema de archivos

net - protocolos y hardware para redes.

Para lograr configurar un dispositivo controlado por un módulo:

• Asegurar que no haya conflictos entre el dispositivo con otros yeventualmente conocer la configuración que usa (algunos controladores auto detectan la configuración del dispositivo, pero no todos).

• Encontrar un módulo que pueda manejar el dispositivo.

• Eventualmente pasar opciones al módulo de acuerdo a la configuración del dispositivo (IRQ o I/O)

Page 9: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 9

9

Administración de Módulos

� Un módulo es un archivo objeto que se puede "enlazar" y "des-enlazar" en el núcleo de Linux en tiempo de ejecución.

� Cada módulo se compila para una versión de núcleo concreta.

� Para trabajar con módulos se dispone de las siguientes utilidades del sistema:� # lsmod: Lista los módulos cargados.� # modinfo –d [modulo]: Muestra información sobre el

módulo.� # insmod [modulo]: Instala en el núcleo un módulo.� # rmmod [modulo]: Extrae del núcleo un módulo.� # modprobe [modulo]: Automatiza/facilita la gestión de

módulos.� # depmod -n: Determina las dependencias entre módulos.

lsmod

Lista los módulos cargados, de cada uno presenta nombre, tamaño, cuenta de usos y lista de módulos que lo usan (es equivalente a cat/proc/modules ).

rmmod módulos

Descarga uno o más módulos cargados, mientras estos no estén siendo usados. Con la opción -r intenta descargar recursivamente módulos de los cuales el módulo especificado dependa. El comando rmmod -a descarga todos los módulos que no estén siendo usados.

insmod módulo [opciones ]

Trata de cargar el módulo especificado. Pueden pasarse opciones específicas para el módulo, a continuación del nombre con la sintaxis símbolo=valor. Puede indicarse una ruta no estándar para buscar módulos estableciéndola en la variable MODPATH o en /etc/modules.conf. Dado que los módulos se enlazan directamente con el kernel, deben ser compilados para una versión precisa, con la opción -f puede evitarse el chequeo de versiones.

Page 10: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 10

10

Detección de Hardware

� El programa Kudzu detecta el nuevo hardware si es soportado y configura el módulo necesario para él.

� El módulo también puede ser especificado manualmente modificando el archivo de configuración del módulo, /etc/modprobe.conf. , donde se le asocia un alias:alias eth0 pcnet32

depmod

Como un módulo puede requerir otros, hay dependencias que deben respetarse al cargar y descargar módulos. depmod permite calcular tales dependencias entre varios módulos o entre todos los disponibles con la opción -a.

modprobe módulo opciones

Emplea la información de dependencias generada por depmod e información de /etc/modules.conf para cargar el módulo especificado, cargando antes todos los módulos de los cuales dependa. Para especificar el módulo basta escribir el nombre (sin la ruta, ni la extensión .o) o uno de los alias definidos en /etc/modutils/alias.

Page 11: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 11

11

Información de Hardware

memoriamemoriaprocesadorprocesador

LINUX ( KERNEL )LINUX ( KERNEL )

Dispositivos

PCI

Dispositivos

PCI

� Los archivos de información del sistema se ubican en /proc� CPU “cpuinfo”, Memoria “meminfo”, Interupciones

“interrupts”

En Linux hay un mecanismo adicional para que el núcleo y los módulos del núcleo envíen información a los procesos: el sistema de ARCHIVOS /proc.

Originalmente se diseño para permitir un fácil acceso a la información sobre los procesos (de aquí el nombre), ahora lo utiliza cualquier elemento del núcleo que tiene algo interesante que informar como:

/proc/modules que tiene la lista de los módulos.

/proc/meminfo que tiene las estadísticas de uso de la memoria.

Page 12: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 12

12

Setup

SISTEMA OPERATIVOSISTEMA OPERATIVO

COMPONENTES

TECLADO, MOUSE

COMPONENTES

TECLADO, MOUSE

# setup

� Realiza personalización de periféricos y de algunas propiedades del Sistema (Autentificación, Seguridad, Servicios).

Page 13: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 13

13

Actualización del Kernel

� La utilidad de actualizar un Kernel permite contar con soporte para un mayor número de dispositivos de hardware, parches de seguridad y mejoras que la actualización incluya.

� El método tradicional consiste en descargar el código fuente desde http://www.kernel.org y configurar las opciones deseadas, compilarlo e instalarlo uno mismo. Ciertamente esto permite un mayor control sobre las características deseadas, pero puede resultar un procedimiento algo complejo.

� Una forma más sencilla de actualizar el Kernel para distribuciones CentOS es utilizando yum :� yum upgrade kernel� yum upgrade kernel-smp (para versiones multiprocesador)

Es útil recompilar y/o actualizar un kernel porque trabajando con kernelsnuevos 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.

Importante: Si usted no tiene experiencia compilando el kernel es recomendable que utilice un equipo donde usted pueda practicar sin temor de que su sistema eventualmente pueda dañarse. No hay ningún riesgo al compilar el kernel (salvo que se quede sin espacio), en cambio, la instalación del mismo debe de realizarse con algo de cuidado.

Page 14: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 14

14

Actualización del Kernel

# rpm -qa | grep kernel# rpm -qa | grep kernel

kernel-2.4.20-2.47.1kernel-debug-2.4.20-2.47.1kernel-source-2.4.20-2.47.1kernel-doc-2.4.20-2.47.1kernel-pcmcia-cs-3.1.31-13kernel-smp-2.4.20-2.47.1

kernel-2.4.20-2.47.1kernel-debug-2.4.20-2.47.1kernel-source-2.4.20-2.47.1kernel-doc-2.4.20-2.47.1kernel-pcmcia-cs-3.1.31-13kernel-smp-2.4.20-2.47.1

Para determinar cuáles paquetes del kernel están instalados, ejecute el comando siguiente en el intérprete de comandos:

La salida contendrá alguno o todos de los siguientes paquetes, dependiendo del tipo de instalación que haya realizado (el número de la versión puede variar):

De la anterior salida, puede determinar qué paquetes necesita descargar para actualizar el kernel. El único paquete necesario para un sistema con un único procesador es el kernel.

Si tiene un ordenador con más de un procesador, necesita el paquete kernel-smp que contiene el soporte para más de un procesador. También se recomienda instalar el paquete kernel en el caso de que el kernel con varios procesadores no funcione correctamente con el sistema.

Si tiene un ordenador con una memoria superior a cuatro GB, necesita el paquete kernel-bigmem para que el sistema pueda usar más de cuatro gigabytes de memoria. De todas maneras, se recomienda instalar el paquete kernel por si ocurriera algún error. El paquete kernel-bigmemexiste sólo para la arquitectura i686.

Si está actualizando el kernel en un ordenador portátil o está usando PCMCIA, el paquete kernel-pcmcia-cs también es necesario. No necesita el paquete kernel-source a menos que vaya a recompilar el kernel por símismo o vaya a desarrollarlo.

El paquete kernel-doc contiene documentación sobre desarrollo del kernel y no es necesario. Se recomienda si el sistema es usado para desarrollos del kernel.

El paquete kernel-util incluye utilidades que pueden ser usadas para controlar el kernel o el hardware del sistema. No es necesario.

Page 15: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 15

15

TCP/IPTCP/IP

Actualizar vía RPMs

kernelkernel

� Un KERNEL en formato RPM esta preparado para distribuirse en el Sistema de Archivos y actualizar automáticamente el gestor de arranque.

# rpm –ivh [kernel].rpm# rpm –ivh [kernel].rpm

El directorio de descarga depende de la arquitectura de la computadora. Por ejemplo en el directorio i386, se encuentra los paquetes que pueden instalarse en maquinas con cualquier microprocesador de arquitectura 80386, 80486, 80586 y 80686:

kernel-x.x.xx-xx.i386.rpm (si su equipo tiene microprocesador 80386 y 80486)

kernel-doc-x.x.xx-xx.i386.rpm

kernel-source-x.x.xx-xx.i386.rpm (opcional)

En el subdirectorio i586 se encuentran los paquetes optimizados para microprocesadores 80586, como AMD K5, K6, K6-II y K6-III y Pentium, Pentium MMX y Pentium Pro.

En el subdirectorio i686 se encuentran los paquetes optimizados para microprocesadores 80686, como los Celeron, Pentium II y Pentium III.

El paquete kernel-smp-x.x.xx-xx.xxxx .rpm, es para computadoras que utilizan múltiples microprocesadores.

Page 16: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 16

16

TCP/IPTCP/IP

Actualizar con los fuentes

kernelkernel

www.kernel.orgwww.kernel.org

DescompresiónPersonalizaciónCompilaciónAgregar Perfil

DescompresiDescompresi óónnPersonalizaciPersonalizaci óónnCompilaciCompilaci óónnAgregar PerfilAgregar Perfil

Actualizar el kernel con los archivos fuete consiste en realizar una compilación del Kernel. Para esta tarea debemos seguir los siguientes pasos:

1) Obtener el kernel en formato tar.gz. -> Por ejemplo de www.kernel.org o de la pagina de la distribución que estemos utilizando.

2) Descomprimir el kernel -> Para esto utilizamos la herramienta TAR como ya describimos en la clase anterior.

3) Personalizar el kernel -> este proceso consiste en elegir los componentes que deseamos instalar en el kernel y los módulos que usaremos luego.

4) Compilación -> Es el proceso de compilación del kernel y nos dará como resultado la imagen del kernel y los módulos que decidimos utilizar.

5) Agregar perfil -> Consiste en agregar una entrada al gestor de arranque (GRUB o LILO) para poder arrancar conel nuevo Kernel.

Cuando instalamos un nuevo kernel no es necesario eliminar el Kernel anterior, es recomendable dejarlo aun disponible e caso nuestra nueva version de kernel presente problemas al momento de arrancar, etc.

Page 17: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 17

17

make menuconfig

�� Personaliza las propiedades del nuevo kernel.Personaliza las propiedades del nuevo kernel.

PERSONALIZACIONPERSONALIZACION

make menuconfigmake make menuconfigmenuconfig

SOURCESOURCE[x] Integracion al Kernel

[M] modulable

.config..configconfig

La personalización es la parte del proceso que puede resultar mascomplicada ya que aqui debemos escoger que compilaremos en el mismokernel y que como mudulos.

Para esto utilizaremos un herramienta como menuconfig, al abrirse la ventana de configuración

Y= se incluirá soporte en el kernel para este ítem

N= no se incluirá en el kernel

M= se incluirá en forma de módulo

Incluir algo en el kernel en forma modular significa que el soporte se compila en el kernel pero que la parte de software para dicho ítem se compila en un "módulo" separado que el kernel mismo se ocupará de cargar en memoria solo cuando necesite el soporte para dicho ítem.

Todo lo que se compila en el kernel permanece en memoria siempre, las partes compiladas en forma modular solo se cargan en memoria cuando son requeridas por el sistema pudiendose luego "bajar" en el momento en que ya no se utilizan.

Page 18: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 18

18

Pantalla de make menuconfig

Page 19: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 19

19

Procedimiento de Instalación

KERNELKERNEL

� A partir de las fuentes se obtiene el Kernel y los módulos.

MODULOSMODULOS

COMPILACIONCOMPILACION

linux-sourcelinuxlinux --sourcesource

make bzImagemake modulesmake modules_install

make bzImagemake modulesmake modules_install

La compilacion del Kernel se realiza con tres pasos basicos:

1) make bzImage:

Esta línea compila el kernel de linux con las opciones seleccionadas en el paso anterior. Esta tarea puede tardar varios minutos a varias horas dependiendo de la máquina en la cual lo estemos ejecutando. Luego si todo fue bien podremos contemplar el kernel recién generado en el archivo bzImage. Este kernel debe ser copiado al directorio /boot.

2) Make modules:

Esta línea compila los módulos que usaremos con el kernel seleccionados durante la personalización.

3) Make modules-install

Esta línea instala los módulos compilados en le directorio: /lib/modules/[versión del kernel]

Page 20: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 20

20

SOURCESOURCE

Ubicación de elementos del Kernel

�� UbicaciUbicacióón del Kernel, mn del Kernel, móódulos y fuentes del Kernel.dulos y fuentes del Kernel.

vmlinuzvmlinuzvmlinuz

//

usrusr

srcsrcKERNELKERNEL

bootboot liblib

modulesmodules

MODULOSMODULOS

Page 21: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 21

21

make bzImage

�� Genera el kernel con las propiedades seleccionadas.Genera el kernel con las propiedades seleccionadas.

make bzlilomake make bzlilobzlilo

SELECCISELECCIÓÓNNACTUALACTUAL

.config..configconfig

SOURCESOURCE

[x] propiedad

KERNELKERNEL

bzImagebzImagebzImage

Una vez generada la imagen del kernel, ésta debe ser copiada al directorio/boot y renombrada a vmlinuz-[version del kernel]

#cp -i arch/i386/boot/bzImage /boot/vmlinuz-2.2.18

Tambien copiar el archivo System.map al directorio /boot. System.mapcontiene información acerca de los puntos de entrada de las funciones compiladas en el kernel. El kernel por sí mismo conoce esta información pero algunos programas pueden necesitarla.

#cp -i System.map /boot/System.map-2.2.18

Page 22: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 22

22

make modules

� Genera los módulos de las propiedades seleccionadas

make modulesmake modulesmake modules

SELECCISELECCIÓÓNNACTUALACTUAL

..configconfig

SOURCESOURCE

[M] propiedad

MODULOSMODULOS

[version][[versionversion ]]

//liblib /modules/modules

Page 23: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 23

23

make modules_install

� Instala los módulos generados.

make modules_installmake make modules_installmodules_install

MODULOSMODULOS

[version][[versionversion ]]

//liblib /modules/modules

Page 24: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 24

24

mkinitrd

� Crea una imagen initrd para cargar módulos SCSI.

mkinitrdmkinitrdmkinitrd

initrd[version]initrd[versioninitrd[version ]]

//bootboot

MODULOSMODULOS

El fichero especial /dev/initrd es un dispositivo de bloques de sólo lectura. El dispositivo /dev/initrd es un disco RAM que es inicializado (es decir, cargado) por el gestor de arranque antes de cargar e iniciar el núcleo del sistema. Así, el núcleo puede utilizar el contenido del dispositivo /dev/initrdpara un arranque del sistema en dos fases.

En la primera fase del arranque, el núcleo pone en marcha y monta un sistema de ficheros raíz inicial a partir del contenido de /dev/initrd (o sea, el disco-RAM inicializado por el gestor de arranque). En la segunda fase, se cargan controladores adicionales u otros módulos desde el contenido del dispositivo raíz inicial. Tras cargar los módulos adicionales, se monta un nuevo sistema de ficheros raíz (es decir, el sistema de ficheros raíz habitual) desde un dispositivo diferente.

Page 25: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 25

25

Modificar Gestor de Arranque

� Agregar entrada en lilo.conf o grub.conf para su selección.

REGISTRARREGISTRARimage=/boot/vmlinuz

label=Upgraderead-onlyroot=/dev/hda1

image=/boot/vmlinuzlabel=Upgraderead-onlyroot=/dev/hda1

lilo.conflilo.conflilo.conf

NuevoNuevoKernelKernel

title Upgraderoot (hd0,0)kernel /boot/vmlinuz-xxx ro /dev/hda1initrd /boot/initrd-xxxxx.img

title Upgraderoot (hd0,0)kernel /boot/vmlinuz-xxx ro /dev/hda1initrd /boot/initrd-xxxxx.img

grub.confgrub.confgrub.conf

Una vez que el Kernel ha sido compilado debemos decirle la gestor de arranque donde esta el nuevo kernel y como debe iniciarlo. Para esto debemos agregar una nueva entrada en el archivo grub.conf.

Es importante que no elimine el kernel anterior o no retire la entrada en grub.conf, que carga su kernel antiguo. Esto como medida de seguridad en caso el nuevo kernel compilado no funcione correctamente.

Page 26: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 26

26

Enlaces

� Kernel RHEL:� http://www.redhat.com/docs/manuals/waf/rhea-dg-

waf-en-6.1/ch-kernel-tutorial.html

� Kernel CentOS:� http://wiki.centos.org/HowTos/Custom_Kernel

� GRUB� http://www.linuxjournal.com/article/4622

Page 27: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 27

27

Preguntas

1. ¿Cuál es el directorio donde se aloja la imagen del Kernel?

2. ¿En que ruta se ubican los módulos del Kernel?

3. ¿Con que comando compilamos e kernel?

Page 28: SO3 - 07 Kernel en Linux.pdf

Sistemas Operativos III

Kernel en Linux 28

28

Respuestas

1. /boot.

2. /lib/modules

3. make bzimage