openwrt 扩容 overlay

原理

lsblk:查看当前固件的分区信息

NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda            8:0    1 58.6G  0 disk
├─sda1         8:1    1  16M  0 part
├─sda2         8:2    1  300M  0 part /mnt/sda4

image-20200711142556881

sda 2 中的浅蓝色和深蓝色区域为底层 Squash 格式,该格式只读,不支持修改,优势是可以在出错时轻松重置

overlay 就是在 upper layer 层进行读写的形式

image-20200711143340836

overlay 的扩容并不是在 sda2 上进行操作,而是新建一个更大的分区 sda3,并将 Overlay 指向 sda3 ,这样的话,重置 sda2 后并不会损坏 sda3 中的配置

扩容步骤

创建新分区

使用 cfdisk 进行磁盘操作(使用 opkg install cfdisk 安装,如果安装失败请更新 opkg 源 opkg update)

  1. cfdisk

    image-20200711144836714

  2. 新建分区:切换到 free space ,切换到 new 回车,输入分区大小

    image-20200711145123408

    选择主分区或者扩展分区:选择 primary

    image-20200711145248408

  3. 将更改写入分区表:光标移到新分区,选择 wirte,并输入 yes

    image-20200711145522455

  4. 退出 cfdisk:选择 quit

    image-20200711145729840

格式化新分区

mkfs.ext4 /dev/sda3

image-20200711150146466

挂载新分区

将 /dev/sda3 挂载到 /mnt/sda3 下:mount /dev/sda3 /mnt/sda3

ls /mnt/sda3 查看 /mnt/sda3 目录,如果有 lost+found 目录则表示挂载成功

image-20200711150414828

拷贝 /overlay 下所有文件

ls /overlay 查看 /overlay 目录,如果有文件则拷贝到 /mnt/sda3 中

cp -r /overlay/* /mnt/sda3

检测是否拷贝成功

ls /mnt/sda3

在系统中挂载目录

重启路由器

参考

OPENWRT | ESXI 下 OpenWrt扩容Overlay,增加安装插件空间