How to build ZED 2i Camera x ROS2 Foxy x Nvidia Jetson x Ubuntu 18.04 via Docker

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • # Based on https://gitlab.com/nvidia/container-images/l4t-base/-/blob/master/Dockerfile.l4t # https://github.com/dusty-nv/jetson-containers/blob/master/Dockerfile.ros.foxy # https://github.com/codustry/jetson-containers/blob/master/Dockerfile.ros.foxy ARG L4T_MINOR_VERSION=5.0 FROM codustry/ros:foxy-ros-base-l4t-r32.${L4T_MINOR_VERSION} # # ZED Jetson # https://github.com/stereolabs/zed-docker/blob/master/3.X/jetpack_4.X/devel/Dockerfile # ARG ZED_SDK_MAJOR=3 ARG ZED_SDK_MINOR=5 ARG JETPACK_MAJOR=4 ARG JETPACK_MINOR=5 #This environment variable is needed to use the streaming features on Jetson inside a container ENV LOGNAME root ENV DEBIAN_FRONTEND noninteractive RUN apt-get update -y && apt-get install --no-install-recommends lsb-release wget less udev sudo apt-transport-https build-essential cmake openssh-server libv4l-0 libv4l-dev v4l-utils binutils xz-utils bzip2 lbzip2 curl ca-certificates libegl1 python3 -y && \ echo "# R32 (release), REVISION: 5.0" > /etc/nv_tegra_release ; \ wget -q --no-check-certificate -O ZED_SDK_Linux_JP.run https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/jp${JETPACK_MAJOR}${JETPACK_MINOR}/jetsons && \ chmod +x ZED_SDK_Linux_JP.run ; ./ZED_SDK_Linux_JP.run silent skip_tools && \ rm -rf /usr/local/zed/resources/* \ rm -rf ZED_SDK_Linux_JP.run && \ rm -rf /var/lib/apt/lists/* #This symbolic link is needed to use the streaming features on Jetson inside a container RUN ln -sf /usr/lib/aarch64-linux-gnu/tegra/libv4l2.so.0 /usr/lib/aarch64-linux-gnu/libv4l2.so # # Configure Enviroment for ROS RUN echo 'source /opt/ros/foxy/install/setup.bash' >> ~/.bashrc # RUN echo "source /opt/ros/eloquent/setup.bash" >> ~/.bashrc RUN echo 'source /usr/share/colcon_cd/function/colcon_cd.sh' >> ~/.bashrc # RUN echo "export _colcon_cd_root=~/ros2_install" >> ~/.bashrc # echo $LD_LIBRARY_PATH RUN echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/targets/aarch64-linux/lib/stubs:/opt/ros/foxy/install/lib' >> ~/.bashrc WORKDIR /root/Downloads RUN wget https://developer.nvidia.com/embedded/L4T/r32_Release_v5.0/T186/Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN tar xf Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN cd Linux_for_Tegra && \ sed -i 's/config.tbz2\"/config.tbz2\" --exclude=etc\/hosts --exclude=etc\/hostname/g' apply_binaries.sh && \ 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 && \ sed -i 's/LC_ALL=C chroot . mount -t proc none \/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/umount ${L4T_ROOTFS_DIR}\/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/chroot . \// /g' nv_tegra/nv-apply-debs.sh && \ ./apply_binaries.sh -r / --target-overlay RUN rm -rf Tegra210_Linux_R32.4.4_aarch64.tbz2 && \ rm -rf Linux_for_Tegra && \ echo "/usr/lib/aarch64-linux-gnu/tegra" > /etc/ld.so.conf.d/nvidia-tegra.conf && ldconfig WORKDIR /usr/local/zed ENV CUDA_HOME=/usr/local/cuda WORKDIR /root/ros2_ws/src/ RUN source /opt/ros/foxy/install/setup.bash && cd ../ && colcon build --symlink-install RUN git clone https://github.com/stereolabs/zed-ros2-wrapper.git RUN git clone https://github.com/ros/diagnostics.git && cd diagnostics && git checkout foxy WORKDIR /root/ros2_ws RUN source /opt/ros/foxy/install/setup.bash && source $(pwd)/install/local_setup.bash && rosdep update && \ rosdep install --from-paths src --ignore-src -r --rosdistro ${ROS_DISTRO} -y && \ colcon build --symlink-install --cmake-args " -DCMAKE_BUILD_TYPE=Release" " -DCMAKE_LIBRARY_PATH=/usr/local/cuda/lib64/stubs" " -DCUDA_CUDART_LIBRARY=/usr/local/cuda/lib64/stubs" " -DCMAKE_CXX_FLAGS='-Wl,--allow-shlib-undefined'" && \ echo source $(pwd)/install/local_setup.bash >> ~/.bashrc && \ source ~/.bashrc

  • jetson-containers

    Machine Learning Containers for NVIDIA Jetson and JetPack-L4T

  • # Based on https://gitlab.com/nvidia/container-images/l4t-base/-/blob/master/Dockerfile.l4t # https://github.com/dusty-nv/jetson-containers/blob/master/Dockerfile.ros.foxy # https://github.com/codustry/jetson-containers/blob/master/Dockerfile.ros.foxy ARG L4T_MINOR_VERSION=5.0 FROM codustry/ros:foxy-ros-base-l4t-r32.${L4T_MINOR_VERSION} # # ZED Jetson # https://github.com/stereolabs/zed-docker/blob/master/3.X/jetpack_4.X/devel/Dockerfile # ARG ZED_SDK_MAJOR=3 ARG ZED_SDK_MINOR=5 ARG JETPACK_MAJOR=4 ARG JETPACK_MINOR=5 #This environment variable is needed to use the streaming features on Jetson inside a container ENV LOGNAME root ENV DEBIAN_FRONTEND noninteractive RUN apt-get update -y && apt-get install --no-install-recommends lsb-release wget less udev sudo apt-transport-https build-essential cmake openssh-server libv4l-0 libv4l-dev v4l-utils binutils xz-utils bzip2 lbzip2 curl ca-certificates libegl1 python3 -y && \ echo "# R32 (release), REVISION: 5.0" > /etc/nv_tegra_release ; \ wget -q --no-check-certificate -O ZED_SDK_Linux_JP.run https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/jp${JETPACK_MAJOR}${JETPACK_MINOR}/jetsons && \ chmod +x ZED_SDK_Linux_JP.run ; ./ZED_SDK_Linux_JP.run silent skip_tools && \ rm -rf /usr/local/zed/resources/* \ rm -rf ZED_SDK_Linux_JP.run && \ rm -rf /var/lib/apt/lists/* #This symbolic link is needed to use the streaming features on Jetson inside a container RUN ln -sf /usr/lib/aarch64-linux-gnu/tegra/libv4l2.so.0 /usr/lib/aarch64-linux-gnu/libv4l2.so # # Configure Enviroment for ROS RUN echo 'source /opt/ros/foxy/install/setup.bash' >> ~/.bashrc # RUN echo "source /opt/ros/eloquent/setup.bash" >> ~/.bashrc RUN echo 'source /usr/share/colcon_cd/function/colcon_cd.sh' >> ~/.bashrc # RUN echo "export _colcon_cd_root=~/ros2_install" >> ~/.bashrc # echo $LD_LIBRARY_PATH RUN echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/targets/aarch64-linux/lib/stubs:/opt/ros/foxy/install/lib' >> ~/.bashrc WORKDIR /root/Downloads RUN wget https://developer.nvidia.com/embedded/L4T/r32_Release_v5.0/T186/Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN tar xf Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN cd Linux_for_Tegra && \ sed -i 's/config.tbz2\"/config.tbz2\" --exclude=etc\/hosts --exclude=etc\/hostname/g' apply_binaries.sh && \ 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 && \ sed -i 's/LC_ALL=C chroot . mount -t proc none \/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/umount ${L4T_ROOTFS_DIR}\/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/chroot . \// /g' nv_tegra/nv-apply-debs.sh && \ ./apply_binaries.sh -r / --target-overlay RUN rm -rf Tegra210_Linux_R32.4.4_aarch64.tbz2 && \ rm -rf Linux_for_Tegra && \ echo "/usr/lib/aarch64-linux-gnu/tegra" > /etc/ld.so.conf.d/nvidia-tegra.conf && ldconfig WORKDIR /usr/local/zed ENV CUDA_HOME=/usr/local/cuda WORKDIR /root/ros2_ws/src/ RUN source /opt/ros/foxy/install/setup.bash && cd ../ && colcon build --symlink-install RUN git clone https://github.com/stereolabs/zed-ros2-wrapper.git RUN git clone https://github.com/ros/diagnostics.git && cd diagnostics && git checkout foxy WORKDIR /root/ros2_ws RUN source /opt/ros/foxy/install/setup.bash && source $(pwd)/install/local_setup.bash && rosdep update && \ rosdep install --from-paths src --ignore-src -r --rosdistro ${ROS_DISTRO} -y && \ colcon build --symlink-install --cmake-args " -DCMAKE_BUILD_TYPE=Release" " -DCMAKE_LIBRARY_PATH=/usr/local/cuda/lib64/stubs" " -DCUDA_CUDART_LIBRARY=/usr/local/cuda/lib64/stubs" " -DCMAKE_CXX_FLAGS='-Wl,--allow-shlib-undefined'" && \ echo source $(pwd)/install/local_setup.bash >> ~/.bashrc && \ source ~/.bashrc

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • jetson-containers

    Machine Learning Containers for NVIDIA Jetson and JetPack-L4T (by codustry)

  • # Based on https://gitlab.com/nvidia/container-images/l4t-base/-/blob/master/Dockerfile.l4t # https://github.com/dusty-nv/jetson-containers/blob/master/Dockerfile.ros.foxy # https://github.com/codustry/jetson-containers/blob/master/Dockerfile.ros.foxy ARG L4T_MINOR_VERSION=5.0 FROM codustry/ros:foxy-ros-base-l4t-r32.${L4T_MINOR_VERSION} # # ZED Jetson # https://github.com/stereolabs/zed-docker/blob/master/3.X/jetpack_4.X/devel/Dockerfile # ARG ZED_SDK_MAJOR=3 ARG ZED_SDK_MINOR=5 ARG JETPACK_MAJOR=4 ARG JETPACK_MINOR=5 #This environment variable is needed to use the streaming features on Jetson inside a container ENV LOGNAME root ENV DEBIAN_FRONTEND noninteractive RUN apt-get update -y && apt-get install --no-install-recommends lsb-release wget less udev sudo apt-transport-https build-essential cmake openssh-server libv4l-0 libv4l-dev v4l-utils binutils xz-utils bzip2 lbzip2 curl ca-certificates libegl1 python3 -y && \ echo "# R32 (release), REVISION: 5.0" > /etc/nv_tegra_release ; \ wget -q --no-check-certificate -O ZED_SDK_Linux_JP.run https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/jp${JETPACK_MAJOR}${JETPACK_MINOR}/jetsons && \ chmod +x ZED_SDK_Linux_JP.run ; ./ZED_SDK_Linux_JP.run silent skip_tools && \ rm -rf /usr/local/zed/resources/* \ rm -rf ZED_SDK_Linux_JP.run && \ rm -rf /var/lib/apt/lists/* #This symbolic link is needed to use the streaming features on Jetson inside a container RUN ln -sf /usr/lib/aarch64-linux-gnu/tegra/libv4l2.so.0 /usr/lib/aarch64-linux-gnu/libv4l2.so # # Configure Enviroment for ROS RUN echo 'source /opt/ros/foxy/install/setup.bash' >> ~/.bashrc # RUN echo "source /opt/ros/eloquent/setup.bash" >> ~/.bashrc RUN echo 'source /usr/share/colcon_cd/function/colcon_cd.sh' >> ~/.bashrc # RUN echo "export _colcon_cd_root=~/ros2_install" >> ~/.bashrc # echo $LD_LIBRARY_PATH RUN echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/targets/aarch64-linux/lib/stubs:/opt/ros/foxy/install/lib' >> ~/.bashrc WORKDIR /root/Downloads RUN wget https://developer.nvidia.com/embedded/L4T/r32_Release_v5.0/T186/Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN tar xf Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN cd Linux_for_Tegra && \ sed -i 's/config.tbz2\"/config.tbz2\" --exclude=etc\/hosts --exclude=etc\/hostname/g' apply_binaries.sh && \ 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 && \ sed -i 's/LC_ALL=C chroot . mount -t proc none \/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/umount ${L4T_ROOTFS_DIR}\/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/chroot . \// /g' nv_tegra/nv-apply-debs.sh && \ ./apply_binaries.sh -r / --target-overlay RUN rm -rf Tegra210_Linux_R32.4.4_aarch64.tbz2 && \ rm -rf Linux_for_Tegra && \ echo "/usr/lib/aarch64-linux-gnu/tegra" > /etc/ld.so.conf.d/nvidia-tegra.conf && ldconfig WORKDIR /usr/local/zed ENV CUDA_HOME=/usr/local/cuda WORKDIR /root/ros2_ws/src/ RUN source /opt/ros/foxy/install/setup.bash && cd ../ && colcon build --symlink-install RUN git clone https://github.com/stereolabs/zed-ros2-wrapper.git RUN git clone https://github.com/ros/diagnostics.git && cd diagnostics && git checkout foxy WORKDIR /root/ros2_ws RUN source /opt/ros/foxy/install/setup.bash && source $(pwd)/install/local_setup.bash && rosdep update && \ rosdep install --from-paths src --ignore-src -r --rosdistro ${ROS_DISTRO} -y && \ colcon build --symlink-install --cmake-args " -DCMAKE_BUILD_TYPE=Release" " -DCMAKE_LIBRARY_PATH=/usr/local/cuda/lib64/stubs" " -DCUDA_CUDART_LIBRARY=/usr/local/cuda/lib64/stubs" " -DCMAKE_CXX_FLAGS='-Wl,--allow-shlib-undefined'" && \ echo source $(pwd)/install/local_setup.bash >> ~/.bashrc && \ source ~/.bashrc

  • zed-docker

    Docker images for the ZED SDK

  • # Based on https://gitlab.com/nvidia/container-images/l4t-base/-/blob/master/Dockerfile.l4t # https://github.com/dusty-nv/jetson-containers/blob/master/Dockerfile.ros.foxy # https://github.com/codustry/jetson-containers/blob/master/Dockerfile.ros.foxy ARG L4T_MINOR_VERSION=5.0 FROM codustry/ros:foxy-ros-base-l4t-r32.${L4T_MINOR_VERSION} # # ZED Jetson # https://github.com/stereolabs/zed-docker/blob/master/3.X/jetpack_4.X/devel/Dockerfile # ARG ZED_SDK_MAJOR=3 ARG ZED_SDK_MINOR=5 ARG JETPACK_MAJOR=4 ARG JETPACK_MINOR=5 #This environment variable is needed to use the streaming features on Jetson inside a container ENV LOGNAME root ENV DEBIAN_FRONTEND noninteractive RUN apt-get update -y && apt-get install --no-install-recommends lsb-release wget less udev sudo apt-transport-https build-essential cmake openssh-server libv4l-0 libv4l-dev v4l-utils binutils xz-utils bzip2 lbzip2 curl ca-certificates libegl1 python3 -y && \ echo "# R32 (release), REVISION: 5.0" > /etc/nv_tegra_release ; \ wget -q --no-check-certificate -O ZED_SDK_Linux_JP.run https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/jp${JETPACK_MAJOR}${JETPACK_MINOR}/jetsons && \ chmod +x ZED_SDK_Linux_JP.run ; ./ZED_SDK_Linux_JP.run silent skip_tools && \ rm -rf /usr/local/zed/resources/* \ rm -rf ZED_SDK_Linux_JP.run && \ rm -rf /var/lib/apt/lists/* #This symbolic link is needed to use the streaming features on Jetson inside a container RUN ln -sf /usr/lib/aarch64-linux-gnu/tegra/libv4l2.so.0 /usr/lib/aarch64-linux-gnu/libv4l2.so # # Configure Enviroment for ROS RUN echo 'source /opt/ros/foxy/install/setup.bash' >> ~/.bashrc # RUN echo "source /opt/ros/eloquent/setup.bash" >> ~/.bashrc RUN echo 'source /usr/share/colcon_cd/function/colcon_cd.sh' >> ~/.bashrc # RUN echo "export _colcon_cd_root=~/ros2_install" >> ~/.bashrc # echo $LD_LIBRARY_PATH RUN echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/targets/aarch64-linux/lib/stubs:/opt/ros/foxy/install/lib' >> ~/.bashrc WORKDIR /root/Downloads RUN wget https://developer.nvidia.com/embedded/L4T/r32_Release_v5.0/T186/Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN tar xf Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN cd Linux_for_Tegra && \ sed -i 's/config.tbz2\"/config.tbz2\" --exclude=etc\/hosts --exclude=etc\/hostname/g' apply_binaries.sh && \ 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 && \ sed -i 's/LC_ALL=C chroot . mount -t proc none \/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/umount ${L4T_ROOTFS_DIR}\/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/chroot . \// /g' nv_tegra/nv-apply-debs.sh && \ ./apply_binaries.sh -r / --target-overlay RUN rm -rf Tegra210_Linux_R32.4.4_aarch64.tbz2 && \ rm -rf Linux_for_Tegra && \ echo "/usr/lib/aarch64-linux-gnu/tegra" > /etc/ld.so.conf.d/nvidia-tegra.conf && ldconfig WORKDIR /usr/local/zed ENV CUDA_HOME=/usr/local/cuda WORKDIR /root/ros2_ws/src/ RUN source /opt/ros/foxy/install/setup.bash && cd ../ && colcon build --symlink-install RUN git clone https://github.com/stereolabs/zed-ros2-wrapper.git RUN git clone https://github.com/ros/diagnostics.git && cd diagnostics && git checkout foxy WORKDIR /root/ros2_ws RUN source /opt/ros/foxy/install/setup.bash && source $(pwd)/install/local_setup.bash && rosdep update && \ rosdep install --from-paths src --ignore-src -r --rosdistro ${ROS_DISTRO} -y && \ colcon build --symlink-install --cmake-args " -DCMAKE_BUILD_TYPE=Release" " -DCMAKE_LIBRARY_PATH=/usr/local/cuda/lib64/stubs" " -DCUDA_CUDART_LIBRARY=/usr/local/cuda/lib64/stubs" " -DCMAKE_CXX_FLAGS='-Wl,--allow-shlib-undefined'" && \ echo source $(pwd)/install/local_setup.bash >> ~/.bashrc && \ source ~/.bashrc

  • zed-ros2-wrapper

    ROS 2 wrapper for the ZED SDK

  • # Based on https://gitlab.com/nvidia/container-images/l4t-base/-/blob/master/Dockerfile.l4t # https://github.com/dusty-nv/jetson-containers/blob/master/Dockerfile.ros.foxy # https://github.com/codustry/jetson-containers/blob/master/Dockerfile.ros.foxy ARG L4T_MINOR_VERSION=5.0 FROM codustry/ros:foxy-ros-base-l4t-r32.${L4T_MINOR_VERSION} # # ZED Jetson # https://github.com/stereolabs/zed-docker/blob/master/3.X/jetpack_4.X/devel/Dockerfile # ARG ZED_SDK_MAJOR=3 ARG ZED_SDK_MINOR=5 ARG JETPACK_MAJOR=4 ARG JETPACK_MINOR=5 #This environment variable is needed to use the streaming features on Jetson inside a container ENV LOGNAME root ENV DEBIAN_FRONTEND noninteractive RUN apt-get update -y && apt-get install --no-install-recommends lsb-release wget less udev sudo apt-transport-https build-essential cmake openssh-server libv4l-0 libv4l-dev v4l-utils binutils xz-utils bzip2 lbzip2 curl ca-certificates libegl1 python3 -y && \ echo "# R32 (release), REVISION: 5.0" > /etc/nv_tegra_release ; \ wget -q --no-check-certificate -O ZED_SDK_Linux_JP.run https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/jp${JETPACK_MAJOR}${JETPACK_MINOR}/jetsons && \ chmod +x ZED_SDK_Linux_JP.run ; ./ZED_SDK_Linux_JP.run silent skip_tools && \ rm -rf /usr/local/zed/resources/* \ rm -rf ZED_SDK_Linux_JP.run && \ rm -rf /var/lib/apt/lists/* #This symbolic link is needed to use the streaming features on Jetson inside a container RUN ln -sf /usr/lib/aarch64-linux-gnu/tegra/libv4l2.so.0 /usr/lib/aarch64-linux-gnu/libv4l2.so # # Configure Enviroment for ROS RUN echo 'source /opt/ros/foxy/install/setup.bash' >> ~/.bashrc # RUN echo "source /opt/ros/eloquent/setup.bash" >> ~/.bashrc RUN echo 'source /usr/share/colcon_cd/function/colcon_cd.sh' >> ~/.bashrc # RUN echo "export _colcon_cd_root=~/ros2_install" >> ~/.bashrc # echo $LD_LIBRARY_PATH RUN echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/targets/aarch64-linux/lib/stubs:/opt/ros/foxy/install/lib' >> ~/.bashrc WORKDIR /root/Downloads RUN wget https://developer.nvidia.com/embedded/L4T/r32_Release_v5.0/T186/Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN tar xf Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN cd Linux_for_Tegra && \ sed -i 's/config.tbz2\"/config.tbz2\" --exclude=etc\/hosts --exclude=etc\/hostname/g' apply_binaries.sh && \ 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 && \ sed -i 's/LC_ALL=C chroot . mount -t proc none \/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/umount ${L4T_ROOTFS_DIR}\/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/chroot . \// /g' nv_tegra/nv-apply-debs.sh && \ ./apply_binaries.sh -r / --target-overlay RUN rm -rf Tegra210_Linux_R32.4.4_aarch64.tbz2 && \ rm -rf Linux_for_Tegra && \ echo "/usr/lib/aarch64-linux-gnu/tegra" > /etc/ld.so.conf.d/nvidia-tegra.conf && ldconfig WORKDIR /usr/local/zed ENV CUDA_HOME=/usr/local/cuda WORKDIR /root/ros2_ws/src/ RUN source /opt/ros/foxy/install/setup.bash && cd ../ && colcon build --symlink-install RUN git clone https://github.com/stereolabs/zed-ros2-wrapper.git RUN git clone https://github.com/ros/diagnostics.git && cd diagnostics && git checkout foxy WORKDIR /root/ros2_ws RUN source /opt/ros/foxy/install/setup.bash && source $(pwd)/install/local_setup.bash && rosdep update && \ rosdep install --from-paths src --ignore-src -r --rosdistro ${ROS_DISTRO} -y && \ colcon build --symlink-install --cmake-args " -DCMAKE_BUILD_TYPE=Release" " -DCMAKE_LIBRARY_PATH=/usr/local/cuda/lib64/stubs" " -DCUDA_CUDART_LIBRARY=/usr/local/cuda/lib64/stubs" " -DCMAKE_CXX_FLAGS='-Wl,--allow-shlib-undefined'" && \ echo source $(pwd)/install/local_setup.bash >> ~/.bashrc && \ source ~/.bashrc

  • diagnostics

    Packages related to gathering, viewing, and analyzing diagnostics data from robots. (by ros)

  • # Based on https://gitlab.com/nvidia/container-images/l4t-base/-/blob/master/Dockerfile.l4t # https://github.com/dusty-nv/jetson-containers/blob/master/Dockerfile.ros.foxy # https://github.com/codustry/jetson-containers/blob/master/Dockerfile.ros.foxy ARG L4T_MINOR_VERSION=5.0 FROM codustry/ros:foxy-ros-base-l4t-r32.${L4T_MINOR_VERSION} # # ZED Jetson # https://github.com/stereolabs/zed-docker/blob/master/3.X/jetpack_4.X/devel/Dockerfile # ARG ZED_SDK_MAJOR=3 ARG ZED_SDK_MINOR=5 ARG JETPACK_MAJOR=4 ARG JETPACK_MINOR=5 #This environment variable is needed to use the streaming features on Jetson inside a container ENV LOGNAME root ENV DEBIAN_FRONTEND noninteractive RUN apt-get update -y && apt-get install --no-install-recommends lsb-release wget less udev sudo apt-transport-https build-essential cmake openssh-server libv4l-0 libv4l-dev v4l-utils binutils xz-utils bzip2 lbzip2 curl ca-certificates libegl1 python3 -y && \ echo "# R32 (release), REVISION: 5.0" > /etc/nv_tegra_release ; \ wget -q --no-check-certificate -O ZED_SDK_Linux_JP.run https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/jp${JETPACK_MAJOR}${JETPACK_MINOR}/jetsons && \ chmod +x ZED_SDK_Linux_JP.run ; ./ZED_SDK_Linux_JP.run silent skip_tools && \ rm -rf /usr/local/zed/resources/* \ rm -rf ZED_SDK_Linux_JP.run && \ rm -rf /var/lib/apt/lists/* #This symbolic link is needed to use the streaming features on Jetson inside a container RUN ln -sf /usr/lib/aarch64-linux-gnu/tegra/libv4l2.so.0 /usr/lib/aarch64-linux-gnu/libv4l2.so # # Configure Enviroment for ROS RUN echo 'source /opt/ros/foxy/install/setup.bash' >> ~/.bashrc # RUN echo "source /opt/ros/eloquent/setup.bash" >> ~/.bashrc RUN echo 'source /usr/share/colcon_cd/function/colcon_cd.sh' >> ~/.bashrc # RUN echo "export _colcon_cd_root=~/ros2_install" >> ~/.bashrc # echo $LD_LIBRARY_PATH RUN echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/targets/aarch64-linux/lib/stubs:/opt/ros/foxy/install/lib' >> ~/.bashrc WORKDIR /root/Downloads RUN wget https://developer.nvidia.com/embedded/L4T/r32_Release_v5.0/T186/Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN tar xf Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN cd Linux_for_Tegra && \ sed -i 's/config.tbz2\"/config.tbz2\" --exclude=etc\/hosts --exclude=etc\/hostname/g' apply_binaries.sh && \ 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 && \ sed -i 's/LC_ALL=C chroot . mount -t proc none \/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/umount ${L4T_ROOTFS_DIR}\/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/chroot . \// /g' nv_tegra/nv-apply-debs.sh && \ ./apply_binaries.sh -r / --target-overlay RUN rm -rf Tegra210_Linux_R32.4.4_aarch64.tbz2 && \ rm -rf Linux_for_Tegra && \ echo "/usr/lib/aarch64-linux-gnu/tegra" > /etc/ld.so.conf.d/nvidia-tegra.conf && ldconfig WORKDIR /usr/local/zed ENV CUDA_HOME=/usr/local/cuda WORKDIR /root/ros2_ws/src/ RUN source /opt/ros/foxy/install/setup.bash && cd ../ && colcon build --symlink-install RUN git clone https://github.com/stereolabs/zed-ros2-wrapper.git RUN git clone https://github.com/ros/diagnostics.git && cd diagnostics && git checkout foxy WORKDIR /root/ros2_ws RUN source /opt/ros/foxy/install/setup.bash && source $(pwd)/install/local_setup.bash && rosdep update && \ rosdep install --from-paths src --ignore-src -r --rosdistro ${ROS_DISTRO} -y && \ colcon build --symlink-install --cmake-args " -DCMAKE_BUILD_TYPE=Release" " -DCMAKE_LIBRARY_PATH=/usr/local/cuda/lib64/stubs" " -DCUDA_CUDART_LIBRARY=/usr/local/cuda/lib64/stubs" " -DCMAKE_CXX_FLAGS='-Wl,--allow-shlib-undefined'" && \ echo source $(pwd)/install/local_setup.bash >> ~/.bashrc && \ source ~/.bashrc

  • IntelligentEdgeHOL

    The IntelligentEdgeHOL walks through the process of deploying an Azure IoT Edge module to an Nvidia Jetson Nano device to allow for detection of objects in YouTube videos, RTSP streams, or an attached web cam (by Azure)

  • Azure/IntelligentEdgeHOL - this help me to know that /usr/lib/aarch64-linux-gnu/tegra is related to L4T 32.5 that is missing in l4t base docker.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts