Общие принципы зацикленных устройств и электронных дисков (Ramdisks)

Общие принципы зацикленных устройств и электронных дисков (Ramdisks)

Сначала я опишу некоторые общие принципы, используемые при настройке зацикленной файловой системы в качестве корневого устройства.

Зацикленные устройства

Зацикленное (loopback) устройство Linux - это виртуальное устройство, которое можно использовать так же, как и любой другой носитель информации.

Обычные носители информации - это, например, разделы жесткого диска /dev/hda1, /dev/hda2, /dev/sda1 или полностью диски, как, например, флоппи-диск /dev/fd0 и т.п. Все эти устройства могут содержать в себе файлы и структуры каталогов. Они могут быть отформатированы в формате необходимой файловой системы (ext2fs, msdos, ntfs и т.п.) и затем подключены (mount).

Зацикленная файловая система представляет файл на другой файловой системе как полноценное устройство. Она может быть отформатирована и подключена так же, как и любое другое устройство, описанное выше. Чтобы сделать это, устройства под названиями /dev/loop0, /dev/loop1 и т.п. сопоставляются с файлами, и затем может быть подключено новое виртуальное устройство.

Электронные диски

В Linux также может использоваться другой тип виртуального устройства, подключаемый как файловая система, под названием электронный диск.

В этом случае, устройство ссылается не на какое-то физическое устройство, а на часть оперативной памяти, выделенной для этой цели. Эта память никогда не сбрасывается в swap на диск, но остается в дисковом кэше.

Электронный диск может быть создан в любой момент путем записи в устройство электронного диска /dev/ram0, /dev/ram1 и т.п. Затем его можно отформатировать и подключить так же, как и зацикленное устройство.

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

Загрузочный электронный диск

Загрузочный электронный диск Linux - еще один важный механизм, который нам понадобится при использовании зацикленного устройства в качестве корневой файловой системы.

Когда используется загрузочный электронный диск, образ файловой системы загружается в память и подключается для того, чтобы файлы на нем были доступны. Затем запускается программа на этом диске (файл под именем /linuxrc), и, когда она заканчивает работу, другое устройство подключается в виде корневой файловой системы. Старый электронный диск также остается доступен и подключен к каталогу /initrd, если такой каталог присутствует, или может использоваться через устройство /dev/initrd.

Такая необычная процедура необходима потому, что при обычной загрузке система начинает и продолжает загрузку с корневой файловой системы. С загрузочным электронным диском корневая файловая система может быть изменена до начала основной последовательности загрузки Linux.

Последовательность загрузки Linux

Чтобы понять, как загрузочный электронный диск работает в процессе загрузки системы, изучим порядок событий при загрузке системы.

  1. Ядро загружается в память. Эту операцию производит LILO или LOADLIN. В этот момент выводится сообщение Loading...

  2. Образ электронного диска загружается в память, это тоже делает LILO или LOADLIN. В этот момент также выводится сообщение Loading...

  3. Производится инициализация ядра, включая обработку опций командной строки и подключение электронного диска в виде корневой файловой системы.

  4. На загрузочном электронном диске запускается программа /linuxrc.

  5. Корневое устройство переключается в соответствии с параметром ядра.

  6. Запускается программа /etc/init, которая уже производит настраиваемую пользователем последовательность загрузки.

Это упрощенное описание того, что происходит на самом деле, но этого достаточно, чтобы описать, как запускается ядро и как используется электронный диск.



Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости