2.4.1 Фаза начальной загрузки

Предыдущая  Содержание  Следующая V*D*V

Подробно загрузчики рассматриваются в Главе 3. В этом разделе описывается последовательность шагов, выполняемых загрузчиком.

 

Инициализация оборудования

 

Она обычно включает в себя:

 

1.Настройку частоты процессора

2.Инициализацию памяти, такую как настройка регистров, очистка памяти и определение размера встроенной памяти

3.Включение кэшей

4.Настройку последовательного порта для консоли загрузки

5.Выполнение диагностики оборудования или POST (Power On Self-Test diagnostics, самотестирование после включения)

 

После успешного завершения этих действий, следующим шагом является загрузка ядра Linux.

 

Загрузка образа ядра и начального RAM диска

 

Загрузчик должен найти образ ядра, который может быть на системной флеш-памяти, или может быть доступен по сети. В любом случае, этот образ должен быть загружен в память. В случае, если образ сжат (что бывает часто), образ должен быть распакован. Также, если присутствует начальный RAM (электронный) диск, загрузчик должен загрузить в память образ начального диска. Обратите внимание, что адрес памяти, куда загружается ядро, определяется загрузчиком чтением заголовка ELF файла образа ядра. В случае, если образ ядра представляет собой простые двоичные данные, загрузчику должна быть передана дополнительная информация относительно размещения частей ядра и адреса запуска.

 

Аргументы настройки

 

Передача аргументов является очень мощным инструментом, поддерживаемым ядром Linux. Linux обеспечивает универсальный способ передачи аргументов ядру на всех платформах. Глава 3 объясняет это в деталях. Обычно загрузчик должен настроить область памяти для передачи аргументов, проинициализировать её необходимыми структурами данных (которые могут быть идентифицированы ядром Linux), а затем заполнить их требуемыми значениями.

 

Переход в точку входа ядра

 

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

 

Предыдущая  Содержание  Следующая