Некоторые отличия между initrd и initramfs в современных дистрибутивах Linux:
- Формат представления. 28 Initrd — это файловая система (обычно ext2), загружаемая в RAM-диск. 2 Initramfs — это не файловая система, а сжатый архив cpio, который распаковывается в tmpfs. 2
- Обработка корневого устройства. 2 Initrd требует, чтобы корневым устройством был RAM-диск. 2 Initramfs позволяет передавать ядру реальное корневое устройство. 2
- Поддержка алгоритмов сжатия. 3 Initrd обычно использует такие форматы сжатия, как gzip или cpio. 3 Initramfs поддерживает больше алгоритмов сжатия, так как ядро может включать несколько библиотек сжатия. 3
- Гибкость. 3 Initrd — относительно простая и статическая структура. 3 Initramfs может быть более динамичным и гибким. 3
- Интеграция с ядром. 3 Initrd требует явной поддержки определённой файловой системы и формата сжатия внутри ядра. 3 Initramfs может быть интегрирован непосредственно в образ ядра в виде архива. 3
- Размер. 3 Initrd может быть больше из-за использования определённых форматов сжатия, что ограничивает его использование в средах с жёсткими ограничениями по размеру загрузочного образа. 3 Initramfs может быть более компактным, особенно при использовании минимального сжатия или отсутствия сжатия вообще. 3
Initrd устарел и заменён initramfs. 45 Initramfs предназначен для ядер Linux версии 2.6 и выше, в то время как initrd использовался для ядер версии 2.4 и ниже. 47