この.imgファイルをマウントしてその内容を参照するにはどうすればよいですか?

この.imgファイルをマウントしてその内容を参照するにはどうすればよいですか?

ファームウェアイメージのインストールとその内容の閲覧に興味があります。コマンドを使用してこれを実行しようとしましたが、mountいくつかのエラーが発生しました(「ファイルシステムタイプを指定する必要があります」)。しかし、ここには他の問題があるかもしれないと思います。次の情報は、この作業を完了するために必要なすべてだと思います。この情報で何をすべきかわかりません。

この.imgファイルをマウントしてその内容を参照するにはどうすればよいですか?

走るfile

/root/Downloads/FW_WRT1900AC_1.1.8.164461_prod.img: u-boot legacy uImage, Linux-3.2.40, Linux/ARM, OS Kernel Image (Not compressed), 3856080 bytes, Thu Nov 20 13:45:36 2014, Load Address: 0x00008000, Entry Point: 0x00008000, Header CRC: 0x5CAE7F84, Data CRC: 0xFCF78543

走るfdisk -l

Disk /root/Downloads/FW_WRT1900AC_1.1.8.164461_prod.img: 26 MB, 26345472 bytes
255 heads, 63 sectors/track, 3 cylinders, total 51456 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80811005

Disk /root/Downloads/FW_WRT1900AC_1.1.8.164461_prod.img doesn't contain a valid partition table

ベストアンサー1

このファイルの最初の3856080バイトはカーネルイメージです。その後、ファイルシステムイメージがあります。ファイルシステムは、オフセット3932160(次の128kBの倍数に丸められた3856080)にあります。確認で見つけましたが、情報が画像に保存されている場所がわかりません(おそらくデバイスの予想される削除サイズに関連している可能性があります)。 。ファイルシステムはJFFS2、これはこれらのデバイスで一般的です。

ファイルシステムドライバを使用するには、ファイルシステムは次の場所にある必要があるため、JFFS2ファイルシステムをLinuxに直接インストールすることはできません。MTD機器。あなたはできますRAMで偽のMTDデバイスを使用するこの制限を解決してください。ブートイメージからJFFS2イメージを抽出する必要があります。削除ブロックの整数でなければなりません。簡単に言うと:

modprobe mtdram total_size=32768 erase_size=128
modprobe mtdblock
<FW_WRT1900AC_1.1.8.164461_prod.img tail -c +3932161 | head -c 22413312 >/dev/mtdblock0
mount -t jffs2 /dev/mtdblock0 /mnt

または、次のプログラムを使用しjffs2dumpて、jffs2reader次からダウンロードすることができます。MTDユーティリティ

<FW_WRT1900AC_1.1.8.164461_prod.img tail -c +3932161 | head -c 22413312 >|FW_WRT1900AC_1.1.8.164461_prod.jffs2
jffs2reader FW_WRT1900AC_1.1.8.164461_prod.jffs2 >FW_WRT1900AC_1.1.8.164461_prod.contents
jffs2reader FW_WRT1900AC_1.1.8.164461_prod.jffs2 -d /
jffs2reader FW_WRT1900AC_1.1.8.164461_prod.jffs2 -f /etc/version

おすすめ記事