GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es zImage, rootfs?

Para comprender de qué es responsable cada archivo, debe comprender cómo se inicia MPU.
Como entendí por su pregunta, usted usa la familia de microprocesadores NXP (Freescale) i.MX. Incluye un pequeño cargador de ROM, que hará la configuración básica del sistema (interfaces a la memoria, árbol de reloj, etc.), buscará medios para arrancar (basado en bits OTP quemados o GPIO), encontrará el cargador de arranque (u-boot en su caso) en dirección exacta que se especifica en la hoja de datos, cárguelo e inícielo. U-boot iniciará más interfaces (por ejemplo, Ethernet), encontrará argumentos que deben pasarse al Kernel (configuración de pantalla, consola, configuración de red si usa NFS), copiará Kernel a DDR y pasará todos los argumentos. Kernel cargará todos los controladores y buscará rootfs con todas las bibliotecas, aplicaciones, etc. Después de esto, Kernel iniciará los scripts de inicio, que iniciarán todo el sistema e iniciarán su aplicación.

  1. u-boot es lo primero que se iniciará después del gestor de arranque de la ROM. Puede reemplazarlo con su propio código si desea que la MPU ejecute código básico sin sistema operativo (como un microcontrolador).
  2. zImage es una versión comprimida de la imagen del kernel de Linux que se extrae automáticamente.
  3. rootfs es un sistema de archivos raíz, que contiene todas las aplicaciones, librerías y, en la mayoría de los casos, todo, incluida la carpeta de inicio.
  4. La imagen de la tarjeta sd es todo lo mencionado anteriormente que se puede copiar (con dd) a la tarjeta, después de la copia verá la partición FAT con Kernel y el árbol de dispositivos y la partición EXT con rootfs, u-boot está en un área sin particiones antes de FAT (en caso de que use i.MX6 es 0x80000). Está ahí solo para hacerte la vida más fácil.

  • zImage es la imagen binaria real del kernel compilado. Es lo que el cargador de arranque cargará e intentará ejecutar (creo que en Linux integrado está escrito en el sector de arranque directamente de alguna manera; consulte el manual de distribución de Linux integrado para obtener instrucciones)
  • rootfs es la llamada imagen INITial RamDisk (también conocida como initrd) que contiene todo lo que el núcleo necesitará para arrancar en un estado en el que se pueda montar el sistema de archivos raíz real.
  • uboot es el gestor de arranque utilizado por Linux incorporado; Básicamente le dice al BIOS (Sistema básico de entrada y salida) que ejecute zImage con las opciones que dicen zImage dónde encontrar el sistema de archivos raíz para que sepa cómo empezar.

Si tuviera que adivinar, me arriesgaría a que todos estos archivos se creen en el proceso de generar la imagen real de la tarjeta SD, incluso si ya no necesita agregar manualmente los tres anteriores a la imagen final.


Linux
  1. ¿Qué significa decir que el kernel de Linux es preventivo?

  2. ¿Qué hay dentro de una imagen/contenedor de Docker?

  3. ¿Cómo puedo saber qué está acelerando mi disco?

  4. ¿Qué son la memoria alta y la memoria baja en Linux?

  5. ¿Qué son exactamente los encabezados del kernel de Linux?

¿Qué es una imagen dorada?

Qué hacer en caso de pánico en el kernel de Linux

¿Qué es un manifiesto de imagen de Docker?

¿Cuál es la diferencia entre el espacio de usuario y el espacio del kernel?

¿Qué es una resolución de jiffie en Linux Kernel?

¿Cuál es el archivo predeterminado para `hostname`?