前回は rock64 の購入経緯とボード本体の動作確認の様子を書いたので,今回は eMMC の動作確認でも.
この辺りが知りたい方は以前の blog 記事を見てください.(かなり前の記事ですが...)
eMMC からのブートって面倒なのかなと思っていたけど,ドキュメントを軽く見た感じ,SD カードのイメージを eMMC に書き込んでブートローダの設定と root パーティションの設定を変更するだけでブートできるみたいですね....Slackware の場合はですけど.
https://wiki.pine64.org/index.php/ROCK64_Software_Release#Slackware
というわけで早速作業.
動作確認に使った microSD の /home 以下などにイメージファイルをコピー.
で,rock64 の電源を一回落として eMMC モジュールを取り付け.結構コネクタ固いな.
取りつけて再び microSD からブート.
ドキュメント通り
% dd if=slarm64-current-aarch64-base-rootfs-15Jun19-4.4.183-rock64-build-20190623.img of=/dev/mmcblk1 bs=10M
と実行.
ん?一瞬でこけたぞ.
それ以降,挙動がおかしくなりました.
再び microSD を作り直してチェックしたところ,デバイス名が上記ドキュメントとは異なっているみたい.
microSD が /dev/mmcblk1 で eMMC が /dev/mmcblk0 になっていました.ということで,上記コマンドでは microSD のイメージが壊れてしまったというわけ.ドキュメントを信じずに,コマンド実行前にデバイス確認しておけば良かったのね.
ということで,再実行.
% dd if=slarm64-current-aarch64-base-rootfs-15Jun19-4.4.183-rock64-build-20190623.img of=/dev/mmcblk0 bs=10M
その後,eMMC パーティションをマウントして,ブートローダーと fstab をドキュメント通り書き換え.
% mount /dev/mmcblk0p1 /media
% vi /media/boot/uEnv.txt
rootdev=/dev/mmcblk0p1
% sed -i 's:mmcblk1p1:mmcblk0p1:' /media/etc/fstab
上記コマンドは,全部,実際のデバイス状況に合わせて変更してあります.
で,microSD を取り外して再起動.
無事,eMMC からブートできました.ふう.
ブート時間は microSD も eMMC もあんまり変わらない感じ.
今日のところはここまでかな.
細かいベンチマークなどはまた後日...といいつついつになることやらですけど.:-)