Skip to content

Commit 507095e

Browse files
Merge pull request #17 from balena-io-examples/update_orin_to_l4t_35_4_1
Update Jetson Orin NX, Orin Nano and AGX Orin examples for L4T 35.4.1
2 parents 1266503 + af119ef commit 507095e

File tree

3 files changed

+61
-32
lines changed

3 files changed

+61
-32
lines changed

jetson-agx-orin-devkit/Dockerfile

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,23 @@
11
# Cuda Examples can't be compiled with newer glibc, see
22
# https://forums.developer.nvidia.com/t/cuda-11-5-samples-throw-multiple-error-attribute-malloc-does-not-take-arguments/192750
3+
4+
# AGX Orin, Orin NX and Orin Nano use the same T234 platform, therefore base images can be used
5+
# interchangeably as long as nvidia.list contains the right apt repositoy
36
FROM balenalib/jetson-agx-orin-devkit-ubuntu:focal
47

58
# Prevent apt-get prompting for input
69
ENV DEBIAN_FRONTEND noninteractive
710

8-
# Download and install BSP binaries for L4T 35.2.1
11+
RUN echo "deb https://repo.download.nvidia.com/jetson/common r35.4 main" > /etc/apt/sources.list.d/nvidia.list \
12+
&& echo "deb https://repo.download.nvidia.com/jetson/t234 r35.4 main" >> /etc/apt/sources.list.d/nvidia.list \
13+
&& apt-key adv --fetch-key http://repo.download.nvidia.com/jetson/jetson-ota-public.asc \
14+
&& mkdir -p /opt/nvidia/l4t-packages/ && touch /opt/nvidia/l4t-packages/.nv-l4t-disable-boot-fw-update-in-preinstall
15+
16+
# Download and install BSP binaries for L4T 35.4.1
917
RUN \
1018
apt-get update && apt-get install -y wget tar lbzip2 binutils xz-utils zstd && \
11-
cd /tmp/ && wget https://developer.nvidia.com/downloads/jetson-linux-r3521-aarch64tbz2 -O jetson_linux_r35.2.1_aarch64.tbz2 && \
12-
tar xf jetson_linux_r35.2.1_aarch64.tbz2 && \
19+
cd /tmp/ && wget https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v4.1/release/jetson_linux_r35.4.1_aarch64.tbz2 && \
20+
tar xf jetson_linux_r35.4.1_aarch64.tbz2 && \
1321
cd Linux_for_Tegra && \
1422
sed -i 's/config.tbz2\"/config.tbz2\" --exclude=etc\/hosts --exclude=etc\/hostname/g' apply_binaries.sh && \
1523
sed -i 's/install --owner=root --group=root \"${QEMU_BIN}\" \"${L4T_ROOTFS_DIR}\/usr\/bin\/\"/#install --owner=root --group=root \"${QEMU_BIN}\" \"${L4T_ROOTFS_DIR}\/usr\/bin\/\"/g' nv_tegra/nv-apply-debs.sh && \
@@ -40,13 +48,20 @@ RUN echo "#!/bin/bash" > /etc/X11/xinit/xserverrc \
4048

4149
## Optional: Sample CUDA Clock sample run in webterminal:
4250
## apt-get update && apt-get install nvidia-l4t-cuda nvidia-cuda cuda-samples-11-4 && cd /usr/local/cuda-11.4/samples/0_Simple/clock/ && make && ./clock
43-
## Output:
44-
## CUDA Clock sample
45-
## GPU Device 0: "Xavier" with compute capability 7.2
51+
## Example Output:
4652
##
47-
## Average clocks/block = 3171.421875
53+
## ./simpleTexture
54+
## simpleTexture starting...
55+
## GPU Device 0: "Ampere" with compute capability 8.7
56+
##
57+
## ...
58+
## Processing time: 0.486000 (ms)
59+
## 539.39 Mpixels/sec
60+
## ..
61+
## simpleTexture completed, returned OK
4862

4963
# Start XFCE desktop
5064

5165
CMD ["startxfce4"]
5266

67+

