HumingBoardのGPIO,SPI,I2Cを利用するときに実に使いよかったDebianのHeadlessでしたがDebian jessieのDeskTop付きの「完成形」となりました。
インストール方法は、ダウンロードのページからイメージを落としてきて通常のようにSDへ書き込めばそれで済みます。もうこれを使わない理由は見当たりません。
一点だけ残念なのが、HummingBoardの新しいシリーズHummingBoard-Edge, HummingBoard-Gateでは起動しません。この新機種は、従来HummingBoardで動作するものがブートしない、USBが使えないなど色々と非互換の部分があるので、対応がなされるまで少々待ちましょう。
(無論ソースが公開されています。自分で対応をしてしまうということも不可能な話ではありませんが)
(*)HummingBoard-Edge, HummingBoard-Gate向けには、SolidRunのダウンロードサービスでがあります。
https://images.solid-build.xyz/IMX6/Debian/
から、SoridRunのビルドしたイメージを利用できます。
【今回の目標】
今回は、HummingBoard用のarmbianを見ていきましょう。
HummingBoardまずmSATAの調達です。SSDの価格は急激に安くなり大容量のものが実に安く買えるようになりました。128Gでも8,000円程度です。取り付け方は、ボードの裏面にあるコネクタを利用します。スクリュー1本で固定します。
ソフトでは、Linux kernel 3.14 でmSATAがサポートされました。たとえば、Debianでは、Debian jessieを試すとよいでしょう。(USBだとほとんどでサポートされています)
http://www.igorpecovnik.com/2014/08/19/cubox-i-hummingboard-debian-sd-image/
SDからHummingBoardを立ち上げます。jessieの場合であれば、最初に立ち上げると一度立ち上げなおしが行われます。ログインすると最初にrootのパスワード変更が求められる。立ち上がった後はSSH経由でPCのターミナルから操作すると楽にできるでしょう。
ls /dev で確認できますが、mSATA ドライブがsda に割りあてられているとします。(他のカーネルでは異なる可能性もあります)
まずはfdiskで新規パーティションを作ります。
fdisk /dev/sda |
swap partition (1GB)
root partition (rest of disk)
次に/dev/sda1 にスワップ領域を割り当て/dev/sda2 にext4のファイルシステムを作ります。その上でsda2 を/mnt にマウントします。
mkswap /dev/sda1 mkfs.ext4 /dev/sda2 mount /dev/sda2 /mnt |
ここでrsysnc、SDの内容をmSATA へコピーします。最後にエラー表示で止まるかもしれません。(ctrl-cで止めることもあうかもしれません)
|
終了したら、/mnt の権限設定を変更します。
|
/etc/fstabを以下のように変更します。
/dev/sda2 / ext4 defaults,noatime,discard 0 1 /dev/sda1 none swap sw 0 0 |
ここで"noatime,discard"というオプションは、アクセス毎に同じファイルが更新されてしまわないようにしている。(これはmSATAがSSDであるときには不要な書き込みを最小限にすることが重要となります)
そして、/etc/udev/rules.d/ に60-schedulers.rulesというファイルを作り、以下の内容を記述します。
|
(ここの記述はDebian用となっています。他のディストリビューションには変更が必要です)これはカーネルがmSata drive用にno-op schedulerを使うようにする設定で、他のschedulersではSSDでは意味のない最適化となる。
ここまでの作業で一旦シェルから抜けて /boot/uEnv.txtもしくは、(/boot/boot.scr)の編集をします。
root権限で適当なエディタを使って
"root=/dev/mmcblk0p1"
となっている部分を
"root=/dev/sda2"
と変更して保存します。
これで準備は終了です。
再起動して立ち上がることを確認してください。起動しない場合、"root=/dev/sda2" をもとに戻して起動することを確認してみてください。
ここでは、Debianをダウンロードしてきて、立ち上げてすぐの状態で検証としています。すでにサーバーを設定して稼働させているような状況でのメモリを rsync をするようなことは無謀です。
コメントをお書きください