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


12

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

Ответы:


12

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

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

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


Как эта команда update-initramfs создает /boot/initrd.img?

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

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

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


«Initrd требует, чтобы по крайней мере один драйвер файловой системы был скомпилирован в ядро». Я не очень разбираюсь в этом. Не могли бы вы объяснить это ??
Сен

Обычно драйверы файловой системы могут быть прикреплены к операционной системе по желанию, для некоторых вещей они должны быть скомпилированы прямо в ядро. Это неприятно, поскольку все версии ядра необходимо настраивать, увеличивать, вводить дополнительные зависимости и так далее. (По крайней мере, это то, что я считаю, может быть и неправильно, у меня нет особых знаний о файловых системах конкретно)
Стефано Палаццо

Это как initramfs не нужно монтировать изначально ??
Сен

Все файловые системы должны быть смонтированы перед использованием. Если вы хотите узнать об initramfs более подробно, загляните на en.wikipedia.org/wiki/Initrd - здесь есть более подробное объяснение.
Стефано Палаццо

Как эта команда update-initramfs создает /boot/initrd.img?
Сен

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

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


Не могли бы вы объяснить мне шаги от начала до загрузки и чтения initramfs?
Сен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.