Squashfs

壁球 3 對 4

  • December 3, 2012

我正在嘗試通過取消壓縮來修改韌體文件,編輯我的文件並再次壓縮它。但是由於不同的 squashfs 類型(我想),我遇到了不接受文件的設備的問題。這是我的開發盒上的輸出:

原始文件:

user@ubuntuVM:~$ unsquashfs -s main-fs.5_0 
Reading a different endian SQUASHFS filesystem on main-fs.5_0
Found a valid big endian SQUASHFS 3:0 superblock on main-fs.5_0.
Creation or last append time Thu Aug 21 20:56:15 2008
Filesystem size 9653.75 Kbytes (9.43 Mbytes)
Block size 65536
Filesystem is not exportable via NFS
Inodes are compressed
Data is compressed
Fragments are compressed
Always_use_fragments option is not specified
Check data is not present in the filesystem
Duplicates are removed
Number of fragments 105
Number of inodes 1667
Number of uids 2
Number of gids 1

修改後的文件:( 用作mksquashfs squashfs-root main-fs.test -b 64K -no-exports -no-xattrs -no-sparse -force-gid 0 -force-uid 0根)

user@ubuntuVM:~$ unsquashfs -s main-fs.mod
Found a valid SQUASHFS 4:0 superblock on main-fs.mod.
Creation or last append time Mon Dec  3 14:46:07 2012
Filesystem size 9654.48 Kbytes (9.43 Mbytes)
Compression gzip
Block size 65536
Filesystem is not exportable via NFS
Inodes are compressed
Data is compressed
Fragments are compressed
Always_use_fragments option is not specified
Xattrs are not stored
Duplicates are removed
Number of fragments 105
Number of inodes 1667
Number of ids 1

我認為問題在於超級塊和/或 SQUASHFS 版本。我發現這對我們來說是可能的mksquashfs -2.0,但這個論點被刪除了,因為我需要版本 3,所以沒有太大幫助。

所以我的問題是:我怎樣才能完全像以前一樣重新打包我修改過的文件?此外,我修改後的文件狀態compression: gzip,但原始狀態沒有任何關於它的壓縮。也許這也是一個問題,但我不知道如何獲得比上述更多的資訊。:-(

2.6.29 之前的 Linux 核心不接受 SquashFS 版本 4 文件系統(閱讀此處)。這可能是您的設備無法使用它啟動的原因。

為了建構 SquashFS v3 映像,您需要舊版本的squashfs-tools軟體包。包括此在內的最新支持的 Ubuntu 版本是舊的 Hardy 8.04 版本,其軟體包可在此處獲得。我認為可以在更新版本的 Ubuntu 上安裝這個軟體包。在安裝古老的 Hardy 版本之前嘗試一下。

我很驚訝地看到 Ubuntu 剛剛通過這種非向前和非向後兼容的升級就地升級。我希望在儲存庫中同時看到版本 3 和 4 包。

引用自:https://unix.stackexchange.com/questions/57455