Вольный пересказ инструкции из wiki Debian.
При установки пакета с обновлением микрокода для процессора распаковать образ initramfs без дополнительных действий не получится, потому что в самом начале файла расположен образ с микрокодом, а хвост с остальным образом упаковщик видеть не желает.
Если не брать в расчёт другие форматы initramfs, а ограничиться только "ASCII cpio archive", то для распаковки образа надо выполнить следующие действия:
- Определить начало основного образа;
- Сохранить основной образ в отдельный файл;
- Распаковать полученный файл.
Для определения начала используется программа "cpio" из одноименного пакета. У неё есть ключ "-t" для отображения списка файлов в образе. Сам файл надо подавать на стандартный ввод. Делается всё примерно так:
$ cpio -t < /boot/initrd.img-6.1.0-13-amd64 kernel kernel/x86 kernel/x86/microcode kernel/x86/microcode/.enuineIntel.align.0123456789abc kernel/x86/microcode/GenuineIntel.bin 14064 блока
Видно, что программа вывела содержимое только куска файла с обновлением микрокода и так же показала размер этого куска в блоках по 512 байт.
Используя это значение, можно сохранить основной образ в отдельный файл с помощью программы "dd":
# dd if=/boot/initrd.img-6.1.0-13-amd64 of=initrd.img bs=512 skip=14064 63690+1 records in 63690+1 records out 32609563 bytes (33 MB, 31 MiB) copied, 1,17182 s, 27,8 MB/s
Теперь в файле "initrd.img" записан образ initramfs, который нужен, но он скорее всего сжат. Сжатые образы программа "cpio" не понимает. Для определения компрессора можно использовать программу "file". Если компрессор умеет распаковывать сжатые данные в стандартный вывод, то даже не понадобится использовать временный файл.
$ file initrd.img initrd.img: Zstandard compressed data (v0.8+), Dictionary ID: None # список файлов $ zstdcat initrd.img | cpio -t . bin conf conf/arch.conf conf/conf.d conf/conf.d/compress conf/conf.d/resume conf/conf.d/zz-resume-auto conf/initramfs.conf conf/modules ... # извлечение $ zstdcat initrd.img | cpio -i 267227 блоков
Содержимое образа находится в текущем каталоге.