Разница между initramfs.cpio и rootfs.cpio

Каковы различия между ними?

Могу я просто использовать initramfs.cpio или мне нужно использовать оба?

На самом деле мой файл rootfs.cpio составляет 7 Мб, а initramfs.cpio – всего 0,5 МБ, поэтому я думал, могу ли я использовать только initramfs.cpio или нет

Все зависит от того, чего вы пытаетесь достичь.

Rootfs – это особый экземпляр ramfs (или tmpfs, если это разрешено). Большинство систем просто монтируют другую файловую систему поверх rootfs и игнорируют ее. Количество пространства, которое пустует экземпляр ветвей, является крошечным.

Ядра Linux содержат архив формата «cpio» с поддержкой gzipped, который извлекается в rootfs, когда ядро ​​загружается. После извлечения ядро ​​проверяет, содержит ли rootfs файл «init», и если он выполняет его как ПИД-код 1. Если он найден, этот процесс инициализации отвечает за то, что система оставила весь путь вверх, включая поиск и установку реальное корневое устройство (если оно есть). Если rootfs не содержит программу init после того, как в нее будет извлечен встроенный архив cpio, ядро ​​будет переходить к более раннему коду, чтобы найти и смонтировать корневой раздел, а затем выполнить какой-то вариант / sbin / init.