当我们在升级 ubnt
路由器之前要对文件系统进行一些修改时,我们下载的固件往往是 tar
文件,这个文件其实是个包,直接可以用zip打开,打开后真正的固件所在文件是squashfs.tmp
,这个文件才是真正的固件,squashfs 格式的,如果要进行固件修改,我们则需要先解压squashfs文件,然后再打包,再刷机。
以 EdgeRouter ER-X/ER-X-SFP/EP-R6: 固件 v1.10.11
为例
tar -xvf ER-e50.v1.10.11.5274269.tar
unsquashfs squashfs.tmp
此时,在同级目录边会出现squashfs-root
文件夹,里面即为我们解压出来的文件。想改啥就可以在这里改了。更多选项请输入unsquashfs --help
修改完成后重新打包。
mksquashfs squashfs-root/ squashfs.tmp
md5sum squashfs.tmp >squashfs.tmp.md5
最后把 squashfs.tmp
和squashfs.tmp.md5
替换会原tar包里的同名文件就完成了镜像的修改。