FROM nvcr.io/drive/driveos-sdk/drive-agx-orin-linux-aarch64-sdk-build-x86:6.0.4.0-0004-patch-01 ENV TZ=Asia/Shanghai ARG user=jiayu #Force Nvidia GPU ENV __NV_PRIME_RENDER_OFFLOAD=1 ENV __GLX_VENDOR_LIBRARY_NAME=nvidia #Cuda TensorRT ENV PATH="/usr/local/cuda/bin:${PATH}" ENV LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}" ENV LD_LIBRARY_PATH="/usr/local/tensorrt/lib:${LD_LIBRARY_PATH}" ENV CUDA_TOOLKIT_ROOT="/usr/local/cuda-11.4" #TensorRT update COPY ./trtdeb /home/trtdeb RUN dpkg -i /home/trtdeb/x86/*.deb RUN dpkg -i /home/trtdeb/aarch/*.deb RUN rm -rf /home/trtdeb #Protobuf RUN apt update && apt install libprotobuf-dev -y COPY ./protobuf_aarch/usr/lib/aarch64-linux-gnu/* /usr/lib/aarch64-linux-gnu/ #rootfs fix RUN rm /drive/drive-linux/filesystem/targetfs/usr/lib/aarch64-linux-gnu/librt.so RUN ln -s /usr/aarch64-linux-gnu/lib/librt.so /drive/drive-linux/filesystem/targetfs/usr/lib/aarch64-linux-gnu/librt.so #ROS2 RUN apt update && apt install locales -y RUN locale-gen en_US en_US.UTF-8 RUN update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 RUN export LANG=en_US.UTF-8 RUN apt install software-properties-common -y RUN add-apt-repository universe RUN apt update && apt install curl gnupg2 lsb-release -y RUN curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null RUN export DEBIAN_FRONTEND=noninteractive && apt update && apt install ros-foxy-desktop -y RUN source /opt/ros/foxy/setup.bash RUN echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc WORKDIR /opt/ros RUN ln -sfn foxy ros2 # set userinfo RUN useradd -rm -c ${user} -u 1000 -d /home/${user} -s /bin/bash -G sudo ${user} SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN echo "$user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # set working directory of trt webinar RUN mkdir -p /home/${user}/workspace/ RUN chown -R ${user}:users /home/${user} COPY .bashrc /home/${user}/.bashrc RUN echo "source /opt/ros/foxy/setup.bash" >> /home/${user}/.bashrc WORKDIR /home/${user} USER ${user}