OrangePi-PC Plusを使ってみる


OrangePi-PCにオンボードWifiと8GのEMMC Flashを追加したモデルです。
それ以外のハードウェアのスペックはPCと同じです。
左がOrangePi-PC Plus、右がOrangePi-PC。
PlusにはEMMCが実装されているので、スペースを確保するためにパーツのマウント位置が微妙に違います。






OrangePi-PC との一番の違いは、EMMC Flashからブートが可能なことです。
以下のコマンドでEMMC Flashにブートイメージを書き込むことができます。

$ sudo nand-sata-install

コマンドを実行すると以下の画面が表示されるので、Boot from eMMCを選びます。


OKを押すと確認画面が表示されます。


EMMC上に作成するファイルシステムを選択します。



EMMCへの書き込みが始まります。


この部分は結構時間がかかります。


大体30分ぐらい掛かりました。




SD-CARDを外して電源を入れるとEMMCからブートします。
SD-CARDを入れて電源を入れるとと、SD-CARDからブートします。(SD-CARD優先です)
EMMCからSD-CARDへの書き戻しはできないみたいです。→できることが分かりました

SD-CARDからブートしたときと、EMMC Flashからブートしたときのパフォーマンスを調べてみました。
使用したのはこのツールで す。

SD-CARDからブートしたときのパフォーマンス
Version 1.97 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
orangepipcplus 2G 105 92 15641 10 8765 5 723 100 22464 6 52.5 2
Latency 1199ms 4673ms 5574ms 16442us 452ms 22594us
Version 1.97 ------Sequential Create------ --------Random Create--------
orangepipcplus -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 4429 32 +++++ +++ 5309 28 7146 47 +++++ +++ 5541 30
Latency 1052us 1828us 2029us 924us 180us 10159us

EMMC Flashからブートしたときのパフォーマンス
Version 1.97 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
orangepipcplus 2G 113 99 6541 4 7238 5 676 99 75898 23 1620 84
Latency 111ms 11524ms 8386ms 18929us 4359us 7241us
Version 1.97 ------Sequential Create------ --------Random Create--------
orangepipcplus -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 5119 38 +++++ +++ 5933 33 6884 49 +++++ +++ 7717 44
Latency 977us 1945us 2100us 854us 147us 1791us

今一つよくわからないですが、EMMCのほうが早いように見えます。
特に、Random Seeks の時の差が顕著です。



Armbian ForumでEMMC Flashのバックアップ方法を教えてもらったので紹介します。
SD-CARDからブートし、以下のコマンドを実行します。
$ su
# apt install p7zip
# mkdir /var/images
# cat /proc/partitions
major minor  #blocks  name

 179        0    7782400 mmcblk0
 179        1    7781376 mmcblk0p1
 179       16    7634944 mmcblk1 → これがあることを確認する
 179       17    7633920 mmcblk1p1
 179       48       4096 mmcblk1boot1
 179       32       4096 mmcblk1boot0

# dd if=/dev/mmcblk1 bs=10M | 7zr a -bd -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -si /var/images/emmc.img.7z
# ls -l /var/images/
total 234656
-rw-r--r-- 1 root root 240284000 Jun 23 00:34 emmc.img.7z

出来上がったイメージ(emmc.img.7z)を展開して、SD-CARDに書き込めばEMMCと同じ内容になります。
ddコマンドは結構時間がかかります。
実行中は何も言ってくれないので、途中経過が分かるようなスクリプト(emmc-backup.sh)を作りました。

このスクリプトをダウンロードし、以下の手順で実行してください。
$ chmod 777 emmc-backup.sh
$ su
# apt install p7zip
# ./emmc-backup.sh

スクリプト(emmc-backup.sh)を実行すると、イメージが既にあるときは以下の画面が表示されます。


イメージファイルの作成が始まります。


大体80分ぐらい掛かります。