找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 6798|回复: 23

[红米AX6] OpenWRT QSDK AX6 固件包精简和重新打包 二进制压缩

[复制链接]
发表于 2024-1-30 19:31 | 显示全部楼层 |阅读模式
本帖最后由 iMea 于 2024-6-27 18:41 编辑

大佬们发的QSDK包一般都是几十M 想装一些其他的软件或者是想升级其中的软件包 空间就不太够 那么有什么办法可以清理不需要使用的空间呢?
请先备份好数据, 刷好 UBOOT , 避免操作不当变砖!


0. Linux 环境
准备好 QSDK 的 sysupgrade.bin 格式的固件包,
安装好squashfs工具, 包括这两个命令 mksquashfs unsquashfs
安装好 file 命令

1. 路由器上安装好 QSDK 并配置好
安装后, 使用 opkg remove 命令来卸载不需要的软件包, 可能有卸载不干净的情况可以手动去删除
统计文件大小的命令是 du -h 目录, 用这个可以快速找到是哪些文件比较占空间, 重点删除这些大文件

2. 把整个系统备份
由于空间不足, 所以要把备份好的文件存在 /tmp 中
注意一定要用 tar 来备份, 不要使用 unzip 等等, 这样才能保存权限关系!
每个文件夹打包好后就下载下来, 避免 /tmp 放入太多文件导致空间不足
举个例子:
tar -cvf /tmp/etc.tar /etc

备份后, 把 etc.tar 下载到自家机器上, 然后删除路由器上的档案, 避免 /tmp 空间不足:
rm /tmp/etc.tar
继续备份其他根目录文件夹
tar -cvf /tmp/usr.tar /usr
后面同理

对于红米 AX6 QSDK 而言, 需要备份的文件夹有: bin sbin etc lib usr www ini cfg

3. 在自家机器上把备份档案都解压在一块
tar -xvf ./etc.tar
tar -xvf ./usr.tar
...

4. 在自家机器上使用压缩工具解压 sysupgrade 格式的压缩包(他们本质也是 tar 档案)
解压可以看到一个文件夹里
比如我的是 sysupgrade-ap-ac04,
这个文件夹里有 CONTROL  kernel  root
其中的 root 就是下面要说的 root 档案, 我们后面要替换掉他

5. 在自家机器上使用 file 命令记录下原来的 root 档案
命令是 file ./root
可以看到这样的结果:
root: Squashfs filesystem, little endian, version 4.0, xz compressed, 20541282 bytes, 3443 inodes, blocksize: 262144 bytes, created: Tue Jan 30 08:59:17 2024

把这个 xz 压缩方式 和 blocksize: 262144 bytes 记住后面需要使用

6. 在自家机器上使用 unsquashfs 解压 root 档案
命令是 unsquashfs ./root

会得到一个 squashfs-root 文件夹, 这个就是刷好以后的根目录了, 我们要修改他
把我们之前备份出来的哪些文件夹, 覆盖掉这些文件夹 (最好是先删掉这些文件夹, 再复制粘贴过来)

7. 把 squashfs-root 重新打包成 root 档案
命令是: mksquashfs ./squashfs-root 弄好的root档案名字 -comp 压缩方式(原来是xz,这里也要些xz) -b 上面记录的blockSize(上面的是262144)
把弄好的 root 档案覆盖掉原来的

8. 重新打包成 sysupgrade 镜像
tar -cvf ./弄好的sysupgrade镜像 ./sysupgrade-ap-ac04

!!更新:这一步有问题, 请使用:
tar -cvf ./弄好的sysupgrade镜像 sysupgrade-ap-ac04

注意去掉那个./
如果不去掉 使用压缩包工具打包后的结构是
. 目录 - sysupgrade-ap-ac04 目录 - 实际内容(包括 root kernel 文件等)
原来的结构应该是
sysupgrade-ap-ac04 目录 - 实际内容(包括 root kernel 文件等)
!!更新结束

9. 把弄好的镜像上传到路由器的 /tmp 中
系统自带的更新是用不了的, 要用命令强制更新

10.使用命令强制更新
命令: sysupgrade -n -F ./弄好的sysupgrade镜像名字

