openwrt 镜像扩容

发布于 2023-07-24  37 次阅读


前言

上篇是对已经在运行中的系统进行扩容,对于虚拟机的系统还好说,但是手上的 r2s 直接用了 TF 卡,试了好几个方法都扩不了容。。。主要还是我太菜了~

无意中找到一篇文章,说的是修改镜像文件,刚好一劳永逸可以解决我的问题,对于后面虚拟机安装 openwrt 的镜像也不用费心装完后再去扩容了~

准备工作

先去 openwrt 官网上下载对应要刷的镜像文件,然后解压:

# 下载镜像文件
curl https://downloads.openwrt.org/releases/23.05.0-rc2/targets/rockchip/armv8/openwrt-23.05.0-rc2-rockchip-armv8-friendlyarm_nanopi-r2s-squashfs-sysupgrade.img.gz --output out.img.gz
# 解压
gzip -d out.img.gz
gzip 解压后会删除源文件,如果需要保留源文件,则加入参数 -k

扩容

之后,当前目录下就只有一个 out.img 的镜像文件了,然后对镜像文件进行扩容:

# 扩展 1G 空间
dd if=/dev/zero bs=1G count=1 >> out.img
# 扩展 0.5G 空间
# dd if=/dev/zero bs=1M count=512 >> out.img

使用 parted 对镜像分区进行调整:

# 安装 parted
apt install parted
进入分区工具对镜像调整分区大小
parted out.img
# 查看分区情况
print

可以看到第二分区目前只有 109M,接下来就把这个分区调整到满磁盘大小:

# 接上面命令,不要退出
# 第二分区占满剩余磁盘大小(即上面我们 DD 后的剩余空间)
resizepart 2 100%
# 退出
quit

这样,镜像就扩容完毕了!

收尾

最后把扩容后的镜像进行 gzip 压缩:

# 压缩
gzip out.img > openwrt-23.05.0-rc2-rockchip-armv8-friendlyarm_nanopi-r2s-squashfs-sysupgrade.img.gz
如果需要保留源文件,可以使用 -c 命令

最后使用这个镜像进行烧录就可以啦~