PDF de programación - 1. Cómo butea el núcleo Linux

Imágen de pdf 1. Cómo butea el núcleo Linux

1. Cómo butea el núcleo Linuxgráfica de visualizaciones

Publicado el 25 de Agosto del 2020
368 visualizaciones desde el 25 de Agosto del 2020
50,3 KB
6 paginas
Creado hace 6a (08/09/2017)
1. Cómo butea el núcleo Linux

Una vista simplificación del proceso de buteo luce como esto:

1. Se carga la BIOS de la máquina o el firmware corre el cargador de buteo.

2. El cargador de buteo halla la imagen del núcleo en el disco, la carga en la memoria

y la inicia.

3. El núcleo inicializa los dispositivos y sus drivers.

4. El núcleo monta el sistema de ficheros raíz.

5. El núcleo inicia un programa llamado init con ID de 1. Este punto es el espacio de

inicio de usuario.

6. init inicia el resto de procesos del sistema.

7. En algún punto, init inicia un proeso que le permite al usuario ingresar, usualmente

cerca del final del buteo.

Su habilidad para identificar cada etapa del proceso de buteo será muy importante
para resolver problemas de buteo y entender el sistema como un todo. Sin embargo, el

comportamiento por defecto en la mayoría de distribuciones Linux a menudo complican,
si no es que imposibilitan, identificar las etapas de buteo, así que probablemente tendrá
una buena impresión sólo después de que ellos hayan terminado y usted ingrese.

1.1. Mensajes de puesta en marcha

Los sistemas Unix tradicionales producen varios mensajes de diagnóstico en el buteo
que le brindan información sobre los procesos. Los mensajes pueden venir primero del
núcleo y luego de procesos y procedimientos de inicialización que empiezan. No obstante,

estos mensajes no son elegantes ni consistentes, y en algunos casos tampoco son muy
informativos. Adicionalmente, las mejoras en el hardware han causado que el núcleo

inicie mucho más rápido que antes, lo que puede dificultar que se visualice lo que está
sucediendo.

Hay dos modos de ver los mensajes de buteo del núcleo y diagnóstico de tiempo de

ejecución. Usted puede:

1

Ver el fichero de registro de carga del núcleo del sistema. A menudo se encuentra en

/var/log/kern.log, pero depende de cómo esté configurado sus sistema, puede estar
agrupado junto a otros registros del sistema en /var/log/messages u otro lugar.

Use el comando dmesg, pero asegúrese de enviar la salida a less porque obtendrá
mucho más que una pantalla. El comando dmesg usa el anillo de buffer del núcleo,

el cual tiene un tamaño limitado, pero la mayoría de los nuevos núcleos tienen un
buffer lo suficientemente grande para mantener mensajes de buteo por un largo

tiempo.

Después de que el núcleo ha iniciado, el procedimiento de puesta en marcha del espacio
de usuario ha menudo genera mensajes. Estos mensajes serán más difíciles de ver y
revisar porque en la mayoría de sistemas usted no podrá hallarlos en un único fichero de

registro. Los scripts de puesta en marcha usualmente imprimen los mensajes a la consola
y son borrados después de que finalice el proceso de buteo. Sin embargo, esto usualmente

no es un problema porque cada script por lo general escribe su propio registro. Algunas
versiones de init, tales como Upstart y systemd, pueden capturar mensajes de diagnóstico
de la puesta en marcha y tiempo de ejecución que normalmente irán a la consola.

1.2.

Inicialización del núcleo y opciones de buteo

Sobre la puesta en marcha, el núcleo Linux se inicializa en este orden general:

1. Inspección de CPU

2. Inspección de memoria

3. Descubrir bus de dispositivo

4. Descubrir dispositivo

5. Puesta en marcha de subsistemas del núcleo (redes y más)

6. Montar el sistema de ficheros raíz

7. Iniciar el espacio de usuario

2

Los primeros pasos son muy importantes, porque cuando el núcleo tiene los dispositivos,

surge una pregunta de dependencias. Por ejemplo, los controladores del dispositivo disco
pueden depender del soporte de bus y el soporte al subsistema SCSI.

Después en el proceso de inicialización, el núcleo debe montar un sistema de fichero
raíz antes de empezar init. En general, usted no debe preocuparse por nada de esto,

excepto que algunos componentes necesarios puedan ser módulos del núcleo que se cargan
también como parte del núcleo principal. En algunas máquinas, podría necesitar cargar
estos módulos del núcleo antes de que el verdadero sistema de ficheros raíz sea montado.

El núcleo no emite mensajes específicos cuando inicia su primer proceso de usuario. No
obstante, los siguientes mensajes de gestión de memoria son un buen indicador de que

el espacio de usuario se está cargando donde el kernel protege su propia memoria de los
procesos del espacio de usuario:

Freeing unused kernel memory: 740k freed

Write protecting the kernel text: 5820k

Write protecting the kernel read-only data: 2376k

NX-protecting the kernel data: 4420k

También puede ver un mensaje sobre el sistema de ficheros raíz siendo montado en este

punto.

1.3. Parámetros del núcleo

Cuando está corriendo el núcleo Linux, el cargador de buteo para una serie de parámetros
del núcleo que le dicen al núcleo cómo empezar. Los parámetros especifican varios tipos