回车后, 路由器会提示如 "metadata" 信息不对等, 这是正常的, 然后过一会就会自动重启

11. 重启后查看剩余空间, Enjoy
命令是: df -h


12. 最后
提前祝大家新年快乐, 心想事成!

更新:
13. 二进制压缩
Linux 上安装 upx 工具, 命令 upx -9 ./二进制文件位置
可以把30M的二进制文件压缩成不到10M, 性能也不会受到影响, 不会额外占用内存, 只是运行前需要解压缩一次, 运行加载时间会更长

再次更新:
用ChatGPT写了下脚本,还是不会的可以研究一下:
qwerr0/openwrt_repack_root (github.com)
看README.md然后按照顺序执行脚本即可


只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2024-1-31 10:04 来自手机 | 显示全部楼层
马上去试试,大佬厉害了?

点评

试成功了吗?昨晚试了一下,没有成功,修改后的包强制刷回后,路由器重启直接蓝灯,幸好有uboot可以重刷  详情 回复 发表于 2024-2-3 12:30
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-2-1 21:52 | 显示全部楼层
大佬厉害?  一直为找不到精简的QSDK发愁,请问能否给分享一下squashfs工具?

点评

软件包名字叫 squashfs-tools  详情 回复 发表于 2024-2-4 20:50
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-2-3 12:30 | 显示全部楼层
pandakeeper 发表于 2024-1-31 10:04
马上去试试,大佬厉害了?

试成功了吗?昨晚试了一下,没有成功,修改后的包强制刷回后,路由器重启直接蓝灯,幸好有uboot可以重刷

点评

没问题,一切都正常,直接解压替换打包就行了 不过我是在deepin linux下执行的  详情 回复 发表于 2024-2-8 14:02
可以尝试什么都不修改, 只进行一次解包和重新打包看能不能正常启动  详情 回复 发表于 2024-2-4 20:51
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2024-2-4 20:50 | 显示全部楼层
ttrry 发表于 2024-2-1 21:52
大佬厉害?  一直为找不到精简的QSDK发愁,请问能否给分享一下squashfs工具? ...

软件包名字叫 squashfs-tools
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2024-2-4 20:51 | 显示全部楼层
ttrry 发表于 2024-2-3 12:30
试成功了吗?昨晚试了一下,没有成功,修改后的包强制刷回后,路由器重启直接蓝灯,幸好有uboot可以重刷 ...

可以尝试什么都不修改, 只进行一次解包和重新打包看能不能正常启动

点评

昨晚这样试了一下,原包63.4M,解包不做修改再重新打包63.9M左右,刷回去还是直接蓝灯不闪没反应。 另外我用file命令时不显示压缩方式呢,打包时用了 -comp xz  详情 回复 发表于 2024-2-5 11:35
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-2-5 11:35 | 显示全部楼层
本帖最后由 ttrry 于 2024-2-5 11:36 编辑
iMea 发表于 2024-2-4 20:51
可以尝试什么都不修改, 只进行一次解包和重新打包看能不能正常启动

昨晚这样试了一下,原包63.4M,解包不做修改再重新打包63.9M左右,刷回去还是直接蓝灯不闪没反应。
另外我用file命令时不显示压缩方式呢,打包时用了 -comp xz
请问您有实机测试成功过吗? linux以及squashfs-tools 用的什么版本

点评

我就是测试OK才发帖的  详情 回复 发表于 2024-2-5 20:56
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2024-2-5 20:56 | 显示全部楼层
本帖最后由 iMea 于 2024-2-5 20:59 编辑
ttrry 发表于 2024-2-5 11:35
昨晚这样试了一下,原包63.4M,解包不做修改再重新打包63.9M左右,刷回去还是直接蓝灯不闪没反应。
另外我 ...

我就是测试OK才发帖的, 用的系统是 Arch Linux
local/squashfs-tools 4.6.1-1
我修改的 QSDK 是 aoxueos 大佬的, sysupgrade 镜像大小是 55.4MB, 我修改并配置我需要的以后镜像大小只有24.5MB

点评