jetson-orin-nano-devkit-nvme/Dockerfile

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,22 @@
22
# https://forums.developer.nvidia.com/t/cuda-11-5-samples-throw-multiple-error-attribute-malloc-does-not-take-arguments/192750
33

44
# AGX Orin, Orin NX and Orin Nano use the same T234 platform, therefore base images can be used
5-
# interchangeably as long as nvidia.list contains the right apt repository
6-
7-
# If Orin Nano Devkit NVME base images are not published yet,
8-
# the AGX Orin ones can be used, since both are using the T234 platform, i.e:
9-
# FROM balenalib/jetson-agx-orin-devkit-ubuntu:focal
10-
FROM balenalib/jetson-orin-nano-devkit-nvme-ubuntu:focal
5+
# interchangeably as long as nvidia.list contains the right apt repositoy
6+
FROM balenalib/jetson-agx-orin-devkit-ubuntu:focal
117

128
# Prevent apt-get prompting for input
139
ENV DEBIAN_FRONTEND noninteractive
1410

15-
# Uncomment line below to update debs repository from 35.1 to 35.3 if using a agx-orin-devkit base image
16-
# RUN sed -i 's/r35.1 main/r35.3 main/g' /etc/apt/sources.list.d/nvidia.list
11+
RUN echo "deb https://repo.download.nvidia.com/jetson/common r35.4 main" > /etc/apt/sources.list.d/nvidia.list \
12+
&& echo "deb https://repo.download.nvidia.com/jetson/t234 r35.4 main" >> /etc/apt/sources.list.d/nvidia.list \
13+
&& apt-key adv --fetch-key http://repo.download.nvidia.com/jetson/jetson-ota-public.asc \
14+
&& mkdir -p /opt/nvidia/l4t-packages/ && touch /opt/nvidia/l4t-packages/.nv-l4t-disable-boot-fw-update-in-preinstall
1715

18-
# Download and install BSP binaries for L4T 35.3.1
16+
# Download and install BSP binaries for L4T 35.4.1
1917
RUN \
2018
apt-get update && apt-get install -y wget tar lbzip2 binutils xz-utils zstd && \
21-
cd /tmp/ && wget https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v3.1/release/jetson_linux_r35.3.1_aarch64.tbz2/ -O jetson_linux_r35.3.1_aarch64.tbz2 && \
22-
tar xf jetson_linux_r35.3.1_aarch64.tbz2 && \
19+
cd /tmp/ && wget https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v4.1/release/jetson_linux_r35.4.1_aarch64.tbz2 && \
20+
tar xf jetson_linux_r35.4.1_aarch64.tbz2 && \
2321
cd Linux_for_Tegra && \
2422
sed -i 's/config.tbz2\"/config.tbz2\" --exclude=etc\/hosts --exclude=etc\/hostname/g' apply_binaries.sh && \
2523
sed -i 's/install --owner=root --group=root \"${QEMU_BIN}\" \"${L4T_ROOTFS_DIR}\/usr\/bin\/\"/#install --owner=root --group=root \"${QEMU_BIN}\" \"${L4T_ROOTFS_DIR}\/usr\/bin\/\"/g' nv_tegra/nv-apply-debs.sh && \
@@ -50,12 +48,20 @@ RUN echo "#!/bin/bash" > /etc/X11/xinit/xserverrc \
5048

5149
## Optional: Sample CUDA Clock sample run in webterminal:
5250
## apt-get update && apt-get install nvidia-l4t-cuda nvidia-cuda cuda-samples-11-4 && cd /usr/local/cuda-11.4/samples/0_Simple/clock/ && make && ./clock
53-
## Output:
54-
## CUDA Clock sample
51+
## Example Output:
52+
##
53+
## ./simpleTexture
54+
## simpleTexture starting...
5555
## GPU Device 0: "Ampere" with compute capability 8.7
5656
##
57-
## Average clocks/block = 1965.765625
57+
## ...
58+
## Processing time: 0.486000 (ms)
59+
## 539.39 Mpixels/sec
60+
## ..
61+
## simpleTexture completed, returned OK
5862

