a2c-maru
2024年2月14日 17時13分
表題の件で、2点お尋ねします。
1.
SD(microSD)にインストールディスクイメージを書き込む際、
環境の制約からATDEではなく、普通のLinuxPCを使用しています。
その LinuxPCでは、SDカードは自動mountされるのですが、
mountされたままの状態でイメージを書き込んだSDを使用すると
Armadilloへの書き込みに失敗し、シリアルで様子を見ると
ERROR: can't get kernel image!
=>
で停止しています。
一方、自動mountされたSDを umountしてからSDにイメージを
書き込んだ場合、Armadilloへの書き込みは成功します。
どちらもSDに書き込んだ時点では何の異常も生じないのですが、
上記は理にかなった差異なのでしょうか?
(umountが解決策だという確証を得たい、というのが意図です。)
2.
フィールド展開に当たり、
インストールディスクイメージへのSDへの書き込み作業は、
Linuxに不慣れな方が実施することになる可能性が高いです。
Armadilloの話題からそれてしまって大変恐縮なのですが、
WindowsでインストールディスクイメージをSDに書き込める
(⇒そのSDでArmadilloに書き込める)
ツールをご存知ないでしょうか?
コメント
a2c-maru
a2c-maru
at_ohsawa
2024年2月14日 17時36分
> (umountが解決策だという確証を得たい、というのが意図です。)
はい正しいです。umountしてからddで書き込んでください。
(ddの後のsyncも忘れず実行してください)
SDカードにファイルシステムがある場合に自動的にmountされますが、
この状態でddにより書き込みは基本的にはしてはいけません。
ddによる書き込みは、ファイルシステムもパーティション
(どちらもディスク上にあるデータ構造です)にも無関係に
生のバイト列をを書き込むため、mountしている状態の
パーティションとddして書いているものに齟齬が発生すると
エラーしたり、umount時のキャッシュからの書き戻しで
競合した書き込みになる可能性があります。
(可能性というより、なっているので、その結果ですね)
>
> (⇒そのSDでArmadilloに書き込める)
> ツールをご存知ないでしょうか?
当社のマニュアルだとwinddをつかっていたり
https://sourceforge.net/projects/windd/
最近だとrufusがこの手のツールだと新しいと思います。
https://rufus.ie/ja/
winddは、すでにメンテナンスされていない期間が長いので
最近のwindowsの挙動に対応しているのはrufasの方がいいかもしれません。
恐らく、原理的にwindowsでもSDを自動マウントされている状態だと、
上のツールは正しく書き込みできないはずです。
(プロパティから「安全にデバイスを取り外す」を強制されるか、ツールで自動で
取り外しを実施するものもあるかもしれません。)