initrd

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

initrd (англ. initial ramdisk) є тимчасовою файловою системою, що широко використовуються в процесі завантаження ядра Linux.

Її використовують для підготовчих дій, перед монтуванням кореневої файлової системи. Зазвичай образи initrd містять необхідні для завантаження деякі модулі ядра, таких як ATA, SCSI для роботи з пристроєм, на якому міститься коренева файлова система. Вони, як правило, визначають розташування і тип кореневої файлової системи.

Призначення[ред. | ред. код]

Ядро операційної системи Linux, як і інші UNIX-подібні операційні системи, є монолітним, але з підтримкою модулів ядра. Багато дистрибутивів Linux мають один генералізований файл ядра операційної системи, який може завантажуватися на широкому спектрі конфігурацій даної архітектури. Драйвери пристроїв компілюються як завантажувальні модулі — якщо компілювати сотні і тисячі модулів безпосередньо у ядро, його розмір перевищуватиме сотні мегабайт, що є не лише недоцільним (ядро завантажується занадто довго), а й робить неможливим завантаження на комп'ютерах з обмеженим обсягом оперативної пам'яті. З іншого боку, відсутність у складі ядра драйверів породжує проблему початкової ініціалізації блокових пристроїв (таких, як диски) і монтування кореневої файлової системи.[1]

Проблема може ускладнюватися ще більше, якщо коренева файлова система розміщена на масиві RAID, LVM, є зашифрованою або мережною. Підтримка таких систем вимагає спеціальної підготовки перед монтуванням.[2]

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Almesberger, Werner (2000). Booting Linux: the history and the future. Proceedings of the Ottawa Linux Symposium. Архів оригіналу за 24 July 2008. 
  2. Landley, Rob (15 March 2005). Introducing initramfs, a new model for initial RAM disks. linuxdevices.com. Архів оригіналу за 4 January 2013.