简书链接:openwrt软件空间不足进行扩容
文章字数:428,阅读全文大约需要1分钟
此方法扩容非 那个挂载的方式扩容,更可靠稳定。
1 2
| opkg update opkg install parted losetup resize2fs
|
参考
[OpenWrt 维基]扩展根分区和文件系统
新建expand-root.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| # Configure startup scripts cat << "EOF" > /etc/uci-defaults/70-rootpt-resize if [ ! -e /etc/rootpt-resize ] \ && type parted > /dev/null \ && lock -n /var/lock/root-resize then ROOT_BLK="$(readlink -f /sys/dev/block/"$(awk -e \ '$9=="/dev/root"{print $3}' /proc/self/mountinfo)")" ROOT_DISK="/dev/$(basename "${ROOT_BLK%/*}")" ROOT_PART="${ROOT_BLK##*[^0-9]}" parted -f -s "${ROOT_DISK}" \ resizepart "${ROOT_PART}" 100% mount_root done touch /etc/rootpt-resize reboot fi exit 1 EOF cat << "EOF" > /etc/uci-defaults/80-rootfs-resize if [ ! -e /etc/rootfs-resize ] \ && [ -e /etc/rootpt-resize ] \ && type losetup > /dev/null \ && type resize2fs > /dev/null \ && lock -n /var/lock/root-resize then ROOT_BLK="$(readlink -f /sys/dev/block/"$(awk -e \ '$9=="/dev/root"{print $3}' /proc/self/mountinfo)")" ROOT_DEV="/dev/${ROOT_BLK##*/}" LOOP_DEV="$(awk -e '$5=="/overlay"{print $9}' \ /proc/self/mountinfo)" if [ -z "${LOOP_DEV}" ] then LOOP_DEV="$(losetup -f)" losetup "${LOOP_DEV}" "${ROOT_DEV}" fi resize2fs -f "${LOOP_DEV}" mount_root done touch /etc/rootfs-resize reboot fi exit 1 EOF cat << "EOF" >> /etc/sysupgrade.conf /etc/uci-defaults/70-rootpt-resize /etc/uci-defaults/80-rootfs-resize EOF
|
支持和图像类型。ext4 squashfs
自动识别根分区和文件系统。
使用可用空间扩展根分区和文件系统。
通过固件升级保留脚本。
固件升级后自动运行。
首席执行这个sh,然后执行
sh /etc/uci-defaults/70-rootpt-resize
我刚开始执行的时候提示 readonly然后重启了,之后再执行没变化,执行/etc/uci-defaults/80-rootfs-resize 就提示不存在,
于是我
1 2
| rm /etc/rootpt-resize rm /etc/rootfs-resize
|
然后关闭 虚拟机然后pve给磁盘扩大,重启后发现生效了 。

参考
OpenWRT磁盘扩容(PVE虚拟机方案)_pve中openwrt扩容-CSDN博客