This repository has been archived by the owner on Dec 7, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 18
/
fix_jetson_docker.sh
executable file
·59 lines (53 loc) · 2.54 KB
/
fix_jetson_docker.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/bin/bash
# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
main()
{
SCRIPTS_DIR=$(cd $(dirname ${BASH_SOURCE:-$0}); pwd)
local PLATFORM="$(uname -m)"
# Check if is running on NVIDIA Jetson platform
if [[ $PLATFORM != "aarch64" ]]; then
echo "${red}Run this script only on ${bold}${green}NVIDIA${reset}${red} Jetson platform${reset}"
exit 33
fi
while :; do
read -p "Do you wish to fix docker to works with isaac-ros? [Y/n] " yn
case $yn in
[Yy]* ) # Break and install jetson_stats
break;;
[Nn]* ) exit;;
* ) echo "Please answer yes or no.";;
esac
done
# Make sure the nvidia docker runtime will be used for builds
DEFAULT_RUNTIME=$(docker info | grep "Default Runtime: nvidia" ; true)
if [[ -z "$DEFAULT_RUNTIME" ]]; then
echo "${yellow} - Set runtime nvidia on /etc/docker/daemon.json${reset}"
sudo mv /etc/docker/daemon.json /etc/docker/daemon.json.bkp
sudo cp ${SCRIPTS_DIR}/docker-config/daemon.json /etc/docker/daemon.json
fi
local PATH_HOST_FILES4CONTAINER="/etc/nvidia-container-runtime/host-files-for-container.d"
echo "${green} - Enable dockers to build jetson_multimedia api folder${reset}"
sudo cp ${SCRIPTS_DIR}/docker-config/jetson_multimedia_api.csv $PATH_HOST_FILES4CONTAINER/jetson_multimedia_api.csv
echo "${yellow} - Restart docker server${reset}"
sudo systemctl restart docker.service
}
main $@
#EOF