configurations/manuals/initrd.md

2.3 KiB
Raw Blame History

initrd (Initial RAM Disk)

initrd - временная файловая система, используемая ядром Linux при начальной загрузке.

Распаковка

С помощью команды file определить тип сжатого файла с помощью ключа -z, просмотрев его внутренности:

file -z initrd.img

initrd.img: ASCII cpio archive (SVR4 with no CRC) (gzip compressed data, max compression, from Unix)

Файл архивирован с помощью cpio и сжат с помощью gzip. Для распаковки необходимо переключиться на root пользователя. От имени root пользователя выполнять следующий алгоритм по распаковки:

Сменить формат с img на gz:

mv initrd.img initrd.gz

Выполнить декомпрессию (-d) файла:

gzip -d initrd.gz

На выходе будет получен файл initrd, который является архивом cpio. Следующим шагом необходимо выполнить распаковку (-i) архива, в процессе которой будут созданы при необходимости начальные каталоги (-d):

cpio -id < initrd

Создание образа

Находясь в дирктории, файлы и каталоги которой необходимо поместить в образ initrd, выполнить команду:

find . | cpio -o -H newc | gzip -9 > ../initrd.img

где

  • find . - находит ввсе файлы и каталоги в указанной директории (.)
  • cpio -o -H newc - создание архива в режиме copy-out (-o) указанного формата буфера (-H newc)
  • gzip -9 > ../initrd.img - максимальное сжатие (gzip -9) и сохранение данных в файле уровнем выше (../initrd.img)