startup-*

Запуск систем

Синтаксис:

startup-* [-08AaBbe] [-D канал[.опции_канала]] 
[-F [~]значение]
[-f [частота_ЦП][,[частота_циклов][,частота_таймера]]]
[-I запрос_прерывания] [-I флаг] [-j адрес]
[-K канал[.опции_канала]] [-N имя_хоста] [-P макс_число_ЦП]
[-p Bшина:Dустройство:Fфункция]
[-q номер_профиля_прерываний]
[-R размер[,выравнивание]] [-r адрес,размер[,флаг]]
[-S [~]раздел] [-s размер] [-v[v]...] [-x] [-z[z]]

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

x86, arm, ppc

Опции:

Все программы запуска систем под управлением ЗОСРВ «Нейтрино» поддерживают универсальный набор опций, перечисленный ниже. Также существуют дополнительные опции для следующих архитектур: ARM, PowerPC, x86. Полный перечень групп опций представлен ниже:

Универсальные опции
Опции для систем с архитектурой ARM
Опции для систем с архитектурой PowerPC
Опции для систем с архитектурой x86
Опции для систем x86 с BIOS и APIC


Caution: Различные программы запуска могут перекрывать универсальные опции и поддерживать дополнительные специфичные для ряда плат опции. Приоритет действия следующий:
  1. Опции для плат.
  2. Опции для архитектур.
  3. Универсальные опции.

Универсальные опции

-A
Перезагрузить систему при любом незапланированном завершении работы ядра. По умолчанию выводится информация об отказе, затем выполняется останов.
-D канал[.опции_канала]
Указать канал вывода для отладочной информации. Подробнее см. далее.
-F [~]значение
Управление полем флаги в разделе cpuinfo системной страницы: Для получения дополнительной информации об аргументе флаги см. раздел "Structure of the system page" ("Структура системной страницы") в главе "Customizing Image Startup Programs" ("Настройка программ запуска образов") руководства Building Embedded Systems ("Создание встраиваемых систем") справочной системы комплекта разработчика ЗОСРВ «Нейтрино».
-f [частота_ЦП][,[частота_циклов][,частота_таймера]]
Задать частоту процессора. Все частоты можно задавать в герцах (с суффиксом H), килогерцах (с суффиксом K) и мегагерцах (с суффиксом M); в суффиксах регистр не учитывается. Если суффиксы не указаны, значение обрабатывается библиотекой, как указанное в мегагерцах, если оно меньше 1000, в противном случае – в герцах. Если они указаны, то аргументы частота_ЦП, частота_циклов и частота_таймера используются для установки следующих величин в коде запуска: Если в момент определения поля (полей) системной страницы какая-либо из переменных оказывается равной нулю, библиотека пытается рассчитать корректное значение на основе одной из других заданных частот. Выбор переменной, используемой для расчета, зависит от конкретного процессора и оборудования.
-I флаг
Включить восстановление ядра как часть восстановления IFS. Флаг 0 запрещает проверку по контрольной сумме, флаг 1 разрешает.
Если проверка по контрольной сумме включена и не проходит, весь образ перезагружается.

Note: Даже если проверка контрольной суммы IFS выключена, контрольное суммирование все равно используется для внутренней структуры данных восстановления IFS (примерно 32 байта), чтобы обеспечить хотя бы некоторую целостность данных.

Для более подробной информации см. раздел «Technical Notes» -> «Reloadable Image Filesystems» в справочной системе комплекта разработчика ЗОСРВ «Нейтрино».
-i размер_ifs2[,флаги][,физадр_ист][,физадр_назн]
Включить восстановление вторичного IFS. Аргументы:
размер_ifs2
Размер вторичного IFS (может быть больше реального размера).
флаги
  • Не заданы — загрузить вторичный IFS, но не пытаться восстановить при пробуждении.
  • R — загрузить вторичный IFS и восстановить.
  • K или RK — загрузить вторичный IFS и восстановить по контрольной сумме.
физадр_ист
  • Не задан — вторичный IFS расположен во флэш-памяти после первичной IFS.
  • Задан — вторичный IFS расположен по указанному физическому адресу.
физадр_назн
  • Не задан — вторичный IFS будет скопирован в область RAM по умолчанию.
  • Задан — вторичный IFS будет скопирован по указанному физическому адресу (адрес должен быть в «безопасном» месте, например, в конце RAM, подальше от места размещения первичного образа).
Если контрольное суммирование включено и не проходит, весь вторичный IFS перезагружается.

Note: Даже если проверка контрольной суммы IFS выключена, контрольное суммирование все равно используется для внутренней структуры данных восстановления IFS (примерно 16 байтов), чтобы обеспечить хотя бы некоторую целостность данных.