diferentes de comportamiento, tales como la cantidad de resultados de diagnóstico que
el núcleo debe producir y las opciones de controladores de dispositivos específicos. Los

parámetros del núcleo se pueden visualizar para su sistema de buteo mirando el fichero
/proc/cmdline.

1.4. Cargadores de buteo

Al iniciar el proceso de buteo, antes de que empiece el núcleo e init, un cargador de buteo

inicia el núcleo. La tarea de un cargador de buteo suena simple: Carga el núcleo en la

3

memoria, y entonces inicia el núcleo con un conjunto de parámetros. Pero considere la

preguntas que el cargador de buteo debe responder:

¿Dónde está el núcleo?

¿Qué parametros deben ser pasados al núcleo cuando inicie?

Las respuestas son (normalmente) que el núcleo y sus parámetros están normalmente
en algún lugar del directorio de ficheros raíz. Esto suena como que los parámetros del

núcleo son fáciles de encontrar, excepto que el núcleo ya no esté corriendo, así que no
se puede atravesar un sistema de ficheros para hallar los ficheros necesarios. Es peor:

Los controladores del dispositivo del núcleo normalmente usados para acceder al disco
también son inaccesibles. Piense en esto como en una especie de problema «huevo o
gallina».

Empecemos con el asunto del controlador. En los PC, los controladores de buteo usan
BIOS (Basic Input/Output System) o UEFI (Unified Extensible Firmware Interface)

para acceder a los discos. Antes todo hardware de disco tenía un firmware que permitía
a la BIOS acceder al hardware de almacenamiento adjunto con LBA (Linear Block
Addressing). Aunque esto mostraba un pobre desempeño, este método permitía un acceso

universal a los discos. Los cargadores de buteo son a menudo los únicos programas que usa
la BIOS para acceder al disco; el núcleo usa sus propios controladores de alto desempeño.

La pregunta del sistema de ficheros es más complicada. La mayoría de cargadores de
buteo modernos pueden leer tablas de partición y tener un soporte incorporado para un
acceso de sólo lectura al sistema de ficheros. Por lo tanto, pueden hallar y leer ficheros.

Esta capacidad se complica por una configuración y mejora dinámica del cargador de
buteo. Los cargadores de buteo de Linux no siempre tienen esta capacidad; y sin ella,

configurar el cargador de buteo es más difícil.

1.4.1. Tareas del cargador de buteo

Un cargador de buteo del núcleo Linux tiene varias funciones que incluyen la habilidad

para hacer los siguiente:

Seleccionar entre varios núcleos.

Cambiar entre conjuntos de parámetros de núcleo.

4

Permite que un usuario sobreescriba manualmente y edite los nombres de imágen

del núcleo y los parámetros.

Brindar soporte para butear otros sistemas operativos.

Los cargadores de buteo han avanzado considerablemente desde el comienzo del núcleo
Linux, con características tales como historial y sistemas de menú, pero la necesidad
básica siempre ha sido ser flexible en la selección de imagen y parámetros del núcleo.

Un fenémeno interesante es que ciertas necesidades han disminuido. Por ejemplo, debido
a que ahora se puede hacer una recuperación parcial o total desde un dispositivo de

almacenamiento USB, probablemente no tenga que preocuparse por ingresar manual
mente los parámetros del núcleo o ponerlo en modo de usuario único. Los cargadores
de buteo ofrecen más poder que antes, el cual puede manejarse particularmente si se

quieren personalizar núcleos o simplemente retocar parámetros.

1.4.2. Vistazo al cargador de buteo

Aquí se muestran cargadores de buteo comunes, en orden de popularidad:

GRUB Un estándar casi universal en sistemas Linux

LILO Uno de los primero cargadores de buteo Linux. ELILO es una versión UEFI

SYSLINUX Puede ser configurado para correr desde diferentes tipos de sistemas de

ficheros

LOADLIN Butea un kernel de MS-DOS

efilinux Un cargador de buteo UEFI que intenta servir como un modelo y referencia

para otros cargadores de buteo UEFI

corebott (Formalmente LinuxBIOS). Un reemplazo de alto desempeño para el PC BIOS

que puede incluir un núcleo

Linux Kernel EFISTUB Un plugin de núcleo para cargar el núcleo directamente desde

la partición del sistema EFI/UEFI que se halla en sistemas recientes

5

1.5.

Introducción a GRUB

Una de las capacidades más importantes de GRUB es la navegación por el sistema de
ficheros que facilita enormemente la selección y configuración de la imágen del núcleo.
Uno de los mejores modos de ver esto en acción y aprender sobre GRUB en general

es mirando su menú. La interface es fácil de navegar, pero hay un buen chance de que
nunca la veas. Las distribuciones Linux a menudo hacen bien al ocultar el cargador de

menú.

Para acceder al menú GRUB, mantenga presionada SHIFT cuando aparezca la pantalla
inicial de BIOS o firmware. En algunos casos, la configuración del cargador de buteo
podría no pausarse antes de inicial el núcleo.

6
  • Links de descarga
http://lwp-l.com/pdf18113

Comentarios de: 1. Cómo butea el núcleo Linux (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad