追記: 2017年11月下旬にNanoPi NEO2はサポートボードに復活したのでイメージファイルはarmbian公式サイトからダウンロードできるようになっています。
2017年6月上旬以降にarmbianのNanoPi NEO2がハブンチョされたままになっている。NanoPi NEO2以外にもSoCにH5を搭載したボードやその他一部のボードも。NonoPi NEO(無印)は引き続き正式サポート。
正直なんでサポート外にされたのかよく理解していないが、NanoPi NEO2でarmbianが使えないというのは寂しい。(2017年6月上旬の古いイメージファイルは引き続き提供中)
そこで、今回はarmbianの最新のソースでNanoPi NEO2のOSイメージをビルドする。NanoPi NEO2以外のNanoPi NEO Plus2やOrangePi Prime, OrangePi PC2なども同様でいけると思う。(動作するかは未確認) 2017年8月3日追記: NanoPi NEO Plus2がdisabledにされた。
ビルド準備 (初回)
armbianのビルド環境構築についてはhttps://github.com/armbian/buildに解りやすく書いてある。
で、executionに書いてあるところまで実行する。
hoge@ubuntu:~$ apt-get -y install git hoge@ubuntu:~$ git clone https://github.com/igorpecovnik/lib --depth 1 hoge@ubuntu:~$ cp lib/compile.sh ./ ←ここまで実行 hoge@ubuntu:~$ ./compile.sh ←これは後で実行
2017年8月3日追記:
記事を書いた途端に変更になった。チッ
hoge@ubuntu:~$ apt-get -y install git hoge@ubuntu:~$ git clone https://github.com/armbian/build hoge@ubuntu:~$ cd build ←ここまで実行 hoge@ubuntu:~/build$ ./compile.sh ←これは後で実行
NanoPi NEO2(他H5搭載のボード等)はそのままではビルド対象として選択できない状態なのでビルド対象にしてやる。
2017年8月31日変更: 8月29日の変更によりこの手順は不要になった。
hoge@ubuntu:~$ cd ~/lib/config/boards aw-som-a20.csc hummingbird.csc odroidc1.conf orangepizero.conf bananapi.conf lamobo-r1.eos odroidc2.conf orangepizeroplus2-h3.conf bananapim2.conf lime2.conf odroidxu4.conf orangepizeroplus2-h5.wip bananapim2plus.conf lime2-emmc.conf olinux-som-a13.csc pcduino2.conf bananapim2ultra.csc lime-a10.eos orangepi2.conf pcduino3.conf bananapim3.csc lime-a33.conf orangepi2g-iot.csc pcduino3nano.conf bananapipro.conf lime.conf orangepi.eos pine64.conf beelinkx2.conf micro.conf orangepilite.conf pine64so.conf clearfogbase.conf miqi.conf orangepimini.eos pinebook-a64.conf clearfogpro.conf nanopiair.conf orangepione.conf roseapple.eos cubieboard2.conf nanopik2.wi orangepipc2.wip tinkerboard.conf cubieboard4.csc nanopim1.conf orangepipc.conf topwise-a721.csc cubieboard.eos nanopim1plus2.wip orangepipcplus.conf udoo.conf cubietruck.conf nanopim1plus.conf orangepiplus2e.conf udoo-neo.conf cubox-i.conf nanopineo2.wip orangepiplus.conf espressobin.wip nanopineo.conf orangepiprime.wip guitar.eos nanopineoplus2.wip orangepiwin.wip hoge@ubuntu:~$ ln -s nanopineo2.wip nanopineo2.conf hoge@ubuntu:~$
2017年8月から ~/build/config/boards/に変更された。
要するに.wipなファイルのボードはビルド対象の選択メニューに表示されないので.confにしてやる。**.wipが更新されることもあるのでファイルコピーやリネームよりシンボリックリンクが良いかと。もちろんビルドしたいボードの.wipだけでいい。
2017年8月31日変更: 8月29日の変更によりこの手順は不要になったので取り消し線を付けた。
画面1:
初めてarmbianをビルドする場合はcompile.shは初期値でいいと思う。何度かビルドして気に入らない部分だけ変更ということで。2017年8月3日追記: 8月に入ってからの変更で設定はconfファイルに記述するようになった。
すでにビルドしまくっている場合はタグを変更していることがあるかもなのでcompile.shのLIB_TAGを初期値(=空)に戻す。
なお、バージョンによっては項目名がLIB_TAGではないかも。(2017年7月29日現在の最新版ではLIB_TAG)
2017年8月31日追記: 8月29日の変更によりエキスパートモードでwipなボードをメニューから選択可能になった。compile.shを1度走らせるとconfig-default.confが作成されるのでそこに EXPERT="yes" を1行追加すると次回からエキスパートモードで実行される。または ./compile.sh EXPERT=yes で実行するか。
ビルド開始
hoge@ubuntu:~$ ./compile.sh
hoge@ubuntu:~/build$ ./compile.sh ← ~/buildディレクトリで実行
初回はソースのダウンロード等でかなり時間がかかる。2回め以降の実行なら更新ファイルのダウンロードのみなのでそれほど時間はかからない。
画面1:
2017年8月に入ってから追加された画面。
MicroSDカードに書き込むOSイメージファイルを作成するなら下側のFull OS image for flashingを選択する。
画面2a:
非エキスパートモードでは正式サポートのボードの選択画面が表示される。。カーソルキー上下でボードを選択してOK(Enter)で画面5へ。
画面2b:
エキスパートモードでも正式サポートのボードリストが表示されるが、リスト下中央に<Show CSC/WIP/EOS>という選択肢が増えている。それを選択して[Enter]
画面3:
エキスパートモードであることの警告兼確認画面。 「理解して同意」(I understand and agree)を選択して[Enter]。
画面4:
非正式対応のボードリストが表示されるので目的のボードを[↑][↓]で選択して[Enter]を押す。または選択して[Tab]を押して<OK>
画面5a:
Debian JessieかUbuntu Xenialか好みで選択。ディストリビューションを選択して[OK]を選択。
画面6へ。
画面5b:
エキスパートモードでは選択肢にDebian 9 Stretchが追加表示されるようになった。(8月末より)
画面6:
暫く処理後にカーネルコンフィグが表示されるので必要に応じてオプションを指定。ワカンネって人はカーネルコンフィグのトップ画面(上の画面)でExitを選択して[Enter]。(これで標準値でビルド開始)
コンフィグ選択の階層を進んだ場合はその画面のExitで一つ上の階層に戻る。
基本的に解らんものは触らない。
ビルド環境のPCや選択したボード、カーネルコンフィグの内容によってビルド時間は大幅に変わるようだけど、とにかくだいぶ待たされてビルドがエラーにならずに完了したらOK.
完成したイメージファイルの取り出し
hoge@ubuntu:~$ cd output/images/ hoge@ubuntu:~$ ls Armbian_5.32_Nanopineo2_Debian_jessie_dev_4.11.10.img hoge@ubuntu:~$ ftp -p ftp.example.com ←VirtualBoxからFTPの際はパッシブモードで Connected to ftp.example.com. 220 ftp.example.com FTP server(Version 6.00LS) ready. Name: hoge 331 Password required for hoge. Password: 230 User hoge logged in, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp> bi 200 Type set to I. ftp> mput *img mput Armbian_5.32_Nanopineo2_Debian_jessie_dev_4.11.10.img? y 227 Entering Passive Mode (ftp.example.com,203,115) 150 Opening BINARY mode data connection for 'Armbian_5.32_Nanopineo2_Debian_jessie_dev_4.11.10.img'. 226 Transfer complete. 1287651328 bytes sent in 10.67 secs 115.0516 MB/s) ftp> quit 221 Goodbye. hoge@ubuntu:~$
2017年8月から ~/build/output/images/に変更された。
上はFTPで別のPC(FTPサーバ)に出した例。
とにかく ~/output/images/ にビルドしたイメージファイルが作成されている筈。
イメージをmicroSDカードに書き込む
$ sudo dd if=./Armbian_5.32_Nanopineo2_Debian_jessie_dev_4.11.10.img of=/dev/sdb && sync
UNIX系のOSなら基本はこんな感じ。上の例だとMicroSDが/dev/sdbね。書き込み先を間違ったら泣くことになるので要確認。
こちらはストレージのマウント・アンマウントに慣れていないとまたは油断していると正常に書き込めないことも。
ダウンロードして実行するだけ。Windows用はインストール版とポータブル版があるので好みで選ぶとして、Linux用(通常)はダウンロードしたファイルを解凍して中のAppRunを実行するだけ。よほど特殊なディストリビューションでなければ動くかと。つまりとても簡単。
画面6:
上はEtcherの画面。左の で書き込むイメージファイルを選択。中央の で書き込み先のMicroSDカードを指定(Etcher起動前に接続していれば自動で認識)、2つの選択が終わったら右の で書き込み開始。Etcherでは書き込み後のベリファイや自動アンマウントも行ってくれる。(これを変更する場合は右上の から)
Flash Complete!の表示が出たらEtcherを閉じる。microSDカードはそのまま抜いて大丈夫。
OS起動から電源断までの基礎
画面7:
イメージ書き込み済みのmicoSDカードをNanoPi NEO2に差し込んで電源投入。30秒〜1分程度で起動する筈。
SSHでログイン。(IPアドレスの調べ方はこちら)
armbianの初期値は アカウントがroot、パスワードが1234。
初回ログイン後にrootアカウントのパスワード1234をもう一度入力、新しいrootアカウント用のパスワードを2回入力。
続いて一般ユーザーのアカウントを作成という流れ。
電源断はshutdown -P now [Enter] で緑のLEDが消えたら電源ケーブルを抜いてOK。
2017年8月3日追記: ビルドできるからって期待しちゃダメ。ハブンチョ前とカーネル変わって更に未完成度が高くなってる。あちこちおかしい所だらけ。(だから正式サポートから外れてるんだろうけど)
関連記事:- アッチッチなNanoPi NEO3を冷やしたい パッド交換
- NanoPi NEO3冷却力強化後のUnixBench
- アッチッチなNanoPi NEO3を冷やしたい
- NTPサーバの時刻ソースに対するズレの調整
- NanoPi NEO3をv6プラスのルーターにする systemd-networkd + nftables
- NanoPi NEO3のUSB3.0ポートのネットワーク速度
- NanoPi NEO3でArmbian よきところでUnixBench
- NanoPi NEO3が届いた
- NanoPi NEOにRTCモジュールを付ける
- 新しい中華GPSモジュールとChronyで作るNTPサーバ (中編)
- 新しい中華GPSモジュールとChronyで作るNTPサーバ (前編)
- Prometheus2とGrafana6によるシステム監視 シングルボードコンピュータの温度表示
- NanoPi NEOでNTPサーバ再構築 (全まとめ)
- NanoPi NEO2をv6プラスのルーターにする 後編
- NanoPi NEO2をv6プラスのルーターにする 前編
- ELK Stackでシステム監視 FilebeatでNTP統計ログ取得 Logstashで加工
- NanoPi NEO2(arm64)用にFilebeatをビルド
- NanoPi NEO2を超コンパクトなアルミケースに入れる
- NanoPi NEO2用armbian 5.41 Debian 9 Stretch next 4.14.18
- NanoPi NEO2を100均の灰皿に入れてみた
- NanoPi NEO2のシステム監視 RPi-Monitorとnetdata
- NanoPi NEOとGPSモジュール用アルミケースを作る
- NanoPi NEO2 + DACで音楽プレーヤーVolumioを使う
- NanoPi NEO2にDACを接続
- NanoPi NEO2の最大クロック引き下げ後のUnixBench 再び
- NanoPi NEO2用armbian 5.32 Debian 9 Stretch 4.13.0-RC6
- NanoPi NEO2用armbian 5.32 Debian jessie 4.13.0-RC6
- NanoPi NEOをSIP電話機にする 後編 (その2)
- NanoPi NEO2とICカードリーダーでタイムレコーダーを作る(実用化編)
- NanoPi NEO2とICカードリーダーでタイムレコーダーを作る