Часть V. Системные трюки, или Linux изнутри
Работа с виртуальным диском основана на технологии initrd (INITial Ram Disk).
Файл образа виртуального диска находится в каталоге
/boot
и носит название
initrd-
<версия ядра>.
В процессе запуска ядра монтируется корневая файловая система и запускается
программа init, которая и выполняет дальнейшую инициализацию системы. Про-
грамма init — часть init, самой надежной и распространенной системы инициализа-
ции Linux. Увы, она уже устарела. Даже самые консервативные дистрибутивы,
такие как Debian, отказались от нее. Но нужно заметить к чести самой init, «жила»
она очень долго (в Debian она продержалась до седьмой версии, а в Fedora — до 14-й).
Кроме системы инициализации init (см.
разд. 22.2)
существуют и другие систе-
мы — в частности: initng, upstart и systemd:
□ система initng позволяет существенно ускорить запуск Linux, но, к сожалению,
она так и осталась экспериментальной и не прижилась в дистрибутивах Linux.
Заинтересовавшиеся могут прочитать о системе initng в моей статье по адресу :
http://www.dkws.org.ua/articIe.php?id==12
— на тот случай, если вам захочется
создать собственный дистрибутив на ее основе;
□ система upstart была специально разработана для дистрибутива Ubuntu, но ее
при желании можно установить в любом дистрибутиве (некоторые идеи этой
системы используются также в systemd).
Описание системы upstart в это издание не вошло, поскольку она не использова-
лась нигде, кроме старых версий Ubuntu (и дистрибутивов-клонов), а последние
версии Ubuntu основаны на системе systemd. Но если вам по каким-либо причи-
нам необходимо знакомство с системой upstart, вы можете обратиться или
В
иртуальный
диск
Для чего нужен виртуальный диск? Представим, что мы еще не установили Linux, а
только собираемся это сделать. Вставляем загрузочный диск, и загрузчик запускает не
просто инсталлятор — на самом деле запускается операционная система Linux, ясно
виден процесс загрузки ядра, а потом уже запускается программа установки. Но ядру
нужно же откуда-то прочитать модули поддержки устройств и файловой системы —
ведь корневая файловая система еще не создана. Вот все эти модули и находятся на
виртуальном диске. Виртуальный диск загружается в память, ядро монтирует его, как
обычную файловую систему, и загружает с него все необходимые модули. После это
го виртуальный диск размонтируется и — в случае нормальной загрузки, а не установ
ки Linux, — вместо него монтируется обычная корневая файловая система.
знает о файловых системах, поэтому местонахождение второй части записано в ней
в «физических координатах»: явно указаны цилиндр, головка и сектор жесткого
диска.
Вторая часть загрузчика более интеллектуальна. Она уже «знает», что такое файло-
вая система, и что карта размещения файлов записана в файле
/boot/System.map
.
По
аналогии с картой размещения файлов имеется в GRUB и карта устройств — файл
/boot/grub/device.map.
Оба этих файла используются для поиска ядра и образа вирту-
ального диска.
Do'stlaringiz bilan baham: |