1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Jetson nano(Ubuntu)で、
組み込み機器ライクに、電源を入れるだけで(マウスやキーボードなしに)プログラムを起動させたい。

でも起動させたいプログラムがDockerベースで動いておりました。

Docker初心者が、いろいろガチャガチャやって、やっと動いたので備忘録として残します


動かしたいプログラム

こちらのJetson-inferenceです。
posenetのプログラムを動かしたいです。


手動起動で動作確認

こちらの記事を参考に動かしました。

git clone --recursive --depth=1 https://github.com/dusty-nv/jetson-inference
cd jetson-inference
docker/run.sh

でDockerを起動させたあと、

posenet.py csi://0

によって、Posenetを起動できました。


自動化手順

  1. Dockerコンテナを起動するシェルスクリプト用意し、name オプション付きでDockerを起動するように設定します
  2. Jetsonにある「Startup Applications Preference」で、Docker起動スクリプトを自動実行設定します。
  3. Jetsonにある「Startup Applications Preference」で、nameオプションでコンテナ指定してDocker実行するようにします。
  4. sudoでパスワードを聞かれるので無効化します(!)

おおよそこんなかんじです。


1. Dockerコンテナを起動するシェルスクリプト用意し、name オプション付きでDockerを起動するように設定します

jetson-inference/docker/run.sh のスクリプトで、コンテナネームを指定してください [container_name]

(前略)
# run the container
if [ $ARCH = "aarch64" ]; then

    # /proc or /sys files aren't mountable into docker
    cat /proc/device-tree/model > /tmp/nv_jetson_model

    sudo docker run --runtime nvidia -it --rm \
   	 --network host –name [continer_name] \
        ….
(後略)

2. Jetsonにある「Startup Applications Preference」で、Docker起動スクリプトを自動実行設定します。

「Startup Applications Preference」を実行して、下記のcommandを設定します。

(docker起動用)

gnome-terminal -e “bash -c ‘/path/to/jetson-inference/docker/run.sh;$SHELL’”

3. Jetsonにある「Startup Applications Preference」で、nameオプションでコンテナ指定してDocker実行するようにします。

同じく「Startup Applications Preference」を実行して、下記のcommandを設定します。
[container_name] には先程指定した名前を設定します。

gnome-terminal -e “bash -c ‘/usr/bin/docker exec [my_container] posenet.py csi://0;$SHELL’”

4. sudoでパスワードを聞かれるので無効化します(!)

docker起動時にsudoでパスワードを聞かれて自動実行がうまく行きませんでした。
(途中で止まってしまう)

セキュリティ要件とご相談ですが、今回はパスワードを無効化して対応しました。

sudo visudo

[username]のところに、jetsonのユーザー名を入れて、NO PASSWORD設定を行いました。

# Allow members of group sudo to execute any command
%sudo  ALL=(ALL:ALL) ALL
[username] ALL=NOPASSWD: ALL

以上で、なんとか自動起動するようになりました。

cronやsystemctlとかで色々試しましたが、いずれもうまくできなく回り道したので、まあ大変でした(ただの苦労話)
どなたかの助けになれば幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?