2.4.1 Фаза начальной загрузки |
Предыдущая Содержание Следующая |
Подробно загрузчики рассматриваются в Главе 3. В этом разделе описывается последовательность шагов, выполняемых загрузчиком.
Инициализация оборудования
Она обычно включает в себя:
1.Настройку частоты процессора 2.Инициализацию памяти, такую как настройка регистров, очистка памяти и определение размера встроенной памяти 3.Включение кэшей 4.Настройку последовательного порта для консоли загрузки 5.Выполнение диагностики оборудования или POST (Power On Self-Test diagnostics, самотестирование после включения)
После успешного завершения этих действий, следующим шагом является загрузка ядра Linux.
Загрузка образа ядра и начального RAM диска
Загрузчик должен найти образ ядра, который может быть на системной флеш-памяти, или может быть доступен по сети. В любом случае, этот образ должен быть загружен в память. В случае, если образ сжат (что бывает часто), образ должен быть распакован. Также, если присутствует начальный RAM (электронный) диск, загрузчик должен загрузить в память образ начального диска. Обратите внимание, что адрес памяти, куда загружается ядро, определяется загрузчиком чтением заголовка ELF файла образа ядра. В случае, если образ ядра представляет собой простые двоичные данные, загрузчику должна быть передана дополнительная информация относительно размещения частей ядра и адреса запуска.
Аргументы настройки
Передача аргументов является очень мощным инструментом, поддерживаемым ядром Linux. Linux обеспечивает универсальный способ передачи аргументов ядру на всех платформах. Глава 3 объясняет это в деталях. Обычно загрузчик должен настроить область памяти для передачи аргументов, проинициализировать её необходимыми структурами данных (которые могут быть идентифицированы ядром Linux), а затем заполнить их требуемыми значениями.
Переход в точку входа ядра
Точка входа ядра определяется скриптом компоновщика при сборке ядра (который обычно присутствует в скрипте компоновщика в зависимом от архитектуры каталоге). Как только загрузчик переходит к точке входа ядра, его работа сделана и он больше не нужен. (Есть исключения из этого; некоторые платформы предлагают службу загрузки PROM, которая может использоваться операционной системой для ведения платформо-зависимых операций.) Если это так, и если загрузчик выполняется из памяти, эта память может быть передана ядру. Это должно быть учтено при построении карты памяти системы.
|
Предыдущая Содержание Следующая |