Introducción al proceso de inicio de Raspberry Pi Linux
1. ¿Cargar el kernel
? Cuando se enciende la computadora, el primer paso es la autoprueba del BIOS, que comienza según el dispositivo de inicio (generalmente el disco duro) configurado en el BIOS. Una vez que el sistema operativo se hace cargo del hardware, primero lee los archivos del kernel en el directorio /boot. El núcleo de Raspberry Pi 4B es Raspbian GNU/Linux 10 (Buster), basado en Debian.
2. ¿Inicio del proceso de inicialización
? Después de cargar el archivo del kernel, ejecute el primer programa init, que se utiliza para inicializar el entorno del sistema. Init se encuentra en el directorio /sbin y el número de proceso PID es 1, que es el proceso 1. Todos los demás procesos se bifurcan de init y son hijos de init.
También existe un proceso 0, un proceso inactivo, que es creado por el propio kernel desde cero cuando se inicializa el sistema. Cree un hilo del kernel para ejecutar la función init llamando a kernel_thread, y el proceso 0 crea un proceso 1.
3. Nivel de operación
Para obtener más detalles, consulte el artículo del autor: ¿Cómo comenzar con el nivel de operación de Linux? Pero, ¿cómo se determina el nivel de ejecución al arrancar?
El proceso de inicio primero lee el archivo /etc/inittab, que es el archivo de configuración del nivel de ejecución. Pero cada distribución es diferente y el archivo de configuración de inicio también es diferente. Puede utilizar el archivo de configuración en /etc/event.d. La última versión se cambia al directorio /etc/init.
4. Gestor de arranque
Para obtener más detalles, consulte el artículo - Configuración de /etc/init.d en -linux. Después de determinar el nivel de ejecución, ejecute el archivo en el directorio rcN.d. Estos archivos de enlace son programas conectados al directorio init.d. El proceso de inicio carga el gestor de arranque uno por uno y, de hecho, ejecuta el script de inicio en este directorio.
Por ejemplo, un programa se inició cuando el nivel de ejecución es 5 (multiusuario gráfico):
5. ¿Inicio de sesión de usuario
? El usuario inicia sesión después de que se carga el programa de arranque. Los usuarios tienen tres métodos de inicio de sesión:
? Inicio de sesión por línea de comando: el proceso de inicio llama al programa getty.
? Inicio de sesión ssh: el proceso de inicio llama al programa sshd.
? Inicio de sesión de interfaz gráfica: el proceso de inicio llama al administrador de pantalla. El administrador de pantalla correspondiente a la interfaz gráfica de Gnome es gdm.
6. Shell de inicio de sesión
El shell predeterminado es bash, una interfaz de línea de comandos que permite a los usuarios hablar directamente con el sistema operativo. Para leer las variables de entorno, consulte el artículo del autor: Configuración de variables de entorno de Linux.