При включении процессор сначала получает доступ к адресам, которые обычно находятся в доступной для чтения области памяти. Эта доступная только для чтения память обычно располагается в Flash ROM (или просто Flash). Там располагается первый код,юторый выполняется при каждом запуске системы. Этот код отвечает за включение минимума систем, необходимых для загрузки ядра.
На х86-системах он полностью находится в BIOS (Basic Inpit Output System) -шоке аппаратно-зависимого кода инициализации системы, загружающего систему. На системах х86 загрузчик, и соответственно Linux, зависит от BIOS, приводящего систему в определенное состояние. Интерфейс BIOS составляет унифицированный набор функций, известных как npepbmaHHH(interrupts). Во время загрузки Linux использует эти прерывания для запроса доступных ресурсов системы. После того как BIOS закончит инициализацию, он копирует первые 512 байт с устройства загрузки (описываемого в следующем разделе) в адрес 0х7с00 и переходит в него. Несмотря на то что в некоторых случаях BIOS загружает операционную систему через сетевое соединение, мы будем рассматривать процесс загрузки Linux с жесткого диска. После загрузки Linux BIOS все равно находится в памяти и его функции доступны через прерывания.
На PowerPC тип кода инициализации зависит от возраста соответствующей архитектуры PowerPC. Старые системы ШМ используют PowerPC Reference Platform (PreP) , тогда как более новые системы ЮМ используют Common Hardware Reference Platform (CHRP) . Системы G4 и позднейшие называются «Новым миром» и используют Open Firmware(OF) в границах реализации конкретной архитектуры. (Более подробную информацию об этих процессорах и системно-зависимом загрузочном firmware, а также совместимости их форматов вам стоит получить с домашней страницы Open Firmware на www. openf irmware. org.)