Для Jetson AGX Orin с Jetson Linux 36.4.4 в актуальном руководстве NVIDIA предусмотрен отдельный PCIe-патч для ветки rel-36. Он отключает переход контроллера в power-down при Tx compliance testing, поэтому применять его как универсальное исправление любой платы нельзя.
Ниже — безопасная последовательность: сверить релиз исходников, выбрать именно disable-power-down.diff, пересобрать ядро и модули по официальной документации, затем обновить initrd и проверить результат на стенде с готовым способом отката.
Jetson Linux 36.4.4 относится к документированной ветке Jetson AGX Orin. Перед изменением ядра зафиксируйте точную версию BSP, сохраните рабочие Image, модули и конфигурацию загрузки, а также подготовьте штатный способ восстановления устройства. Патч затрагивает PCIe-драйвер: ошибка в выборе исходников или содержимом initrd способна оставить стенд без ожидаемого контроллера после перезагрузки.
В официальном приложении NVIDIA DA-11040-001 версии 1.5 для Jetson AGX Orin приведены PCIe-патчи и история их изменений. История документа разделяет вложения по веткам: disable-power-down.diff предназначен для rel-36, тогда как 319ad28_ok.diff относится к rel-35. Сам патч описан в контексте PCIe Tx compliance testing для Orin как DUT и предотвращает power-down контроллера во время такого теста. Это узкая область применения, а не обещание исправить REFCLK или link-up на любой carrier board.
Подготовка исходников и сборка
Берите исходники именно для установленного релиза. NVIDIA предлагает синхронизацию из каталога <install-path>/Linux_for_Tegra/source командой ./source_sync.sh -k -t <release-tag>; правильный release-tag указан в release notes и привязывает дерево к ревизии, из которой собраны бинарные компоненты релиза. Не накладывайте rel-36 patch на случайное или более новое дерево только потому, что оно компилируется.
- Извлеките из текущего DA-11040-001 v1.5 вложение
disable-power-down.diff. До сборки просмотрите изменяемые пути и убедитесь, что патч применился без отклонённых фрагментов. - Для кросс-сборки задайте документированный префикс:
export CROSS_COMPILE=<toolchain-path>/bin/aarch64-buildroot-linux-gnu-, затем соберите ядро командойmake -C kernel. - Укажите
INSTALL_MOD_PATH=<install-path>/Linux_for_Tegra/rootfs/, выполнитеsudo -E make install -C kernelи скопируйте полученныйkernel/kernel-jammy-src/arch/arm64/boot/ImageвLinux_for_Tegra/kernel/Image. Если стенд использует NVIDIA out-of-tree modules, документация отдельно требуетmake modulesиsudo -E make modules_install. - После установки модулей обновите initramfs. В host workflow перейдите в
Linux_for_Tegraи запуститеsudo ./tools/l4t_update_initrd.sh. При native build на самой Jetson NVIDIA указываетsudo nv-update-initrd.
Дальнейшая установка образа зависит от носителя, схемы загрузки и настроек конкретной платы. Используйте штатную процедуру flashing из документации своего BSP и не заменяйте ею резервную копию, пока новый образ не проверен. Руководство по compliance testing прямо требует загрузить стенд с patched OS перед измерениями, но не даёт универсальной команды прошивки для всех конфигураций хранения.
Что проверять после загрузки
Сначала подтвердите, что загрузилось ожидаемое ядро и что initrd содержит установленные модули. Затем сравните вывод lspci с базовой конфигурацией: появление endpoint показывает PCIe enumeration, но само по себе не доказывает стабильность REFCLK или соответствие электрическим требованиям. Для clock и Tx compliance нужны измерения и методика из tuning guide; link-up также зависит от разводки, reset sequence, питания и конкретного PCIe-устройства.
Форумная ветка, с которой начался разбор, относится к pcie@141a0000 на Jetson AGX Orin с L4T 36.4.4. 25 августа автор написал, что даже после обновления initrd и повторной прошивки проблема сохранялась. 26 августа он сообщил только «I have keep clock», не уточнив, какое вмешательство дало результат. Поэтому ветка не позволяет связать сохранение clock именно с патчем, initrd или reflashing. На странице нет подтверждения должности отвечавшего участника и независимых измерений, поэтому этот единичный пользовательский отчёт нельзя считать гарантией для другой carrier board.
Если контроллер перестал определяться, верните сохранённые штатные kernel image и модули либо восстановите устройство подготовленным способом. Не переходите к настройке REFCLK, reset или device tree наугад: сначала отделите ошибку сборки и initrd от аппаратной причины, сравнив загрузочные сообщения и результат enumeration с рабочей базовой версией.
Источники
- NVIDIA Jetson AGX Orin Tuning and Compliance Guide, 2025-08-20
- NVIDIA Kernel Customization, 2026-01-16
- NVIDIA Jetson Linux Developer Guide 36.4.4, 2025-06-26
- NVIDIA Developer Forums, 2026-08-25