Для более подробной информации см. раздел «Technical Notes» -> «Reloadable Image Filesystems» в справочной системе комплекта разработчика ЗОСРВ «Нейтрино».
-j адрес
Используется при работе с отладчиками JTAG/аппаратными отладчиками.
Зарезервировать 4 байта ОЗУ по физическому адресу, заданному аргументом адрес, и скопировать физический адрес системной страницы по адресу адрес в ОЗУ; в результате этот адрес становится доступным аппаратному отладчику.
-K канал[.опции канала]
Указать канал вывода для информации отладчика ядра. Подробнее см. далее.
-N имя_хоста
Указать имя узла. Значение по умолчанию – локальный хост.
-P макс_число_ЦП
Указать максимальное количество процессоров, активируемых в многоядерной системе. Эту опцию удобно использовать для тестирования работы приложений в системе с меньшим количеством процессоров. Для этой опции требуется использовать procnto-smp (вместо procnto).
-R размер[,выравнивание]
Запретить использование указанного размера памяти системой; дополнительно можно задать выравнивание. Эту опцию удобно использовать для тестирования в среде с ограниченным объемом памяти. Размер и выравнивание можно указывать в байтах, в килобайтах (с суффиксом K), мегабайтах (с суффиксом M), гигабайтах (с суффиксом G).
-r адрес,размер[,флаг]
Запретить использование указанного размера памяти системой, начиная с адреса адрес. С помощью необязательного аргумента флаг можно выполнять очистку памяти:
Значение указанного флага: Память:
Отсутствует Заполнить "0"
0 Заполнить "0"
1 Не очищать
-S [~]раздел
Включить (при значении ~раздел – выключить) вывод информации указанного раздела syspage. Используется для ограничения объема информации syspage. Для получения дополнительной информации см. print_syspage() в главе "Customizing Image Startup Programs" ("Настройка программ запуска образов") руководства Building Embedded Systems ("Создание встраиваемых систем") справочной системы комплекта разработчика ЗОСРВ «Нейтрино».
-v[v]...
Вывести расширенную информацию. Чем больше символов v, тем более подробная информация выводится.

Опции для систем с архитектурой ARM

-w значение
Задать политику кэширования: Реальное поведение зависит от процессора - не все процессоры поддерживают все три режима кэширования. Если процессор не поддерживает установленную опцию, используется политика кэширования по умолчанию. Поддерживаемые политики кэширования перечислены в конфигурационном файле процессора armv_chip_xxxx.c:
Поле: Определяет кодировку PTE для:
pte Политики кэширования по умолчанию
pte_wb Политики кэширования с отложенной записью
pte_wa Политики кэширования при записи
pte_wt Политики кэширования с прямой записью
В конфигурации должно быть указано по-крайней мере поле по умолчанию (pte). Любая неподдерживаемая политика должна иметь значение 0 в соответствующем поле, и если эта политика запрашивается через параметр -w, она игнорируется, и используется политика по умолчанию.

Опции для систем с архитектурой PowerPC

-E
Сохранять и восстанавливать регистр внешнего доступа (EAR) в контексте при переключении потоков. EAR - опциональный регистр, доступный на некоторых чипах семейства PPC600. Если чип его поддерживает, то может его сохранять и восстанавливать, но инструкции, которые на него ссылаются, используются редко. Поэтому он остается вне контекста потока из соображений производительности до указания опции -E.
-x
Включить расширенную адресацию. Это позволяет получить доступ к физическим адресам выше 4 ГБ. Опция поддерживается для обратной совместимости; XAE включен по умолчанию, если чип ее поддерживает.

Опции для систем с архитектурой x86

-B
По умолчанию стартапы x86 используют таблицу Advanced Control and Power Interface (ACPI) для определения количества логических процессоров в системах с гиперпоточностью. Используйте эту опцию, чтобы избежать проверки ACPI в случае ошибки BIOS; если ACPI отсутствует или указана опция -B, стартап использует спецификацию Intel Multiprocessor для определения количества процессоров.
-x
Разрешить расширенную адресацию. Позволяет обращаться к физическим адресам выше 4 ГБ. По умолчанию включена.

Note: Эта опция действует только в том случае, если процессор поддерживает более 32 линий адреса. Для поддержки расширенной адресации на процессорах x86 необходим установленный бит X86_CPU_PAE на странице SYSPAGE_ENTRY(cpuinfo)->flags. Для получения дополнительной информации см. раздел "Structure of the system page" ("Структура системной страницы") в главе "Customizing Image Startup Programs" ("Настройка программ запуска образов") руководства Building Embedded Systems ("Создание встраиваемых систем") справочной системы комплекта разработчика ЗОСРВ «Нейтрино».

-X
Запретить расширенную адресацию.

Опции для систем x86 с BIOS и APIC

В дополнение к универсальным опциям startup-* и специальным опциям для x86, программы startup-bios, startup-bios-32 и startup-apic поддерживают следующие опции:

