Openwrt的软件包分区(Overlay)扩容

参考资料:OpenWrt扩容Overlay,为你的固件增加可用空间,从此安装程序随心所欲~(CC)

核心思路,overlay分区本来是不能被扩容的,只是把overlay使用的分区替换一个更大的分区
1、建立新的更大的分区、格式化分区
2、把原有overlay的文件全部复制到新的分区
3、overlay目录下挂载的分区替换新的更大的分区

cfdisk对磁盘进行分区

cfdisk

如果有多个硬盘,需要指定某个硬盘,则要带后面的参数

cfdisk /dev/mmcblk0

不知道硬盘设备名称的可以通过lsblk命令来查看

lsblk

根据引导,选择剩余空间,创建一个8G的分区,保存并且写磁盘,然后quit退出
记录下分区名称mmcblk0p3

格式化磁盘:

mkfs.ext4 /dev/mmcblk0p3

挂载分区mmcblk0p3到根目录的overlay2目录下面,为后面的文件拷贝做准备。overlay2目录要先创建文件夹,否则会提示mount point does not exist.

mount /dev/mmcblk0p3 /overlay2

挂载完成之后,可以通过ls命令看一下这个目录下面的文件,应该是返回:lost+found

ls /overlay2

拷贝原有overlay文件到新的overlay2里面去

cp -r /overlay/* /overlay2

提示复制失败,空间不足。。。
原本就是600多MB的空间不够,新建了一个8G的空间,竟然复制不过去。
Openwrt软件包Overlay空间突然减小,原因探索

找到原因,原有overlay大小恢复正常,继续......

稳妥起见,在执行一次上门的复制命令,竟然有提示空间不足????
又去探索了一遍空间为什么没了,发现cp命令在复制时,似乎是用来刚才的缓存。
删除异常占用空间的文件
把终端断开重新连接,再次复制,即可恢复正常。

复制完成后,看看文件是不是都复杂过去了

ls /overlay2

刚才的三个文件+原有的文件:etc 、upper、work、lost+found

确认文件复制完成了之后,在openwrt系统设置里替换overlay文件夹的挂载分区。

系统-挂载点-挂载点-找到挂载点位/overlay的项目,应该是启动勾选的状态-修改-UUID项目,选择刚才新建立的8G的分区-保存并应用-重启系统

等待系统重启完成之后,就可以看到:
系统-软件包-剩余空间:

剩余空间:97%(7.75GB)

调整成功!!!

2024年2月18日

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

鄂ICP备号2023007360