You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(provision): hold the ARK boot chain, and let nvidia-jetpack install (#134)
/boot/Image and /boot/*.dtb* are ordinary package files, not conffiles, and the
image ships NVIDIA's apt source live. NVIDIA's repo has carried a newer stamp
than any image we ship since 36.5.2, so one apt upgrade replaces the ARK
defconfig and DTBs with stock. The DTB half is silent — the board still runs the
ARK tree from the kernel-dtb partition, so only jetson-io notices, dying on the
model mismatch it now sees between /proc/device-tree and /boot/dtb.
The camera pin had a second, unrelated cost: nvidia-jetpack-runtime wants
nvidia-l4t-gstreamer (>> 36.5-0) (<< 36.6-0), so a truthful 36.4.4 stamp made
`apt install nvidia-jetpack` an "impossible situation" no matter what the holds
said. Restamping the repacked debs to 36.5.99 puts them inside that window and
above NVIDIA's newest 36.5.x, so the metapackage resolves and apt still never
wants to upgrade them. Same binaries, same bench-validated stack.
Copy file name to clipboardExpand all lines: docs/argus_relaunch_regression.md
+8-2Lines changed: 8 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,11 +45,17 @@ Conclusions the data forces:
45
45
46
46
## The fix (shipped in this repo)
47
47
48
-
`--provision` now pins the camera userspace stack to `NV_CAMERA_STACK_VERSION` (versions.env, currently `36.4.4-20250616085344` = JetPack 6.2.1, the newest bench-clean release). Because the 36.4.x debs declare `nvidia-l4t-core (<< 36.5-0)` and exact-stamp deps on cuda/nvsci, provision.sh repacks them (`relax_l4t_deps`): core cap relaxed, out-of-set exact deps unversioned, in-set exact deps retargeted, version suffixed `+ark1` for traceability. They then install as one ordinary `apt-get install --allow-downgrades` transaction — dpkg/apt state stays consistent (`apt-get check` clean) — and are `apt-mark hold` so an on-device upgrade against NVIDIA's repo can't drag them back to the regressed stamp.
48
+
`--provision` now pins the camera userspace stack to `NV_CAMERA_STACK_VERSION` (versions.env, currently `36.4.4-20250616085344` = JetPack 6.2.1, the newest bench-clean release). Because the 36.4.x debs declare `nvidia-l4t-core (<< 36.5-0)` and exact-stamp deps on cuda/nvsci, provision.sh repacks them (`relax_l4t_deps`): core cap relaxed, out-of-set exact deps unversioned, in-set exact deps retargeted, and the version restamped to `NV_CAMERA_PIN_VERSION` (`36.5.99-20250616085344+ark1`). They then install as one ordinary `apt-get install --allow-downgrades` transaction — dpkg/apt state stays consistent (`apt-get check` clean) — and are `apt-mark hold` so an on-device upgrade against NVIDIA's repo can't drag them back to the regressed stamp.
49
49
50
50
Already-flashed 6.2.2.x devices can be fixed in place with the same four repacked debs: `sudo apt-get install -y --allow-downgrades ./ark1_*.deb && sudo apt-mark hold nvidia-l4t-gstreamer nvidia-l4t-camera nvidia-l4t-multimedia nvidia-l4t-multimedia-utils && sudo systemctl restart nvargus-daemon`.
51
51
52
-
On each BSP bump, rerun the repro below against the new stock stack; drop the pin (set `NV_CAMERA_STACK_VERSION` back to the BSP stamp) once NVIDIA ships a fixed userspace. Known tradeoff while pinned: the camera stack stops receiving NVIDIA's 36.5.x security/bug updates, and `nvidia-jetpack` metapackage installs that pull exact-version camera components may need the hold lifted.
52
+
On each BSP bump, rerun the repro below against the new stock stack; drop the pin (set `NV_CAMERA_STACK_VERSION` back to the BSP stamp) once NVIDIA ships a fixed userspace. Known tradeoff while pinned: the camera stack stops receiving NVIDIA's 36.5.x security/bug updates.
53
+
54
+
### Why the version is restamped, not just suffixed
55
+
56
+
`nvidia-jetpack-runtime` declares `nvidia-l4t-gstreamer (>> 36.5-0), (<< 36.6-0)`, which no truthful 36.4.4 stamp can satisfy — `apt install nvidia-jetpack` failed outright with "you have requested an impossible situation". `36.5.99` sits inside that window and above NVIDIA's newest 36.5.x, so the metapackage resolves and apt still never wants to upgrade the set. Nothing else in that dependency tree is tighter: `nvidia-l4t-jetson-multimedia-api` asks only for `(>> 36.0) (<< 37.0)` on camera/multimedia/multimedia-utils, and the CUDA/TensorRT/VPI side doesn't depend on them at all.
57
+
58
+
The contents are still `NV_CAMERA_STACK_VERSION`; the `+ark1` suffix and the real `20250616085344` build stamp in the debian revision are what say so. When the pin is dropped, both variables go back to the BSP stamp together.
53
59
54
60
For Gremsy (#107): their custom IMX586 driver is not the cause — stock sensors reproduce it. They can apply the same pinned userspace on a 36.5.0-based release (best: current kernel + working cameras), or stay on `b2275f3` (R36.4.3) until NVIDIA fixes 36.5.x.
0 commit comments