哦linux是虚拟机装的deepin 20.9,squashfs-tools 4.6.1,我之前也用aoxueos大佬的QSDK,按照你发的办法精简tb6750217发的QSDK12.2新版本https://www.right.com.cn/forum/thread-4875974-1-2.html 但没成功  详情 回复 发表于 2024-2-5 21:22
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-2-5 21:22 | 显示全部楼层
iMea 发表于 2024-2-5 20:56
我就是测试OK才发帖的, 用的系统是 Arch Linux
local/squashfs-tools 4.6.1-1
我修改的 QSDK 是 aoxueos  ...

哦linux是虚拟机装的deepin 20.9,squashfs-tools 4.6.1,我之前也用aoxueos大佬的QSDK,按照你发的办法精简tb6750217发的QSDK12.2新版本https://www.right.com.cn/forum/thread-4875974-1-2.html   但没成功

点评

我用你那个QSDK随便删除了几个文件, 构建了一个, 大小减少了10M, 下载链接: https://pan.baidu.com/s/1sdFafZgU2LhI7D1nyF-z-g?pwd=ucig 你试试从第9步开始安装一下试试  详情 回复 发表于 2024-2-5 21:52
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2024-2-5 21:52 | 显示全部楼层
本帖最后由 iMea 于 2024-2-5 22:04 编辑
ttrry 发表于 2024-2-5 21:22
哦linux是虚拟机装的deepin 20.9,squashfs-tools 4.6.1,我之前也用aoxueos大佬的QSDK,按照你发的办法 ...

我用你那个链接上的固件包 随便找了一个: openwrt-ipq807x-R23.9.1-redmi_ax6-squashfs-nand-sysupgrade.rar 随便删除了几个文件,  构建了一个, 大小减少了10M, 下载链接: https://pan.baidu.com/s/1sdFafZgU2LhI7D1nyF-z-g?pwd=ucig 你试试从第9步开始安装一下试试

点评

您发的我可以成功刷上,第10步强刷命令,-f 应为 -F 能否帮忙把tb6750217最新发的QSDK12.2精简一个,https://pan.baidu.com/s/1siFdDFeU4_NML84FuYpNHQ?pwd=z9r4 我只需保留用 Turbo ACC、cpufreq、Upnp、KMS服务器  详情 回复 发表于 2024-2-5 23:25
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-2-5 23:25 | 显示全部楼层
iMea 发表于 2024-2-5 21:52
我用你那个链接上的固件包 随便找了一个: openwrt-ipq807x-R23.9.1-redmi_ax6-squashfs-nand-sysupgrade.r ...

您发的我可以成功刷上,第10步强刷命令,-f  应为 -F
能否帮忙把tb6750217最新发的QSDK12.2精简一个,https://pan.baidu.com/s/1siFdDFeU4_NML84FuYpNHQ?pwd=z9r4
我只需保留用 Turbo ACC、cpufreq、Upnp、KMS服务器 vlmcsd  iptv  msd-lite;课学等都不用,感谢感谢!

点评

你把精简后的发一下, 我研究一下是哪里弄错了就行了...  详情 回复 发表于 2024-2-5 23:33
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2024-2-5 23:33 | 显示全部楼层
ttrry 发表于 2024-2-5 23:25
您发的我可以成功刷上,第10步强刷命令,-f  应为 -F
能否帮忙把tb6750217最新发的QSDK12.2精简一个,htt ...

你把精简后的发一下, 我研究一下是哪里弄错了就行了...

点评

未做精简重新打包的固件私信发您了,辛苦您了  详情 回复 发表于 2024-2-5 23:49
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-2-5 23:49 | 显示全部楼层
iMea 发表于 2024-2-5 23:33
你把精简后的发一下, 我研究一下是哪里弄错了就行了...

未做精简重新打包的固件私信发您了,辛苦您了
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-2-7 13:54 | 显示全部楼层
这个可以。。。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-2-8 14:02 | 显示全部楼层
ttrry 发表于 2024-2-3 12:30
试成功了吗?昨晚试了一下,没有成功,修改后的包强制刷回后,路由器重启直接蓝灯,幸好有uboot可以重刷 ...

没问题,一切都正常,直接解压替换打包就行了
不过我是在deepin linux下执行的
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-23 22:01

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

快速回复 返回顶部 返回列表