
fmk modを使用してパッケージを抽出し、 firmware.bin
3つのファイルを提供しました。header.img , rootfs.img and footer.img
これで、すべてのファイルを再パッケージ化するたびにfirmware2.bin
機能し、ルーターがアップグレードされます。ただしrootfs.img
、このコマンドを使用して解凍すると、unsquashfs rootfs.img
「ソースと同じ圧縮方法とブロックサイズ」を使用して再圧縮されますが、squashfs-root/
サイズが小さくなり、ルーターのアップグレードが失敗します。mksquashfs rootfs-root/ squash_new.img -comp lzma -b 131072
rootfs.img
rootfs.img
両方のファイルのサイズです。
squash_new.img (9,945,088バイト)
rootfs.img (9,945,232バイト)
unsquashfs
それとも質問がありますかmksquashfs
?
これは、16進エディタソフトウェアを使用したときに何も変更しなかったにもかかわらず、いくつかの項目が異なることがわかったためです。
編集するファイルheader.img
にファイルに関する情報が含まれている可能性がありrootfs.img
、変更があるとアップグレード失敗の問題が発生する可能性があります。ファイルがの情報と一致しないと、ファイルを編集してheader.img
解凍header.img
できず、次のように処理できます。 16進数のテキストはすべてゴミです。