ASUS tinker board で無線LAN/固定IPで外部からssh接続できるようにするまで

ASUSでRaspberry-Piと全く同じフォームファクタのワンボードのコンピュータが発売され、やっと日本でも秋葉原で見るようになった。以下、備忘録でインストールし、外部からログインできるようにするところまでを記録。

【Ubuntuを母艦に使う】
今回はUbuntuを母艦に使っている。microSDと、USBでmicroSDカードリーダーを使う。最初の時点では、まだカードリーダーにさしたmicroSDカードには触らない。

【OSのイメージファイルをダウンロードする】
まず、ブラウザを起動し、OSのイメージファイルをダウンロードする。OSは、最新版は「Beta」として、ASUSのご本家のページから最新版を持ってくる。「Driver&Tools」から、「Others」を選んで、「TinkerOS_Debian V2.0.1 (Beta version)」が最新版(この記事を書いた時点で)のようなので、下の「Download From Global」のところをクリックしてダウンロードする。ダウンロードしたファイルは.zipになっているので、Ubuntuのコンソールから「unzip ダウンロードしたファイル名.zip」とすると、「ダウンロードしたファイル名(.zipなし)」ができるので、このファイルを使う。今回は「20170817-tinker-board-linaro-stretch-alip-v2.0.1.img.zip」から「20170817-tinker-board-linaro-stretch-alip-v2.0.1.img」ができたので、これを使う。

【rootになって、OSイメージをmicroSDに書き込み】
まず、コンソールを使って、Ubuntuのrootになる。

$ sudo -s
パスワード:(パスワード入力)
#

microSDをUSBカードリーダーに挿してから、以下のコマンドで現在マウントされているデバイスを調べる。以下のような行が最後の方に見える。とすると、追加したmicroSDカードは「/dev/sde」であることがわかる。OSイメージを書き込むデバイスは「/dev/sde」だ。

# mount
|
/dev/sde1 on /media/xxx/AA52-6922 type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
|

しかし、この状態だと書きこむデバイスがOSに「マウント」されたままなので、マウントを解除する。

# umount /dev/sde1
# umount /dev/sde2

くらいしておけば大丈夫だろう。マウント解除したら、書き込みだ。書き込みコマンドは「dd」を使う。最初にダウンロードディレクトリに移動して、そこで操作する。

# cd ./ダウンロード
# dd if=./20170817-tinker-board-linaro-stretch-alip-v2.0.1.img of=/dev/sde

これで数分から数十分待つと、書き込みが終了する。これで、OSイメージの入ったmicroSDができたので、USBからカードリーダーを外し、カードリーダーからmicroSDを外し、tinker boardのmicroSDソケットに入れる。

【最初のGUIでのブート】
まず、tinker boardに、HDMIディスプレイ、マウス、キーボードをつけ、それぞれ電源を入れる。最後に、tinker boardのmicriUSB電源コネクタに、淵源ケーブルを接続して、数分待つとブート画面が出てきて、そのまま、GUIの画面になるはずだ。これでもうログインした状態である。GUIの画面が現れると、microSDカードの残りの領域を調整してくれるなどのこまごまとしたことは、自動的に終わっている。

【無線LANの設定】
無線LANを接続するには、簡単なツールがあるので、これを使う。まずは画面下の「LXDEアイコン」をクリックして「System Tools->LXTerminal」を起動する。このコンソールから、設定を行う。以下の設定はコンソールから行う。

rootになる。

$ sudo -s
#

tinker boardの設定ツールをダウンロードして動かす。

# wget https://raw.githubusercontent.com/mikerr/tinker-config/master/tinker-config
# sh tinker-config

これで設定画面が出てくるので、メニューの中の「Setup WiFi」を選んで、どのアクセスポイントにつなげるか、そのときのパスコードは何か?を入れる。これで無線LANは繋がる設定になるが、まだ通信はできないはずだ。

次に、固定IPアドレスを無線LANに振る。エディタで「/etc/network/interfaces」に以下の記述を加える。以下はつなげたいIPアドレスは「192.168.1.101」ということになる。

auto wlan0
iface wlan0 inet static
  address 192.168.1.101
  network 192.168.1.0
  netmask 255.255.255.0
  broadcast 192.168.1.255
  gateway 192.168.1.1

DNSのネームサーバーを指定する。エディタで、「/etc/resolvconf/resolv.conf.d/base」に、ネームサーバーのIPアドレスを以下のように記述する(以下のIPアドレスはサンプル)。

nameserver 192.168.1.99

NetworkManagerが動いていたら、これを動かないようにしないと、動いているときに勝手にIPアドレスを書き換えられてしまうので、NetworkManagerを止める。

# service network-manager stop
# update-rc.d -f network-manager remove

これで、無線LANで固定IPアドレスで外部からSSHで接続されるはずだ。sshdの設定はこのボードでは予めしてあるので、特に変更がなければ触らなくても、動く。
ここまで設定したら、リブートする。

# shutdown -r now

これで、外部のコンピュータから、sshでのアクセスが可能になったはずだ。

最後に、定番のアレをやっておこう。

# apt-get update ; apt-get upgrade