极路由B70修改openwrt中overlay大小

家里有个B70,一直用的默认极路由系统,因为最近疫情原因,在家里待了很久,总觉得这个路由器的5G有问题,家里300M带宽,站在路由器面前测试5GWifi速度只有130M。去网上一搜索,居然都是这个原厂固件是个残废,那好吧。自己编译系统吧。顺手编译了一个AdGuardHome 进去,居然提示存储空间不足。一番搜索,发现默认只提供3.7M的空间(实际是30M,但是自带软件就占用了一部分,导致剩余只有3.7M)

前言

我的教程对大部分系统应该都通用,因为修改的是dts。没有不死boot(u-boot或者breed)就可以退出了。

首先看看磁盘信息:

因为我已经修改了所以箭头所指是45.9M,而没有修改的是3.7M左右。

再看看openwrt的HC5962(B70代号)dts信息

其他的都不重要,主要看 ubi 下一行(82行),范围是<0x340000 0x1E00000>

经过简单的计算,(0x1E00000-0x340000)H=(28049408)D,转换为MB为28049408/1024/1024=26.75M。

现在我想要将这个数据变大,只需要调整0x1E00000数据即可,剩下的空间会自动转到tmp。

极路由B70是256MB内存,128MB闪存。所以最大只能设置到128,最好保留一点空间,所以最大最好设置为0x7c40000,我随便取了一个中间值77MB也就是0x4d00000。设置完成保存然后重新编译即可。

 partition@340000 {
    label = "ubi";
    reg = <0x340000 0x4d00000>;
};

输入固件

因为改动涉及内核,所以不能用在线升级的方式,而应该进入到breed使用factory固件进行升级,所以在这一步之前一定要记得备份!

重刷后进入系统-软件包应该就可以看到生效了

新系统应该是45.9M,我已将安装了软件,所以占用了空间。

或者输入df -h查看overlay大小