Orange Pi Plus 2E に armbian(Debian jessie)を入れる


# 序段
前記事「[Orange Pi Plus 2E のOS選択(2017年春)](http://qiita.com/blucky@github/items/642856fe5754c82aa788)」にて「Orange Piにゃarmbianが一番よ。(意訳)」と書きましたので、armbianをインストールしてみます。
以下、「Orange Pi Plus 2E」は「Plus 2E」と略しますね。

# 概要と準備するもの
* 「Plus 2E」に、armbianをインストールします。
* Debian Jessie(サーバ版)を用いますので2GB以上のmicroSDカードを用意してください。
* CUI(SSH)のみ使います。GUI(X-Window)は使いません。よってHDMIはいりません。Plus 2Eにつなげるキーボードもマウスもいりません。
* LAN環境とDHCPサーバは必要です。
* LANに接続したPlus 2EのIPアドレスを調べる方法が必要です。
    * DHCPサーバのIPアドレス貸出一覧、NetEnum、ブロードキャストpingからのarpコマンドなどで調べる必要があります。なんとかIPアドレスを見つけ出してください。ここだけ手軽な方法がありません。

## armbianのイメージは3種(かも)
Plus 2Eにおいてはarmbianのイメージが以下の3種あります。
ただし、デバイスによってはこの3種がない場合があります。
* Ubuntu xenial (デスクトップ版)
* Ubuntu xenial (サーバ版)
* Debian jessie (サーバ版)



ここではGUIを使う気がないのと慣れもあってDebian jessieを選択します。

## ダウンロードとイメージ書き込み
Plus 2E用のDebianイメージは、「[armbian.com](https://www.armbian.com/)」→「[Download](https://www.armbian.com/download/)」→「[Orange Pi+ 2e](https://www.armbian.com/orange-pi-plus-2e/)」→「[other download options and archive](https://dl.armbian.com/orangepiplus2e/)」からダウンロードできます。      
ここでは「Debian_jessie_default.7z (2017年2月5日)」をダウンロードしました。解凍すると1.2GB程度なので、2GB以上のmicroSDに書き込んでください。

Windowsでのイメージファイルの手軽な書き込みソフトは、「[Rufus](https://rufus.akeo.ie/)」か「[Etcher](https://etcher.io/)」だと思います。
個人的にはRufusの、実行ファイル１つのみという潔さが好きです。
Etcherはクロスプラットフォーム対応というところはいいですね。英語だけどさ。

## 起動とSSHで接続するまで
Plus 2EにmicroSDを差し込み電源を投入します。

なお、Plus 2Eには内臓のeMMC(16GB)がありますが、起動イメージの書き込まれているmicroSDを差し込むとmicroSDから起動しようとします。抜いているとeMMCから起動します。
起動イメージの無い、ただのデータmicroSDならeMMCから起動します。
つまり抜き差しだけで起動イメージを切り替えることができます！便利です！

で、SSHで接続するのですが、そのままではIPがわかりません。「概要」の項でお願いしていますがなんとかIPを調べてください。

Avahiくらい入れてもいいじゃんか～！(心の叫び)

SSHで、ユーザ名は「 root 」パスワードは「 1234 」で接続です

## SSHで接続してからすること
接続ログとともに入力内容を説明します。

接続したと思ったら、いきなりrootユーザのパスワードの変更を求められます。難しいパスワードに変更しましょう。

```shell-session
You are required to change your password immediately (root enforced)
  ___                               ____  _         ____  _____ 
 / _ \ _ __ __ _ _ __   __ _  ___  |  _ \(_)  _    |___ \| ____|
| | | | '__/ _` | '_ \ / _` |/ _ \ | |_) | |_| |_    __) |  _|  
| |_| | | | (_| | | | | (_| |  __/ |  __/| |_   _|  / __/| |___ 
 \___/|_|  \__,_|_| |_|\__, |\___| |_|   |_| |_|   |_____|_____|
                       |___/                                    

Welcome to ARMBIAN 5.25 stable Debian GNU/Linux 8 (jessie) 3.4.113-sun8i   
System load:   0.10             Up time:       2 min     
Memory usage:  3 % of 2014Mb    IP:            192.168.***.***
CPU temp:      39°C            
Usage of /:    82% of 1.2G    


Warning: a reboot is needed to finish resizing the filesystem  
Please reboot the system as soon as possible  

New to Armbian? Check the documentation first: docs.armbian.com

Changing password for root.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
```

入力内容は以下のとおりです。

```bash
1234
(難しいパスワード)
(難しいパスワード)
```

続けて新しいユーザの作成をすることができます。キャンセル(Ctrl-C)もできます。
ここではfoobarというユーザを作成しました。

```shell-session
Thank you for choosing Armbian! Support: www.armbian.com
Creating a new user account. Press <Ctrl-C> to abort

Please provide a username (eg. your forename): foobar
Trying to add user hoobar
Adding user `foobar' ...
Adding new group `foobar' (1000) ...
Adding new user `foobar' (1000) with group `foobar' ...
Creating home directory `/home/hoobar' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for foobar
Enter the new value, or press ENTER for the default
        Full Name []: 
        Room Number []: 
        Work Phone []: 
        Home Phone []: 
        Other []: 
Is the information correct? [Y/n] 
```

入力内容は以下のとおりです。

```bash
foobar(お好みの常用ユーザ名)
(パスワード)
(パスワード)
(Enter)
(Enter)
(Enter)
(Enter)
(Enter)
(Enter)
```


続けてディスプレイの設定が出てきますが省略します。
SSHのみでHDMI使わないからね。

以上で以下のようなシェルコンソール表示になり起動完了です。

```bash
root@orangepiplus2e:~#
```

## microSDカード上で初期環境を作る
本体のeMMCに書き込む前に2点だけやっておきたい事があります。
再起動した後に接続しやすくするためですね。
* ホスト名の変更
* Avahiのインストール

ホスト名の変更は「hostnamectl set-hostname ～」を使います。
ここではホスト名「opip2e」に変更しています。…単に短くしただけだよ。
まだrootユーザですので以下のコマンドです。rootじゃなければ頭にsudo付けてね。

```bash
hostnamectl set-hostname opip2e
```

Avahiのインストールは以下のコマンドです。

```bash
apt-get update
apt-get upgrade
apt-get -y install avahi-utils
```

で、一旦再起動してください。

```bash
reboot
```

再起動後、他のマシンから

```bash
ping opip2e.local
```
で応答があるようになります。

次以降、SSHで接続する際は、

```
ホスト名「opip2e.local」
ユーザ名「foobar」←自分で作成したユーザ名
パスワード「********」←自分で作成したユーザのパスワード。
```
で、接続してください。

# 本体のeMMCへの書き込み
microSDの内容をeMMCに書き込むにはarmbianの「nand-sata-install」コマンドを使用します。

```bash
sudo nand-sata-install
```

すると以下のような問い合わせ画面が出ますが、Enter連打で大丈夫です。
「Formating」以降は自動で進みますが20分近くかかります。のんびり待ちましょう。

```shell-session
┌───────────────────Choose an option:──────────────────────┐
│ Current root: UUID=3cd6294d-0fe4-4085-87cd-f5b4027bf3df  │  
│ ┌──────────────────────────────────────────────────────┐ │  
│ │          1  Boot from eMMC - system on eMMC          │ │  
│ └──────────────────────────────────────────────────────┘ │  
├──────────────────────────────────────────────────────────┤  
│               <  OK  >        <Cancel>                   │  
└──────────────────────────────────────────────────────────┘  
```

```shell-session
┌─────────────────────────────eMMC install───────────────────────────────┐
│ ▄▄      ▄▄    ▄▄     ▄▄▄▄▄▄    ▄▄▄   ▄▄   ▄▄▄▄▄▄   ▄▄▄   ▄▄     ▄▄▄▄   │  
│ ██      ██   ████    ██▀▀▀▀██  ███   ██   ▀▀██▀▀   ███   ██   ██▀▀▀▀█  │  
│ ▀█▄ ██ ▄█▀   ████    ██    ██  ██▀█  ██     ██     ██▀█  ██  ██        │  
│  ██ ██ ██   ██  ██   ███████   ██ ██ ██     ██     ██ ██ ██  ██  ▄▄▄▄  │  
│  ███▀▀███   ██████   ██  ▀██▄  ██  █▄██     ██     ██  █▄██  ██  ▀▀██  │  
│  ███  ███  ▄██  ██▄  ██    ██  ██   ███   ▄▄██▄▄   ██   ███   ██▄▄▄██  │  
│  ▀▀▀  ▀▀▀  ▀▀    ▀▀  ▀▀    ▀▀▀ ▀▀   ▀▀▀   ▀▀▀▀▀▀   ▀▀   ▀▀▀     ▀▀▀▀   │  
│ This script will erase your eMMC. Continue?                            │  
├────────────────────────────────────────────────────────────────────────┤  
│                       < Yes >            < No  >                       │  
└────────────────────────────────────────────────────────────────────────┘  
```

```shell-session
┌──────Select filesystem type for eMMC /dev/mmcblk1────────┐
│ ┌──────────────────────────────────────────────────────┐ │  
│ │                       1  ext4                        │ │  
│ │                       2  ext3                        │ │  
│ │                       3  ext2                        │ │  
│ └──────────────────────────────────────────────────────┘ │  
├──────────────────────────────────────────────────────────┤  
│               <  OK  >        <Cancel>                   │  
└──────────────────────────────────────────────────────────┘  
```

```shell-session
┌──────────────────────eMMC install────────────────────────┐
│ Formating /dev/mmcblk1 to ext4 ... please wait.          │  
└──────────────────────────────────────────────────────────┘  
```

```shell-session
┌────────────────────────────────eMMC install──────────────────────────────────┐
│   Creating rootfs on /dev/mmcblk1p1 (1077 Mb).                               │  
│   This will take around 17 minutes to finish. Please wait!                   │  
│  ┌────────────────────────────────────────────────────────────────────────┐  │  
│  │                                   50%                                  │  │  
│  └────────────────────────────────────────────────────────────────────────┘  │  
└──────────────────────────────────────────────────────────────────────────────┘  
```

書き込みが完了すると以下の画面になります。
「Power off」が選択して終了します。
電源を抜いてmicroSDも抜きましょう。

```shell-session
┌──────────────────────eMMC install────────────────────────┐
│ All done. Power off                                      │  
├──────────────────────────────────────────────────────────┤  
│             <Power off>       <  Exit   >                │  
└──────────────────────────────────────────────────────────┘  
```

microSDを抜いた状態で電源を入れ、SSHで接続できたらインストール完了です。