-0
(Только для startup-apic). Использовать прерывание 0 для таймера 8254. В большинстве систем таймер 8254 в режиме APIC использует прерывание 2, опция -0 позволяет указать использовать прерывание 0 для исключительных случаев.
-8
Включить альтернативный механизм перезагрузки для чипсетов ICH.
-a
(Только для startup-apic). Явное указание отключить использование SMI для систем на базе чипсетов AMD.
-b
Не резервировать младшие 4 КБ памяти для виртуального режима 8086. Эта опция позволяет освободить 4 КБ памяти для системы.
-e
(Только для startup-bios-* и startup-apic). Расширить область 1-к-1 с 256Мб до 384Мб. Данная опция необходима для систем, на которых используется 64Гб ОЗУ
-I прерывание
(Только для startup-bios-*). Установить для аппаратного прерывания наивысший приоритет в системе. Возможные значения – от 0 до 7 (по умолчанию 3).
-L
(Только для startup-bios-*). Включить поддержку прерываний локальных APIC (X86_INTR_APIC_* definitions in <x86/intr.h>).
-p шина:устройство:функция
(Только для startup-apic). Явно добавить адрес LPC или B2SB устройства к списку поиска. Адрес задается в формате: номер шины PCI:номер устройства:номер функции, например B0:D31:F2.
-q номер_профиля_прерываний
(Только для startup-apic). Явно указать профиль прерываний, который будет использован при настройке полярности и режима переключения IOAPIC прерываний. По умолчанию используется профиль 6 (первые 16 прерываний по фронту). Профиль 5 позволяет явно указать настройку первых 16 прерываний по уровню. Профиль 7 указывает использовать информацию из MPTable для настройки полярности и режима переключения прерываний.
-s размер
Копировать указанный объем ПЗУ видеокарты в ОЗУ и установить ссылки в таблицах страниц x86 на копию в ОЗУ вместо ПЗУ. Размер можно указывать в байтах, в килобайтах (с суффиксом K), мегабайтах (с суффиксом M), гигабайтах (с суффиксом G). Если указана опция -s, то выполняется следующий вызов:
x86_pcbios_shadow_rom( 0xc0000, размер );
Для получения дополнительной информации, см. "The startup library" ("Библиотека запуска") в главе "Customizing Image Startup Programs" ("Настройка программ запуска образов") руководства Building Embedded Systems ("Создание встраиваемых систем") справочной системы комплекта разработчика ЗОСРВ «Нейтрино».
-z[z]...
Явное указание используемого таймера. По умолчанию, стартовый модуль самостоятельно определяет поддерживаемый таймер и инициализирует его для дальнейшего использования в качестве системного таймера. Определение подходящего таймера происходит в следующем порядке LAPIC, HPET, 8254. Опция -z указывает использовать таймер 8254, -zz — использовать HPET.

Каналы отладки:

Канал отладки, указанный в опциях -D и -K, может быть следующим:

8250[.порт[^сдвиг][.боды[.частота[.делитель]]]]

Использовать микросхему последовательного канала, совместимую с 8250, со следующими параметрами:

порт
Указать базовый адрес порта ввода-вывода для 8250 в шестнадцатеричном формате. Значение по умолчанию: 3f8.
сдвиг
Установить сдвиг между регистрами ввода-вывода в байтах, в формате: 2 в степени сдвиг. Значение по умолчанию – 0.
боды
Указать скорость передачи в бодах для канала отладки. Значение по умолчанию – 57600.
частота
Указать входную тактовую частоту (в Гц) для микросхемы. Значение по умолчанию – 1843200.
делитель
Указать делитель для тактовой частоты микросхемы. Значение по умолчанию – 16.
console
Использовать консоль PC.

Опции можно пропускать (не указывая соответствующие им данные). Например, если требуется направить вывод отладки на микросхему 8250 со скоростью 9600 бод, то следует указать:

-D 8250..9600

Настройки -D и -K по умолчанию:

-D console

-K 8250.3f8^0.57600.1843200.16

Описание:

Программа startup-bios обеспечивает проверку аппаратных ресурсов PC посредством BIOS.

Программа startup-apic обеспечивает запуск плат, которые поддерживают Intel Advanced Programmable Interrupt Controllers (APIC). Он поддерживает прерывания, инициируемые сообщениями (MSI) и расширенную версию MSI (MSI-X).


Caution: При запуске startup-apic необходимо использовать pci-bios-v2 вместо pci-bios, но он все равно должен называться pci-bios для корректной работы перечислителей. В файле построения pci-bios-v2 следует добавить так:

pci-bios=pci-bios-v2


Примеры:

Прямой вывод отладочной информации на консоль:

startup-bios -Nnode120 -vvvv -Dconsole

Прямой вывод отладочной информации на первый последовательный порт (с проверкой установки скорости в бодах, равной 115200, на принимающей стороне):

startup-bios -Nnode120 -vvvv -D8250..115200

Прямой вывод отладочной информации на последовательный порт 2f8:

startup-bios -Nnode120 -vvvv -D8250.2f8.115200

Дополнительные примеры см. в каталоге ${KPDA_TARGET}/x86/build.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»




Предыдущий раздел: Утилиты