В чем разница между initrd и initramfs?

Я хотел бы знать, в чем разница между initrd а также initramfs?

2 ответа

Решение

Initrd устарел, заменен Initramfs, который не имеет некоторых слабых мест initrd:

  • Initrd требует, чтобы по крайней мере один драйвер файловой системы был скомпилирован в ядро
  • Диск, созданный Initrd, должен иметь фиксированный размер
  • Все операции чтения / записи в Initrd буферизируются (излишне) в основную память

Я думаю, что это все.


Как эта команда update-initramfs генерирует /boot/initrd.img?

Это превращает необходимые файлы в cpio архив, который является двоичным форматом архива (очень похож на tar, не широко используется в Linux), а затем использует gzip для сжатия этого архива. Gzip - это не архив, а просто сжатие (вот почему вы получаете архивные файлы.tar.gz).

Во время загрузки архив распаковывается и распаковывается на RAM-диск.

Также смотрите: Как загружается компьютер

  • initrd был основан на блочных устройствах, initramfs - это файловая база.

  • с помощью initrd вы создали образ файловой системы. с помощью initramfs вы создаете архив с файлами, которые ядро ​​извлекает в tmpfs.

Другие вопросы по тегам