バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
SDイメージをPCとFatFsで認識&編集をするシミュレーションの話。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
シミュレーションの方針
今回から、SDカードのディスクイメージを吸い出してなんやかんややるんだっけ?
「なんやかんや」って・・・。
具体的にはどんなことをするの?
ざっと手順を書くと以下になるな。
- WindowsでSDカードをFATでフォーマット
- 適当なテキストファイルをSDカード内に作成
- LinuxでSDカードのディスクイメージ作成
- そのディスクイメージをFatFsシミュレータで読み込み
- Windowsで作成したテキストファイルをFatFsで確認
- FatFsで適当なテキストファイルを作成
- LinuxでディスクイメージをSDカードへ書き込み
- Windows上でSDカードに作成されたテキストファイルを確認
????
なんか、Windows、Linux、FatFsといろいろごっちゃごちゃでどこで何をしてるのかわからーーん!!
シミュレーションの方針(図解)
しようがない。
図解しよう。
最初からそれやってー!!
まぁ見ればシンプルで、こんな感じだ。
おー!
確かに、絵でみたらシンプルだ!
ところでddコマンドって何?
Linuxコマンドの一つなんだけど、
Wikipediaに記載があったんで、引用しよう。
ddはUnix系のシステムにあるプログラム(コマンド)で、データのコピーや変換をブロックデバイスを直接読み書きして行うことが特徴である。dataset definitionの略であるが、IBMのメインフレームのJob Control Language(ジョブ制御言語、JCL)の「DD文」(DD statement)に由来するため、引数の構文が、Unixの一般的なコマンドの引数のそれとは激しく異なっている(datasetというのはメインフレーム用語)。ddの主な機能は指定されたバイト数もしくはブロック数のデータのコピーであり、この機能は、ハードディスク(全体もしくはパーティション単位、またはブートセクター等)のバックアップや、/dev/zeroや/dev/randomを用いて指定された領域を完全消去するために利用される。同様にディスクの(可能な限り)全状態をそのままクローンしたい、コンピュータ・フォレンジックスなどの場合にも使われる。
Wikipediaより https://ja.wikipedia.org/wiki/Dd_(UNIX)
うーん。
前半はよくわからんけど、ハードディスクのバックアップに利用できるってことだから、これを使用してディスクイメージを作ったり、書き戻したりをするって感じかな?
その理解でOKだ。
Linuxが必要になるけど、VMwareをいれて、Ubuntuを構築すれば良いのかな?
VMwareはWorkstation Playerで良いだろう。
非営利目的なんで費用は掛からないはずだ。
Ubuntuはここからisoイメージを取得できる。
じゃー、ここら辺の環境構築を次回までにやっておくよー。
あと、VMwareでSDカードを認識されるために
USB接続のSDカードリーダが要るね。
そうなの?
ノートPCについてるSDカードスロットしゃダメ?
それでも大丈夫なことはあるが、
VMwareが認識できる汎用的な外部デバイスはUSBだけなんで、
SDカードの読み書きもUSB接続にしておいた方が良いだろう。
まぁとりあえず、SDカードリーダも用意しておこう。
まとめ
まとめだよ。
- SDイメージシミュレーションの手順説明。
- その手順及び構成を図解。
- ポイントはLinuxのddコマンドでSDカードのディスクイメージの吸い上げと書き戻し。
- VMware Workstation PlayerとUbuntuが必要。
- 今回はWinodws PC前提だが他のLinux環境でも問題無い。
バックナンバーはこちら。
コメント