Google Coral Dev Boardのセットアップ

3月にSeeedStudioから購入するも返金になり入手できなかったCoralDevBoardですが、ついに[スイッチサイエンス](https://www.switch-science.com/catalog/5815/)を始め国内販売開始になったのでさっそく購入してインストールしてみました。

![IMG_9229.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14768/ee967ebe-98c4-1fe3-92ed-5264dfdf4f5a.jpeg)

公式ドキュメントは以下になります。

https://coral.withgoogle.com/docs/dev-board/get-started/

ドキュメントがしっかりしているので迷いは少ないかと思いますが、手順をメモしておきます。

# 実行環境

MacOS 10.15 Beta(10A546d)

## 必要なもの

+ microUSBケーブル(シリアル）
+ USB-Cケーブル x2 (電源 & OTG書き込み用)

各種ケーブルが必要になり、こういう感じになります。
USB-Cケーブルをもう一本探すのに苦労しました（笑

公式ドキュメントより：
![](https://coral.withgoogle.com/static/docs/images/devboard/devboard-serial-power-data-co.jpg)

# 事前準備

## ツールのインストール

[brew](https://brew.sh/index_ja)をインストールしてあれば以下のコマンドでfastbootをインストール可能です。

```:インストール
brew cask install android-platform-tools
pip3 install --user mendel-development-tool
```

※mdtのパスは以下になります。

/Users/<ユーザー名>/Library/Python/3.7/bin/mdt shell

## シリアルポートドライバーのインストール

https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

## シリアルで確認

シリアルケーブルを繋ぐと以下のようなUBootの表示が出てきます。

```:U-Boot表示確認
screen /dev/cu.SLAB_USBtoUART 115200

U-Boot 2017.03.1 (Mar 27 2019 - 22:21:16 +0000)

CPU:   Freescale i.MX8MQ rev2.1 1500 MHz (running at 1000 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 30C
Reset cause: POR
Model: Freescale i.MX8MQ Phanbell
DRAM:  1 GiB
Board id: 2
Baseboard id: 1
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial

 BuildInfo:
  - ATF 
  - U-Boot 2017.03.1

flash target is MMC:0
Net:   
Warning: ethernet@30be0000 using MAC address from ROM
eth0: ethernet@30be0000
Fastboot: Normal
Hit any key to stop autoboot:  0 


**********************************************************************
Welcome to your new Coral EdgeTPU Development Board!
**********************************************************************

To get started, you need to download and flash the latest firmware.
Please follow the instructions at g.co/coral/setup.


Configured USB Switch for UFP
```

# インストール

fastbootコマンドを使います。下記コマンドで認識を確認します。

```:fastboot認識確認
fastboot devices
0914b9d6f32e****	fastboot
```

## ダウンロード＆展開

```:ダウンロード
cd ~/Downloads

curl -O https://dl.google.com/coral/mendel/enterprise/mendel-enterprise-chef-13.zip

unzip mendel-enterprise-chef-13.zip \
&& cd mendel-enterprise-chef-13
```

以下のようなファイルが展開されます。

```:ファイル一覧
README				partition-table-16gb.img	recovery.img
boot_arm64.img			partition-table-64gb.img	rootfs_arm64.img
flash.sh			partition-table-8gb.img		u-boot.imx
```

## 書き込み実行

flash.shを実行します。5分程度で書き込み完了です。

```:書き込み(flash.sh)実行
bash flash.sh
Sending 'bootloader0' (1006 KB)                    OKAY [  0.054s]
Writing 'bootloader0'                              OKAY [  0.233s]
Finished. Total time: 0.309s
Rebooting into bootloader                          OKAY [  0.025s]
Finished. Total time: 0.025s
< waiting for any device >
Sending 'gpt' (33 KB)                              OKAY [  0.018s]
Writing 'gpt'                                      OKAY [  0.359s]
Finished. Total time: 0.396s
Rebooting into bootloader                          OKAY [  0.023s]
Finished. Total time: 0.023s
< waiting for any device >
Erasing 'misc'                                     OKAY [  0.071s]
Finished. Total time: 0.081s
Sending 'boot' (131072 KB)                         OKAY [  4.327s]
Writing 'boot'                                     OKAY [  4.062s]
Finished. Total time: 8.462s
Sending sparse 'rootfs' 1/3 (397265 KB)            OKAY [ 15.270s]
Writing 'rootfs'                                   OKAY [ 28.826s]
Sending sparse 'rootfs' 2/3 (408325 KB)            OKAY [ 15.746s]
Writing 'rootfs'                                   OKAY [ 56.592s]
Sending sparse 'rootfs' 3/3 (352960 KB)            OKAY [ 13.683s]
Writing 'rootfs'                                   OKAY [102.098s]
Finished. Total time: 232.257s
Rebooting                                          OKAY [  0.005s]
Finished. Total time: 0.005s
```

# 確認

シリアルコンソールよりログインを行います。

```:ログイン
screen /dev/cu.SLAB_USBtoUART 115200

Mendel GNU/Linux (chef) fun-eft ttymxc0

fun-eft login: mendel
Password: (mendel)

Last login: Fri Apr 19 22:59:14 UTC 2019 on tty7
Linux fun-eft 4.9.51-imx #1 SMP PREEMPT Fri Apr 5 00:17:46 UTC 2019 aarch64

The programs included with the Mendel GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Mendel GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicabl
```

```:uname
Linux fun-eft 4.9.51-imx #1 SMP PREEMPT Fri Apr 5 00:17:46 UTC 2019 aarch64 GNU/Linux
```

```:cpuinfo
processor       : 0
BogoMIPS        : 16.66
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

....

processor       : 3
BogoMIPS        : 16.66
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4
```

```:df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root        7294440 1278044   5658904  19% /
devtmpfs          339300       0    339300   0% /dev
tmpfs             503684       0    503684   0% /dev/shm
tmpfs             503684   10952    492732   3% /run
tmpfs               5120       4      5116   1% /run/lock
tmpfs             503684       0    503684   0% /sys/fs/cgroup
tmpfs             503684     472    503212   1% /var/log
/dev/mmcblk0p1    126931   29692     90686  25% /boot
tmpfs             100736    4712     96024   5% /run/user/1000
```

# WiFi設定

nmtuiコマンドを実行します。

- 「Activate a connection」を実行
- 「Wi-Fi」からアクセスポイントを選択して設定

<img width="839" alt="スクリーンショット_2019-09-03_13_33_36.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14768/0a62cdd0-02ae-0859-af14-c388788d2cf9.png">

# むにゃむにゃ

発熱がそれなりに大きく、TPU演算するとファンが豪快に回ります。