-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
212 lines (172 loc) · 7.89 KB
/
install.sh
File metadata and controls
212 lines (172 loc) · 7.89 KB
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
#!/bin/bash
# Jetson Orin Nano
# JetPack6.2用
# FaBo JetFormer, FaBo JetRacerのInstall Script
# スクリプト開始時に sudo のパスワードを一度入力
sudo -v
# スクリプトが終了するまで sudo セッションを維持
( while true; do sudo -v; sleep 60; done ) &
SUDO_PID=$!
# パッケージリストの更新
sudo apt-get update
# 必要なパッケージのインストール
sudo apt-get install -y python3-pip curl libopenblas-base libopenblas-dev libjpeg-dev zlib1g-dev libpng-dev python3-libnvinfer python3-packaging
# Pythonパッケージのインストール
pip install smbus==1.1.post2 setuptools==59.6.0 wheel==0.37.1 testresources==2.0.1 pytz==2022.7.1 tqdm==4.67.1
# FaBo PCA9685のインストール
git clone https://github.com/FaBoPlatform/FaBoPWM-PCA9685-Python
cd FaBoPWM-PCA9685-Python
pip install -e .
cd ..
# FaBo JetRacerのインストール
git clone https://github.com/FaBoPlatform/jetracer
cd jetracer
pip install -e .
git checkout AI86
cp -r notebooks ~/notebooks
# JetCamのインストール
git clone https://github.com/NVIDIA-AI-IOT/jetcam
cd jetcam
pip install -e .
cd ..
# PyTorchのインストール
wget http://jetson.webredirect.org/jp6/cu126/+f/5cf/9ed17e35cb752/torch-2.5.0-cp310-cp310-linux_aarch64.whl#sha256=5cf9ed17e35cb7523812aeda9e7d6353c437048c5a6df1dc6617650333049092
pip3 install torch-2.5.0-cp310-cp310-linux_aarch64.whl
# TorchVisionのインストール
wget http://jetson.webredirect.org/jp6/cu126/+f/5f9/67f920de3953f/torchvision-0.20.0-cp310-cp310-linux_aarch64.whl#sha256=5f967f920de3953f2a39d95154b1feffd5ccc06b4589e51540dc070021a9adb9
pip3 install torchvision-0.20.0-cp310-cp310-linux_aarch64.whl
# Torch2trt
git clone https://github.com/NVIDIA-AI-IOT/torch2trt
cd torch2trt
pip install --install-option="--plugins" .
cd ..
# Resnet18, Resnet50の事前ダウンロード
python3 -c "import torchvision; model = torchvision.models.resnet18(pretrained=True); model = torchvision.models.resnet50(pretrained=True)"
# Nodejsのインストール
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# ~/.local/bin を PATH に追加(必要な場合)
export PATH="$HOME/.local/bin:$PATH"
# JupyterLabのインストール
pip3 install jupyter jupyterlab==3.2.9
jupyter labextension install @jupyter-widgets/jupyterlab-manager
# jupyter_clickable_image_widgetのインストール
git clone -b dev-ipywidgets8 https://github.com/tokk-nv/jupyter_clickable_image_widget
cd jupyter_clickable_image_widget
pip3 install -e .
jupyter labextension install js
cd ..
# JupyterLab の新しい設定ファイルを生成する
if [ -f "$HOME/.jupyter/jupyter_server_config.py" ]; then
rm "$HOME/.jupyter/jupyter_server_config.py"
echo "既存の設定ファイルを削除しました。"
fi
jupyter server --generate-config
echo "新しい設定ファイルを生成しました。"
# JupyterLab のパスワードを設定
PASSWORD='jetson'
HASHED_PASSWORD=$(python3 -c "from jupyter_server.auth import passwd; print(passwd('$PASSWORD'))")
echo "c.ServerApp.password = '$HASHED_PASSWORD'" >> ~/.jupyter/jupyter_server_config.py
# Jupyter Lab 自動保存を無効化
mkdir -p "$HOME/.jupyter/lab/user-settings/@jupyterlab/docmanager-extension"
cat << EOF > "$HOME/.jupyter/lab/user-settings/@jupyterlab/docmanager-extension/plugin.jupyterlab-settings"
{
// Autosave Documents
"autosave": false
}
EOF
# Jupyter Lab ターミナルのダークテーマ設定
mkdir -p "$HOME/.jupyter/lab/user-settings/@jupyterlab/terminal-extension"
cat << EOF > "$HOME/.jupyter/lab/user-settings/@jupyterlab/terminal-extension/plugin.jupyterlab-settings"
{
// Theme
"theme": "dark"
}
EOF
# ターミナルのカラー設定を変更(必要に応じて)
# この部分は JupyterLab のバージョンや構成によって動作しない可能性があります
# ファイルパスを取得
JUPYTER_TERMINAL_COLOR_FILE=$(find "$(jupyter --data-dir)/lab/static/" -type f -name "*.js" -exec grep -l "#3465a4" {} + 2>/dev/null)
if [ -n "$JUPYTER_TERMINAL_COLOR_FILE" ]; then
# JupyterLab のカラーコードを一括置換
sed -i 's/#2e3436/#000000/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#cc0000/#cd0000/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#4e9a06/#00cd00/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#c4a000/#cdcd00/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#3465a4/#add8e6/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#75507b/#cd00cd/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#06989a/#00cdcd/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#d3d7cf/#faebd7/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#555753/#404040/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#ef2929/#ff0000/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#8ae234/#00ff00/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#fce94f/#ffff00/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#729fcf/#7fffd4/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#ad7fa8/#ff00ff/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#34e2e2/#00ffff/g' "$JUPYTER_TERMINAL_COLOR_FILE"
sed -i 's/#eeeeec/#ffffff/g' "$JUPYTER_TERMINAL_COLOR_FILE"
else
echo "ターミナルのカラー設定ファイルが見つかりませんでした。"
fi
# JupyterLab の起動を systemd サービスとして設定
USER_NAME="jetson" # 実際のユーザー名に変更してください
HOME_DIR="/home/jetson" # 実際のホームディレクトリに変更してください
JUPYTER_HOME_DIR="/home/jetson/notebooks/"
# サービスファイルの内容を作成
SERVICE_FILE_CONTENT="[Unit]
Description=JupyterLab
[Service]
Type=simple
User=${USER_NAME}
WorkingDirectory=${HOME_DIR}/jetracer/utils
ExecStart=$(which jupyter) lab --ip=0.0.0.0 --no-browser --ServerApp.root_dir=/ --LabApp.default_url=\"/lab?file-browser-path=${JUPYTER_HOME_DIR}\"
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target"
# サービスファイルを作成
echo "JupyterLab の systemd サービスファイルを作成しています..."
echo "$SERVICE_FILE_CONTENT" | sudo tee /etc/systemd/system/jupyterlab.service > /dev/null
# systemd デーモンをリロード
echo "systemd デーモンをリロードしています..."
sudo systemctl daemon-reload
# サービスを有効化
echo "JupyterLab サービスを有効化しています..."
sudo systemctl enable jupyterlab.service
# サービスを開始
echo "IP Status サービスを開始しています..."
sudo systemctl start jupyterlab.service
sudo pip3 install Adafruit-SSD1306==1.6.2
# ~/.bashrc に JETSON_MODEL_NAME を追加
if ! grep -q "^export JETSON_MODEL_NAME=JETSON_ORIN_NANO$" ~/.bashrc; then
echo 'export JETSON_MODEL_NAME=JETSON_ORIN_NANO' >> ~/.bashrc
echo "環境変数 JETSON_MODEL_NAME=JETSON_ORIN_NANO を ~/.bashrc に追加しました。"
else
echo "環境変数 JETSON_MODEL_NAME は ~/.bashrc に既に設定済みです。"
fi
# サービスファイルの内容を作成
SERVICE_FILE_CONTENT="[Unit]
Description=ip_stats
[Service]
Type=simple
User=${USER_NAME}
WorkingDirectory=${HOME_DIR}
ExecStart=/usr/bin/python3 ${HOME_DIR}/jetracer/utils/wifi_stats.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target"
# サービスファイルを作成
echo "IP Status の systemd サービスファイルを作成しています..."
echo "$SERVICE_FILE_CONTENT" | sudo tee /etc/systemd/system/ip_status.service > /dev/null
# systemd デーモンをリロード
echo "systemd デーモンをリロードしています..."
sudo systemctl daemon-reload
# サービスを有効化
echo "IP Status サービスを有効化しています..."
sudo systemctl enable ip_status.service
# サービスを開始
echo "IP Status サービスを開始しています..."
sudo systemctl start ip_status.service
# IMX219カメラの有効化(手動)
# sudo /opt/nvidia/jetson-io/jetson-io.py で、[Configura Jetson 24pin CSI Connector]-[Configura for compatible hardware]-[Camera IMX219 Dual]を有効化する