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

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

バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/

はじめに

SDイメージをPCとFatFsで認識&編集をするシミュレーションの話。
今回は「LinuxでディスクイメージをSDカードへ書き込み」の確認。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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

シミュレーション手順

フクさん
フクさん

手順はこんな感じ。
前回は「FatFsで適当なテキストファイルを作成」までをやった。

  • WindowsでSDカードをFATでフォーマット
  • 適当なテキストファイルをSDカード内に作成
  • LinuxでSDカードのディスクイメージ作成
  • そのディスクイメージをFatFsシミュレータで読み込み
  • Windowsで作成したテキストファイルをFatFsで確認
  • FatFsで適当なテキストファイルを作成
  • LinuxでディスクイメージをSDカードへ書き込み
  • Windows上でSDカードに作成されたテキストファイルを確認
SDイメージシミュレーション構成、VMware、Ubuntu、SDHC、ddコマンドdump、ddコマンドで書き戻し、EXE、FatFS、読み書き実施、DiskImage
太郎くん
太郎くん

そして、今回はついにSDカードにディスクイメージを書き戻すのか・・・。
大丈夫なのだろうか・・・。

LinuxでディスクイメージをSDカードへ書き込み

フクさん
フクさん

とりあえず、前回FatFsでファイルを追加で作成したディスクイメージを
VMware上のUbuntuへコピー。

太郎くん
太郎くん

もう起動して、コピーしておいたよ。

フクさん
フクさん

じゃー、ddコマンドを実行だ。
以前はSDカードからディスクイメージを吸い出したが、
今回は逆のディスクイメージの書き込みだ。

sudo dd if=PhysicalDrive2 of=/dev/sdb1
太郎くん
太郎くん

こんな出力が出た。
たぶん、無事書き込めたのかな。

85405+0 レコード入力
85405+0 レコード出力
43727360 bytes (44 MB, 42 MiB) copied, 0.248628 s, 176 MB/s
太郎くん
太郎くん

次はWindows上で確認ってことだろうけど、
良く考えたらUbuntu上でも確認できそうだよねー。

LinuxでSDカード確認

フクさん
フクさん

折角だからUbuntu上でも確認してみよう。

太郎くん
太郎くん

あ!
ファイルができてるっぽい!
そして、サイズもあってる!!

drwxr-xr-x 2 XXXXXX XXXXXX  4096 Apr 16 09:04 'System Volume Information'
-rw-r--r-- 1 XXXXXX XXXXXX 11200 Apr 16 09:05  long_file_name_file.txt
-rw-r--r-- 1 XXXXXX XXXXXX 10000 Apr 20  2021  long_file_name_file_by_fatfs.txt
フクさん
フクさん

ついでにviでファイルの中身を見てみよう。

ubuntuのviでlong_file_name_file_by_fatfs.txt確認、aaaaaaaaaaaaaaaa
太郎くん
太郎くん

おー!
中身もOKそうだ!

フクさん
フクさん

さらに、ついでにバイナリモードでも確認してみよう。
vi上で「:%!xxd」を実行だ。

太郎くん
太郎くん

はいよー。

ubuntuのviでlong_file_name_file_by_fatfs.txt確認、0x61 0x61 0x61 0x61、aaaa
太郎くん
太郎くん

バイナリでもOKそうだ。

まとめ

フクさん
フクさん

まとめだよ。

  • LinuxでディスクイメージをSDカードへ書き込み。
    • ddコマンドで書き込み。
  • Windowsで確認前にLinuxでSDカード確認してみた。
    • ファイルが作成されていることを確認。
    • サイズが正しいことを確認。
    • ファイルの中身が正しいことを確認。
      • viで「:%!xxd」を実行するとバイナリモード。

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

コメント

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