Cómo hacer el mini Linux más pequeño
La naturaleza de initramfs, cómo para compilar el kernel y los conocimientos básicos para crear imágenes de OpenStack
La relación entre initramfs, kernel e imagen
instalación raíz y en línea de Linux en teléfonos móviles con Android Arm
El minilinux más fácil de crear. La relación entre initramfs, kernel e imagen
Conocimientos básicos de chroot y conocimientos básicos de instalación en línea de Linux en teléfonos móviles Android arm
Breve introducción al proceso básico (pasos) de personalizando el sistema:
Cree un directorio de trabajo
Utilice Busybox para generar bin y otros directorios del sistema de archivos raíz.
Utilice archivos inittab y fstab para crear scripts de inicio del servicio
Cree un script de inicio para el sistema de archivos raíz (initrc usa linuxrc e initramfs usa scripts de inicio, así que primero elimine el archivo linuxrc predeterminado generado por Busybox para initrc)
Antes de crear el kernel, use chroot para probar initramfs
Compile initramfs, configure Generalsetup -gt; sistema de archivos RAM inicial y compatibilidad con disco RAM (initramfs/initrd) (se admite el valor predeterminado).
Si el kernel admite initramfs (el valor predeterminado es compatible), apunte CONFIG_INITRAMFS_SOURCE (Generalsetup -gt; archivo fuente initramfs) del kernel de Linux al directorio y luego ejecute el comando make, el kernel compila automáticamente el initramfs (este es un archivo cpio comprimido) y lo vincula a la imagen del kernel.
Depurar y verificar. Esto se puede hacer en una máquina física o en una máquina virtual qemu. Si usa una máquina física para la verificación, puede usar directamente el comando makeinstall para instalarlo automáticamente, pero es mejor no hacerlo porque ejecutará automáticamente el comando updategrub para destruir el archivo grub, lo cual se puede hacer manualmente:
initramfs es un sistema de archivos raíz minimizado cuyo propósito básico es prepararse para cambiar a un nuevo sistema de archivos raíz. El método initrd usa el comando pivot_root para cambiar al nuevo sistema de archivos raíz y luego desinstalar ramdis. Sin embargo, el método initramfs en sí es el rootfs ubicado en la memoria (rootfs es una instancia de ramfs), por lo que no puede pivot_root ni desmontar. , pero el recuerdo se queda.
root_uount, que es residente en memoria.
Soporte de módulo, hasta ahora no hemos tenido que lidiar con el soporte de módulo del kernel al compilar initramfs porque los controladores de hardware utilizados se compilan directamente en el kernel. Ahora echemos un vistazo a cómo habilitar initramfs para que admita módulos del kernel.
Resumen:
Todo el proceso es así: initrc o initramfs es un pequeño sistema de archivos raíz que se ejecuta en la memoria. Tiene un script llamado init, que realiza alguna preparación, como por ejemplo. cargar los controladores de hardware y luego cambiar al nuevo sistema de archivos raíz donde reside la imagen.