引言
OpenWrt
默认为 overlay
分配到的空间是很小的, 周末在安装 AdGuardHome 时, 总是报错经过排查发现, 系统的软件包 空闲空间
已经爆满, 导致写入总是失败 😭
所以呢, overlay
扩容需求就来了....
一、方案确定
网上有很多种扩容的方法, 主要方案就下面两种:
- 第一种方案是直接对
OpenWrt
固件下手, 在安装部署之前就搞定扩容 - 第二种方案则是在已经安装部署后, 新建一个大分区, 并将
旧分区内容
迁移到大分区
后, 重新设置挂载点, 从而实现扩容
由于我这边已经安装部署完了 OpenWrt
, 所以这里选择第二种方案, 当然在开始之前需要先清一波内存空间(后面需要安装一些工具), 因为之前下载了一些乱七八糟的文件, 这里就全给删了, 这样就腾出了点空间来
下面开始进入正题...
二、查看磁盘使用情况
在开始之前, 我们可以先看下磁盘的使用情况, 如果你的磁盘空间本来就很小, 那就别想什么扩容了, 还是先换个磁盘吧
- 安装
lsblk
包
opkg update
opkg install lsblk
- 查看系统磁盘使用情况, 从
lsblk
返回信息来看, 我的磁盘剩余的空间还是很多的,mmcblk0
总共28.9G
, 用到的才64M + 160M
lsblk
三、创建分区
下面我们将使用 cfdisk
工具, 来创建一个 15G
大小的分区
- 安装
cfdisk
工具
opkg update
opkg install cfdisk
- 创建分区, 这里
mmcblk0
是要分区的设备名, 这里得根据你自己的情况进行填写设备名
cfdisk /dev/mmcblk0
- 执行
cfdisk
将弹出一个交互界面, 从页面上我们可以看到, 我的设备mmcblk0
上还有28.7G
的剩余空间呢
- 下面我们通过上下键选
Free space
, 通过左右键选择New
, 然后回车, 来创建一个新的分区
- 这里将会要求填写新分区的大小, 敲入要新建的分区大小, 比如
15G
, 回车
- 回车后, 选择主分区
primary
回车
- 最后会回到
分区列表页面
, 在列表中就会有我们新建的一个分区/dev/mmcblk0p3
, 记住这个分区名mmcblk0p3
, 后面会频繁用到
- 这里我们只是划分了一个新的分区, 还需要进行写入, 左右键选择
Write
, 回车
- 确认写入: 输入
yes
进行确认, 记得敲全yes
, 然后回车
- 完成写入后, 左右键选择
Quit
, 回车
- 最后终端如果提示
Syncing disks.
则说明分区创建成功了
- 确认: 执行
lsblk
查看磁盘情况, 就会发现多了一个mmcblk0p3
lsblk
四、格式化分区
新建完分区后, 需要对分区进行个格式化, 这里的 mmcblk0p3
需要替换成你自己的分区名
mkfs.ext4 /dev/mmcblk0p3
命令执行结果如下, 中间需要进行一次确认, 输入 y
即可, 随后等待执行就行
五、挂载
接下来开始挂载目录, mmcblk0p3
是我的分区名, 这里一样, 你需要将分区名换成自己的
mkdir /mnt/mmcblk0p3
mount /dev/mmcblk0p3 /mnt/mmcblk0p3
上面命令执行完, 如果没有发生错误, 是不会输出任何日志的, 这里我们可以通过执行 ls /mnt/mmcblk0p3
命令, 如果输出 lost+found
, 则说明挂载成功
ls /mnt/mmcblk0p3
六、拷贝数据
接下来我们需要将当前 overlay
下的所有内容, 拷贝到新的分区, 这样后面我们修改 overlay
挂载点后, 才能保证当前安装、配置的所有内容都能够同步过来, 而不会直接丢失
- 这里我们先进入
overlay
目录, 并确认下该目录下有哪些内容
cd /overlay
ls
- 然后就可以开始拷贝了, 将
overlay
下的所有目录和文件都拷贝到mmcblk0p3
中, 并查看拷贝后/mnt/mmcblk0p3
目录下有哪些内容, 确保拷贝成功
cp -r /overlay/* /mnt/mmcblk0p3
ls /mnt/mmcblk0p3
七、修改
最后一步, 也是关键的一个步骤了, 就是要修改 overlay
的一个挂载点, 然后重启...
- 进入系统挂载点配置页面:
系统
-->挂载点
如果你的菜单栏上找不到
挂载点
, 则需要通过opkg install block-mount
安装下对应的包, 然后执行reboot
重启下就行
- 新增挂载点: 页面拉到下面, 在挂载点区块, 点击添加
- 配置挂载点信息:
UUID
选择我们新建的分区- 挂载点则选择
作为外部 overlay 使用
- 最后点击「保存 & 应用」
- 启用挂载点: 新增挂载点后, 这里还需要将原先的一个
overlay
挂载点勾选掉、并勾选新添加的挂载点
- 修改完配置, 点击
保存&应用
- 最后重启:
系统
-->重启
八、看效果
走到这里就基本差不多咯, 最后我们来看下效果: 进入 系统
-> 软件包
, 就会发现当前 空闲空间
大了很多很多很多...
九、参考
- 给 openwrt 扩容 overlay
- OpenWrt 安装后扩容 (非 overlay)
- OpenWrt 扩容 Overlay, 为你的固件增加可用空间, 从此安装程序随心所欲
- 第 038 期 OpenWrt 完美扩容Overlay 硬核新方法, 真扩容, 零空间浪费, 专治强迫症!
大家好, 我是墨渊君, 如果您喜欢我的文章可以:
- 关注公众号: 「昆仑虚F2E」获取最新文章。
- GitHub: github.com/MoYuanJun
- 个人网站(昆仑虚, 虽然现在没啥东西): www.kunlunxu.cc