【FatFs】車載外部ストレージ その111【SDカードディスクイメージ①】

【FatFs】車載外部ストレージ その111【SDカードディスクイメージ①】 車載外部ストレージ

バックナンバーはこちら。
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といろいろごっちゃごちゃでどこで何をしてるのかわからーーん!!

シミュレーションの方針(図解)

フクさん
フクさん

しようがない。
図解しよう。

太郎くん
太郎くん

最初からそれやってー!!

フクさん
フクさん

まぁ見ればシンプルで、こんな感じだ。

SDイメージシミュレーション構成、VMware、Ubuntu、SDHC、ddコマンドdump、ddコマンドで書き戻し、EXE、FatFS、読み書き実施、DiskImage
太郎くん
太郎くん

おー!
確かに、絵でみたらシンプルだ!

太郎くん
太郎くん

ところで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環境でも問題無い。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました