Запуск систем
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. Полный перечень групп опций представлен ниже:
 | Различные программы запуска могут перекрывать универсальные опции и поддерживать дополнительные специфичные для ряда плат опции. Приоритет действия следующий: - Опции для плат.
- Опции для архитектур.
- Универсальные опции.
|
- -A
- Перезагрузить систему при любом незапланированном завершении работы ядра. По умолчанию выводится информация об отказе, затем выполняется останов.
- -D канал[.опции_канала]
- Указать канал вывода для отладочной информации. Подробнее см. далее.
- -F [~]значение
- Управление полем флаги в разделе cpuinfo системной страницы:
- значение – ИЛИ поле флаги с аргументом значение
- ~значение – И поле флаги с аргументом ~значение
Для получения дополнительной информации об аргументе флаги см. раздел "Structure of the system page" ("Структура системной страницы") в главе "Customizing Image Startup Programs" ("Настройка программ запуска образов") руководства Building Embedded Systems ("Создание встраиваемых систем") справочной системы комплекта разработчика ЗОСРВ «Нейтрино». - -f [частота_ЦП][,[частота_циклов][,частота_таймера]]
- Задать частоту процессора. Все частоты можно задавать в герцах (с суффиксом
H
), килогерцах (с суффиксом K
) и мегагерцах (с суффиксом M
); в суффиксах регистр не учитывается. Если суффиксы не указаны, значение обрабатывается библиотекой, как указанное в мегагерцах, если оно меньше 1000, в противном случае – в герцах. Если они указаны, то аргументы частота_ЦП, частота_циклов и частота_таймера используются для установки следующих величин в коде запуска: - частота_ЦП – тактовая частота процессора. Кроме того, этот аргумент используется для установки значения в поле скорости в разделе cpuinfo системной страницы.
- частота_циклов – частота возвращения значений путем приращения ClockCycles(). Кроме того, этот аргумент используется для установки значения в поле cycles_per_sec в разделе qtime системной страницы.
- частота таймера – частота срабатывания микросхемы таймера. Кроме того, этот аргумент используется для установки значений timer_rate и timer_scale в разделе qtime системной страницы.
Если в момент определения поля (полей) системной страницы какая-либо из переменных оказывается равной нулю, библиотека пытается рассчитать корректное значение на основе одной из других заданных частот. Выбор переменной, используемой для расчета, зависит от конкретного процессора и оборудования. - -I флаг
- Включить восстановление ядра как часть восстановления IFS. Флаг
0
запрещает проверку по контрольной сумме, флаг 1
разрешает.
Если проверка по контрольной сумме включена и не проходит, весь образ перезагружается.
 | Даже если проверка контрольной суммы 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 перезагружается.
 | Даже если проверка контрольной суммы 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, тем более подробная информация выводится.
- -w значение
- Задать политику кэширования:
- -wb включает кэширование с отложенной записью и при чтении (не при записи)
- -wa включает кэширование с отложенной записью и при записи
- -wt включает кэширование с прямой записью
Реальное поведение зависит от процессора - не все процессоры поддерживают все три режима кэширования. Если процессор не поддерживает установленную опцию, используется политика кэширования по умолчанию. Поддерживаемые политики кэширования перечислены в конфигурационном файле процессора armv_chip_xxxx.c:
Поле: | Определяет кодировку PTE для: |
---|
pte | Политики кэширования по умолчанию |
pte_wb | Политики кэширования с отложенной записью |
pte_wa | Политики кэширования при записи |
pte_wt | Политики кэширования с прямой записью |
В конфигурации должно быть указано по-крайней мере поле по умолчанию (pte). Любая неподдерживаемая политика должна иметь значение 0 в соответствующем поле, и если эта политика запрашивается через параметр -w, она игнорируется, и используется политика по умолчанию.
- -E
- Сохранять и восстанавливать регистр внешнего доступа (
EAR
) в контексте при переключении потоков. EAR
- опциональный регистр, доступный на некоторых чипах семейства PPC600. Если чип его поддерживает, то может его сохранять и восстанавливать, но инструкции, которые на него ссылаются, используются редко. Поэтому он остается вне контекста потока из соображений производительности до указания опции -E. - -x
- Включить расширенную адресацию. Это позволяет получить доступ к физическим адресам выше 4 ГБ. Опция поддерживается для обратной совместимости; XAE включен по умолчанию, если чип ее поддерживает.
- -B
- По умолчанию стартапы x86 используют таблицу Advanced Control and Power Interface (ACPI) для определения количества логических процессоров в системах с гиперпоточностью. Используйте эту опцию, чтобы избежать проверки ACPI в случае ошибки BIOS; если ACPI отсутствует или указана опция -B, стартап использует спецификацию Intel Multiprocessor для определения количества процессоров.
- -x
- Разрешить расширенную адресацию. Позволяет обращаться к физическим адресам выше 4 ГБ. По умолчанию включена.
 | Эта опция действует только в том случае, если процессор поддерживает более 32 линий адреса. Для поддержки расширенной адресации на процессорах x86 необходим установленный бит X86_CPU_PAE на странице SYSPAGE_ENTRY(cpuinfo)->flags. Для получения дополнительной информации см. раздел "Structure of the system page" ("Структура системной страницы") в главе "Customizing Image Startup Programs" ("Настройка программ запуска образов") руководства Building Embedded Systems ("Создание встраиваемых систем") справочной системы комплекта разработчика ЗОСРВ «Нейтрино». |
- -X
- Запретить расширенную адресацию.
В дополнение к универсальным опциям 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).
 | При запуске 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.
Базовые подсистемы ЗОСРВ «Нейтрино»
Предыдущий раздел: Утилиты