Conversation
There was a problem hiding this comment.
Pull request overview
Implements JetPack 7.x support in the workspace setup / source sync / patch-apply / build pipeline, and adds the required JP7 kernel/NVIDIA OOT patch sets, device-tree overlays, docs, and CI workflows.
Changes:
- Add JetPack 7.0/7.1 version handling, JP7 toolchain setup, and JP-version-specific source list files.
- Replace per-version
source_sync_*.shscripts with a unifiedscripts/sync-sources.shthat readsscripts/sources_*manifests. - Introduce JP7 kernel/NVIDIA OOT patch bundles, new tegra264 overlay sources, and update documentation + GitHub Actions workflows.
Reviewed changes
Copilot reviewed 53 out of 64 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| test/test_metadata/test_metadata.c | Adds additional logging around dequeue/stream operations in the metadata test. |
| setup_workspace.sh | Updates workspace setup for JP7.x toolchain + unified source sync + cache extraction logic. |
| scripts/sync-sources.sh | Switches source list to external manifest files and adds protocol fallback logic. |
| scripts/sources_7.x | Adds JP7.x source manifest used by sync-sources.sh. |
| scripts/sources_6.x | Adds JP6.x source manifest used by sync-sources.sh. |
| scripts/sources_5.1.2 | Adds JP5.1.2 source manifest used by sync-sources.sh. |
| scripts/sources_5.0.2 | Adds JP5.0.2 source manifest used by sync-sources.sh. |
| scripts/sources_4.x | Adds JP4.x source manifest used by sync-sources.sh. |
| scripts/source_sync_5.1.2.sh | Removes legacy per-version sync script (replaced by sync-sources.sh). |
| scripts/source_sync_5.0.2.sh | Removes legacy per-version sync script (replaced by sync-sources.sh). |
| scripts/source_sync_4.6.1.sh | Removes legacy per-version sync script (replaced by sync-sources.sh). |
| scripts/setup-common | Adds JP7.0/7.1 selection and introduces version_lt helper for version comparisons. |
| scripts/install_to_kernel.sh | Extends help/version handling to include JP7.0/JP7.1. |
| scripts/deploy_kernel.sh | Extends help/version handling to include JP7.0/JP7.1. |
| nvidia-oot/Makefile | Adds an extra build flag for NVIDIA OOT build invocation. |
| nvidia-oot/7.1/0005-Adding-max96712-support-for-D4xx.patch | JP7.1 patch reference/link for max96712 support. |
| nvidia-oot/7.1/0004-Add-GPIO-tunneling-for-the-external-sync-support.patch | JP7.1 patch reference/link for GPIO tunneling support. |
| nvidia-oot/7.1/0003-Fix-y12i-calibration-stream.patch | JP7.1 patch reference/link for y12i stream fix. |
| nvidia-oot/7.1/0002-Adding-stream-restart-upon-capture-timeout.patch | JP7.1 patch reference/link for restart-on-timeout logic. |
| nvidia-oot/7.0/0005-Adding-max96712-support-for-D4xx.patch | JP7.0 patch reference/link for max96712 support. |
| nvidia-oot/7.0/0004-Add-GPIO-tunneling-for-the-external-sync-support.patch | Adds GPIO tunneling configuration changes for max9295/max9296 on JP7.0. |
| nvidia-oot/7.0/0003-Fix-y12i-calibration-stream.patch | JP7.0 patch reference/link for y12i stream fix. |
| nvidia-oot/7.0/0002-Adding-stream-restart-upon-capture-timeout.patch | Adds restart-on-timeout changes for tegra VI capture path on JP7.0. |
| nvidia-oot/6.2/0005-Adding-max96712-support-for-D4xx.patch | Adds/links JP6.2 patch reference for max96712 support. |
| nvidia-oot/6.2/0004-Adding-max96712-support-for-D4xx.patch | Removes JP6.2 patch reference (cleanup/renumbering). |
| nvidia-oot/6.2.1/0005-Adding-max96712-support-for-D4xx.patch | Adds/links JP6.2.1 patch reference for max96712 support. |
| nvidia-oot/6.1/0005-Adding-max96712-support-for-D4xx.patch | Adds/links JP6.1 patch reference for max96712 support. |
| nvidia-oot/6.1/0004-Adding-max96712-support-for-D4xx.patch | Removes JP6.1 patch reference (cleanup/renumbering). |
| kernel/kernel-noble-src/Makefile | Adds a Noble-based kernel build wrapper Makefile for JP7 kernel sources. |
| kernel/kernel-noble-src/7.1/0005-support-for-dynamic-change-of-i2c-bus-clk-rate.patch | Adds i2c bus clock rate sysfs/API support (JP7.1). |
| kernel/kernel-noble-src/7.1/0004-add-d4xx-camera-overlays.patch | JP7.1 patch reference/link for D4xx overlays. |
| kernel/kernel-noble-src/7.1/0003-realsense-metadata-jammy-master.patch | Adds UVC metadata IDs for D4xx devices (JP7.1). |
| kernel/kernel-noble-src/7.1/0002-realsense-camera-formats-jammy-master.patch | Adds additional RealSense-related formats/FOURCCs (JP7.1). |
| kernel/kernel-noble-src/7.1/0001-kernel-enable-HID_SENSOR-without-USB-impact.patch | Enables HID sensor options in defconfig (JP7.1). |
| kernel/kernel-noble-src/7.0/0005-support-for-dynamic-change-of-i2c-bus-clk-rate.patch | Adds i2c bus clock rate sysfs/API support (JP7.0). |
| kernel/kernel-noble-src/7.0/0004-add-d4xx-camera-overlays.patch | Adds tegra264 dtbo targets for D4xx overlays (JP7.0). |
| kernel/kernel-noble-src/7.0/0003-realsense-metadata-jammy-master.patch | Adds UVC metadata IDs for D4xx devices (JP7.0). |
| kernel/kernel-noble-src/7.0/0002-realsense-camera-formats-jammy-master.patch | Adds additional RealSense-related formats/FOURCCs (JP7.0). |
| kernel/kernel-noble-src/7.0/0001-kernel-enable-HID_SENSOR-without-USB-impact.patch | Enables HID sensor options in defconfig (JP7.0). |
| kernel/kernel-jammy-src/Makefile | Removes explicit ARCH=arm64 passing from the Jammy kernel wrapper. |
| hardware/realsense/tegra264-camera-d4xx-overlay.dtso | Adds tegra264 device-tree overlay source for D4xx + max9296 + tca9548. |
| hardware/realsense/tegra264-camera-d4xx-advantech.dtso | Adds tegra264 device-tree overlay source for D4xx + max96712 “Thor” setup. |
| hardware/nvidia/platform/t19x/galen/kernel-dts/5.x/0001-Porting-dts-to-jetpack-5.0.2.patch | Adds JP5.x DTS patch for switching to RealSense camera dtsi include. |
| hardware/nvidia/platform/t19x/galen/kernel-dts/5.1.2/0001-Porting-dts-to-jetpack-5.1.2.patch | Removes JP5.1.2 DTS patch file (restructured patch set). |
| hardware/nvidia/platform/t19x/galen/kernel-dts/4.x/0009-Disable-metadata-for-IR.patch | Adds JP4.x DTS patch disabling IR embedded metadata. |
| hardware/nvidia/platform/t19x/galen/kernel-dts/4.x/0008-DSO-18218-change-i2c-clock-to-100kHz.patch | Adds JP4.x DTS patch changing I2C clock to 100kHz. |
| hardware/nvidia/platform/t19x/galen/kernel-dts/4.x/0007-SerDes-Link-SerDes-to-VI-driver.patch | Adds JP4.x DTS patch moving SerDes linking to VI driver scope. |
| hardware/nvidia/platform/t19x/galen/kernel-dts/4.x/0006-SerDes-Add-SerDes-configuration-under-I2C-MUX.patch | Adds JP4.x DTS patch introducing SerDes nodes under I2C mux. |
| hardware/nvidia/platform/t19x/galen/kernel-dts/4.x/0005-Enable-IMU-streaming.patch | Adds JP4.x DTS patch enabling IMU streaming configuration. |
| hardware/nvidia/platform/t19x/galen/kernel-dts/4.x/0004-enable-RGB-MD.patch | Adds JP4.x DTS patch enabling RGB metadata. |
| hardware/nvidia/platform/t19x/galen/kernel-dts/4.x/0003-Enable-Y8-on-separate-video-node.patch | Adds JP4.x DTS patch enabling Y8 as separate node. |
| hardware/nvidia/platform/t19x/galen/kernel-dts/4.x/0002-metadata-fix.patch | Adds JP4.x DTS patch fixing metadata config. |
| build_all.sh | Updates build flow to support JP7 toolchain + JP7 dtbo copy paths + normalized sources dir. |
| apply_patches.sh | Updates patch application flow for JP7, consolidates logic, and adds new overlay/header handling. |
| README_JP7.md | Adds JetPack 7.x build/deploy/setup documentation. |
| README.md | Updates supported JetPack list and links to JP7 documentation. |
| .github/workflows/build-jp7.yml | Adds CI workflow building JetPack 7.0 configuration. |
| .github/workflows/build-jp7.1.yml | Adds CI workflow building JetPack 7.1 configuration. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
sareluzi
left a comment
There was a problem hiding this comment.
Code Review — JetPack 7.x Support (PR #396)
Overall a solid effort to unify the build infrastructure and add JP7 support. Found several issues ranging from bugs to style concerns. See inline comments plus these additional notes:
apply_patches.sh — Removed .realsense_patch_base tracking
The previous code stored the original commit hash before applying patches in .realsense_patch_base and used it for reset. Now reset always does git reset --hard $L4T_VERSION. If the source repo was on a different commit than the tag, the reset behavior changes. Likely fine, but worth noting as a behavioral change.
build_all.sh — make install -C kernel was removed for JP6+
The old code had make ARCH=arm64 install -C kernel which copies the kernel Image to the output. That line is now gone. Verify that the kernel Image is still being installed to $TEGRA_KERNEL_OUT/rootfs/boot/ for JP6. For JP7, make -C kernel builds it, but the install target also copies it to the output directory.
sareluzi
left a comment
There was a problem hiding this comment.
Follow-up Review (v2)
Previously resolved (thank you):
- README_JP7.md title: Fixed
- Consolidated pad_ops: Fixed
make installrestored in build_all.sh: Fixed
Still unresolved (replies posted on original threads):
- d4xx.c: Version guard mismatch
- d4xx.c: Dead code pad assignment
- d4xx.c: Duplicate sensor assignment
- d4xx.c: __memcpy should be memcpy
- apply_patches.sh: version used as patch subdir name
- setup-common: export version (generic name)
- setup-common: Silent default to first supported version
- test_metadata.c: Debug fprintf calls
- build_all.sh: Mixed tabs/spaces in JP7 dtb block
New findings in this round:
See inline comments below.
…n support in scripts
sareluzi
left a comment
There was a problem hiding this comment.
Review Round 3 (after force-push to 89de0e1)
Major rewrite of shell scripts — great improvement in structure and consistency with version_lt, JP_INPUT_VERSION, unified sources dir naming. Many of the issues from the previous review rounds have been addressed.
Fixed since last review (thank you):
- README_JP7.md title
- Consolidated pad_ops into single
ds5_pad_ops/ds5_subdev_ops make installrestored in build_all.shexport versionrenamed toJP_INPUT_VERSION- Duplicate
sensor = state->mux.last_setremoved - Dead
$2 == resetblock removed (rewritten) $versionas patch subdir replaced byJP_INPUT_VERSION
Still present + New findings:
See inline comments below.
22d5ece to
1981c46
Compare
17a35a7 to
fca25d7
Compare
JetPack 7.x build implemented