SDHCカードの丸ごとコピー
母艦PCは 18.04.1 LTS (Bionic Beaver) です。
Ultra96にはSDHCカードが付属していて、これでブートすると Wifi経由で 192.168.2.1に接続してサンプルプロジェクトを動かせます。
# 動いているOSはよく耳にするPeta Linuxか? このあたりの知識は近いうちに…
# 動いているOSはよく耳にするPeta Linuxか? このあたりの知識は近いうちに…
SDHCカードを使うと、母艦PCに繋がなくても Ultra96 を立ち上げられます。
そこで、心配症の私は、あれこれいじっている間に付属SDHCカードを誤って壊してしまうとか、その類の事故が無かったとしても、経年劣化で読み書きできなくなるのが心配なので、次のチュートリアルへ進む前にSDHCカードをバックアップしました。
そこで、心配症の私は、あれこれいじっている間に付属SDHCカードを誤って壊してしまうとか、その類の事故が無かったとしても、経年劣化で読み書きできなくなるのが心配なので、次のチュートリアルへ進む前にSDHCカードをバックアップしました。
付属SDHCカードを丸ごとバックアップ
$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
: 中略
/dev/sdd1 vfat 1046516 19360 1027156 2% /media/myaccount/boot
/dev/sdd2 ext4 6867972 1623688 4872368 25% /media/myaccount/16874448-8ca9-4131-9c97-8aa234857bbd
Filesystem Type 1K-blocks Used Available Use% Mounted on
: 中略
/dev/sdd1 vfat 1046516 19360 1027156 2% /media/myaccount/boot
/dev/sdd2 ext4 6867972 1623688 4872368 25% /media/myaccount/16874448-8ca9-4131-9c97-8aa234857bbd
$ sudo dd if=/dev/sdd of=/home/myaccount/work2/SDHC/ultra96img.dd
5分程度でバックアップを取れました。
別のSDHCカードへのリストア
ハマったのは書き込む前の umount です。後述の通り、umountしないと失敗します。理由は分かりませんが。$ df -T
: 中略
/dev/sdd1 vfat 15340896 5656 15335240 1% /media/myaccount/SDHC16GB
: 中略
/dev/sdd1 vfat 15340896 5656 15335240 1% /media/myaccount/SDHC16GB
デバイスのパス /dev/sdd を確認します。今回は書き込みなので、間違えると悲惨なことになるので慎重に(汗)
アンマウントします。
$ sudo umount /media/myaccount/SDHC16GB
書き込みの時間を計りたかったので time をつけています。
書き込みは 1時間もかかった。読み出しとは速度が全然違う。
【追記】別のところで「dd コマンドに bs=1M とか大きいブロックサイズを指定すると速くなるかも」との助言をいただきました。確かにそうかも
この時点で、ファイルブラウザで "boot" と 「7.3GBボリューム」が見えています。
「デバイスに空き領域がありません」は16GB SDHCカードだと出るようですが、Ultra96のブートは出来ました。
「デバイスに空き領域がありません」は16GB SDHCカードだと出るようですが、Ultra96のブートは出来ました。
dfで確認します。
$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
:中略
/dev/sdd2 ext4 6867972 1623688 4872368 25% /media/myaccount/16874448-8ca9-4131-9c97-8aa234857bbd
/dev/sdd1 vfat 1046516 19360 1027156 2% /media/myaccount/boot
Filesystem Type 1K-blocks Used Available Use% Mounted on
:中略
/dev/sdd2 ext4 6867972 1623688 4872368 25% /media/myaccount/16874448-8ca9-4131-9c97-8aa234857bbd
/dev/sdd1 vfat 1046516 19360 1027156 2% /media/myaccount/boot
これを使って Ultra96の Wifi接続(192.168.2.1)を無事に確認できました。
リストア操作を以下4つの条件で試しました。試した順番のままで条件がいびつですが。
# | SDHCサイズ | 直前umount | 空き領域エラー | Ultra96ブート |
1 | 16GB | 無し | エラーあり | 失敗 |
2 | 32GB | あり | エラー無し | 成功 |
3 | 16GB | あり | エラーあり | 成功 |
4 | 32GB | 無し | エラー無し | 失敗 |
umount の有無は結果のブートの成否に直結しているようです。
「デバイスに空き領域がありません」エラーはSDHC容量が理由のようで、無視できそうです。パーティションの Used の容量からはブートだけなら4GBもあれば大丈夫そうですが、作業領域とかファイルの保存も考慮すると16GBくらいあると安全なのでしょうね(憶測)
【おまけ】 SDHCカードのフォーマット
ultra96 で使うSDHCカードはvfatフォーマットのようです。パーティションは必要ならfdiskで変更します。
下記はパーティション/dev/sdd1をSDHC16GBという名称でフォーマットするコマンドです。
$ sudo mkfs.vfat -F 32 /dev/sdd1 -n SDHC16GB