5963
# Start XFCE desktop
6064

6165
CMD ["startxfce4"]
66+
67+

jetson-orin-nx-xavier-nx-devkit/Dockerfile

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
# Cuda Examples can't be compiled with newer glibc, see
22
# https://forums.developer.nvidia.com/t/cuda-11-5-samples-throw-multiple-error-attribute-malloc-does-not-take-arguments/192750
33

4-
# AGX Orin and Orin NX use the same T234 platform, therefore base images can be used
4+
# AGX Orin, Orin NX and Orin Nano use the same T234 platform, therefore base images can be used
55
# interchangeably as long as nvidia.list contains the right apt repositoy
6-
FROM balenalib/jetson-orin-nx-xavier-nx-devkit-ubuntu:focal
6+
FROM balenalib/jetson-agx-orin-devkit-ubuntu:focal
77

88
# Prevent apt-get prompting for input
99
ENV DEBIAN_FRONTEND noninteractive
1010

11-
# Update repository from 35.2 to 35.3 if necessary
12-
RUN sed -i 's/r35.2 main/r35.3 main/g' /etc/apt/sources.list.d/nvidia.list
11+
RUN echo "deb https://repo.download.nvidia.com/jetson/common r35.4 main" > /etc/apt/sources.list.d/nvidia.list \
12+
&& echo "deb https://repo.download.nvidia.com/jetson/t234 r35.4 main" >> /etc/apt/sources.list.d/nvidia.list \
13+
&& apt-key adv --fetch-key http://repo.download.nvidia.com/jetson/jetson-ota-public.asc \
14+
&& mkdir -p /opt/nvidia/l4t-packages/ && touch /opt/nvidia/l4t-packages/.nv-l4t-disable-boot-fw-update-in-preinstall
1315

14-
# Download and install BSP binaries for L4T 35.3.1
16+
# Download and install BSP binaries for L4T 35.4.1
1517
RUN \
1618
apt-get update && apt-get install -y wget tar lbzip2 binutils xz-utils zstd && \
17-
cd /tmp/ && wget https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v3.1/release/jetson_linux_r35.3.1_aarch64.tbz2 && \
18-
tar xf jetson_linux_r35.3.1_aarch64.tbz2 && \
19+
cd /tmp/ && wget https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v4.1/release/jetson_linux_r35.4.1_aarch64.tbz2 && \
20+
tar xf jetson_linux_r35.4.1_aarch64.tbz2 && \
1921
cd Linux_for_Tegra && \
2022
sed -i 's/config.tbz2\"/config.tbz2\" --exclude=etc\/hosts --exclude=etc\/hostname/g' apply_binaries.sh && \
2123
sed -i 's/install --owner=root --group=root \"${QEMU_BIN}\" \"${L4T_ROOTFS_DIR}\/usr\/bin\/\"/#install --owner=root --group=root \"${QEMU_BIN}\" \"${L4T_ROOTFS_DIR}\/usr\/bin\/\"/g' nv_tegra/nv-apply-debs.sh && \
@@ -46,11 +48,17 @@ RUN echo "#!/bin/bash" > /etc/X11/xinit/xserverrc \
4648

4749
## Optional: Sample CUDA Clock sample run in webterminal:
4850
## apt-get update && apt-get install nvidia-l4t-cuda nvidia-cuda cuda-samples-11-4 && cd /usr/local/cuda-11.4/samples/0_Simple/clock/ && make && ./clock
49-
## Output:
50-
## CUDA Clock sample
51-
## GPU Device 0: "Xavier" with compute capability 7.2
51+
## Example Output:
5252
##
53-
## Average clocks/block = 3171.421875
53+
## ./simpleTexture
54+
## simpleTexture starting...
55+
## GPU Device 0: "Ampere" with compute capability 8.7
56+
##
57+
## ...
58+
## Processing time: 0.486000 (ms)
59+
## 539.39 Mpixels/sec
60+
## ..
61+
## simpleTexture completed, returned OK
5462

5563
# Start XFCE desktop
5664

0 commit comments

Comments
 (0)