参考资料: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日
发表回复