В чем разница между 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.