3月末にスイッチサイエンスで発注していたJetson Nano。在庫が切れているとのことだったが、本日(2019/4/19)到着した。

内容物は、Jetson Nano ボードとそれの搭載された開発ボード。ラズパイと同じで、電源とSDカードは自分で用意しなくてはいけない。あと、謎の紙製のスタンドが付いていた。そんだけ熱くなるってことか、、、

1. bootイメージのダウンロード。
公式サイトに従って、イメージをダウンロード。ざっくり30分かかりました。

2. bootイメージの書き込み
眠っているラズパイがあったので、そこからSDカードを抜き取った。容量は32GB。NanoのOSは何ギガ認識するのだろう。ダウンロードしたファイルを使って以下のコマンドで、SDカードに書き込んだ。こちらもざっくり30分かかった。
$ /usr/bin/unzip -p ~/tmp/jetson-nano-sd-r32.1-2019-03-18.zip| sudo /bin/dd of=/dev/mmcblk0 bs=1M status=progress
12882673664 bytes (13 GB, 12 GiB) copied, 2088 s, 6.2 MB/s
0+101125 レコード入力
3. 電源を入れる。
キーボードとマウスとLANケーブルとHDMIを繋いで、最後に電源(USB)に繋ぐ。が、一発目は画面にPower Buttonを押せとかなんとかのメッセージを出したまま、固まった。キーもきかないし、諦めてUSBを抜き、差し。すると今度はNVIDIAロゴと、ブートメッセージが画面を流れ始めた。そして無事にブートした。最初は言語などの設定をすることになるが、ここがとても参考になった。

4. バックアップ
一応、無事にブートして、初期設定が終わったので、SDカードのバックアップを取っておこう。これには数時間かかって、まいったまいった。
$ sudo dd if=/dev/mmcblk0 of=~/jetson_img/initialsetup.img status=progress
5. WiFI
WiFiのドングルを指すとそのまま認識してくれて、簡単に接続出来た。これで有線LANからは開放された。

6. VNC Server
リモートからもGUIを使いたいので、vncサーバをセットアップする。vnc4serverといくつかのパッケージをインストールするとともに、設定ファイルの修正が必要。
$ sudo apt search vnc4server
ソート中... 完了
全文検索... 完了  
vnc4server/bionic 4.1.1+xorg4.3.0-37.3ubuntu2 arm64
  仮想ネットワークコンピューティングサーバソフトウェア
$ sudo apt install vnc4server
$ sudo apt install gnome-panel gnome-settings-daemon metacity
$ vi ~/.vnc/xstartup
二行ほどコメントアウトして、8行追記。
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession
exec gnome-session &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
これでvncサーバーを起動する。あとは、クライアント側から繋げばOK。
$ vncserver -geometry 1280x800
7. filesystemのexand
せっかく32GBのSDカードを差しているが、12GB分しか使えていない。
$ df -m
Filesystem     1M-blocks  Used Available Use% Mounted on
/dev/root          11956 10458       868  93% /
devtmpfs            1743     0      1743   0% /dev
tmpfs               1979     1      1979   1% /dev/shm
tmpfs               1979    28      1951   2% /run
tmpfs                  5     1         5   1% /run/lock
tmpfs               1979     0      1979   0% /sys/fs/cgroup
tmpfs                396     1       396   1% /run/user/120
tmpfs                396     1       396   1% /run/user/1000
そこでgpartedを使って、ファイルシステムを拡張する。
$ sudo apt search gparted
gparted/bionic-updates 0.30.0-3ubuntu2 arm64
  GNOME パーティションエディタ
$ sudo apt-get install gparted
$ sudo gparted
gpartedでは、たしかに未割り当て領域が存在している。が、/rootにマウントしてあって手が出ない、、、さてどうしたものか。
NVIDIAに以下のエラッタがあった。拡張できないと書いてある、flash.shというのがなんだかわかってないけど。しばし、保留するが、/rootが残り1GB程度しかないので、何か対策しなくては。nfs/cifsか?
Nano /dev/root device size is restricted to 14 GB when using flash.sh to write to an SD card. User cannot create additional partitions on the root device, so any excess space is unavailable.
一旦、SDカードをPCに差し替えて、そちら側でGPartedを起動。該当するパーティションのリサイズを試みるも、なぜかグレーアウトしている。そこで「チェック」というメニューがあることに気がついたので、動かしてみるとなんか壊れているという言う。恐る恐るパーティションの修復を行うと、それがうまいこといって、ちゃんと32GB全体を使えるようになった。

8. tensorflow環境のインストール
https://blog.hackster.io/getting-started-with-the-nvidia-jetson-nano-developer-kit-43aa7c298797
$ sudo apt-get install libhdf5-serial-dev hdf5-tools
$ sudo apt-get install python3-pip
$ sudo apt-get install zlib1g-dev zip libjpeg8-dev libhdf5-dev  ← すでに最新版が入っていた。
$ pip3 install -U numpy grpcio absl-py py-cpuinfo psutil portpicker grpcio six mock requests
$ pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42

いま、ここ。
===========================================
こんごの予定。


*. unminimize
デフォルトでsshログインが可能になっているらしく、いきなりログイン出来た。そして以下のメッセージが。システムが最小化されているから、unminimizeしろとのこと。仰せのままに。
Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.9.140-tegra aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.

160 個のパッケージがアップデート可能です。
0 個のアップデートはセキュリティアップデートです。

Last login: Fri Apr 19 21:55:00 2019 from 192.168.1.2
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

$ sudo unminimize
日本語モードになんのキーを使うかきかれたので、とりあえず"Alt + Shift"としておいた("Alt + Space"だったかな、、、)

今はここまで。