openwrt_extend_disk
扩展根分区和文件系统
本文依据以下内容:
- 访问Web 界面/命令行界面
- 管理配置/包/服务/日志
介绍
- 该指令扩展了x86目标上的 OpenWrt 根分区和文件系统。
- 按照自动化部分进行快速设置。
特征
- 支持
ext4
和squashfs
图像类型。 - 自动识别根分区和文件系统。
- 使用可用空间扩展根分区和文件系统。
- 通过固件升级保留脚本。
- 固件升级后自动运行。
指示
# 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 if [ -e /boot/cmdline.txt ] then NEW_UUID=`blkid ${ROOT_DISK}p${ROOT_PART} | sed -n 's/.*PARTUUID="\([^"]*\)".*/\1/p'` sed -i "s/PARTUUID=[^ ]*/PARTUUID=${NEW_UUID}/" /boot/cmdline.txt fi 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
Examples
# Install packages opkg update opkg install parted losetup resize2fs blkid # Expand root partition/filesystem sh /etc/uci-defaults/70-rootpt-resize
Automated
# Install packages opkg update opkg install parted losetup resize2fs blkid # Download expand-root.sh wget -U "" -O expand-root.sh "https://openwrt.org/_export/code/docs/guide-user/advanced/expand_root?codeblock=0" # Source the script (creates /etc/uci-defaults/70-rootpt-resize and /etc/uci-defaults/80-rootpt-resize, and adds them to /etc/sysupgrade.conf so they will be re-run after a sysupgrade) . ./expand-root.sh # Resize root partition and filesystem (will resize partiton, reboot resize filesystem, and reboot again) sh /etc/uci-defaults/70-rootpt-resize
参考链接:https://openwrt.org/docs/guide-user/advanced/expand_root
openwrt_extend_disk.txt · 最后更改: 由 packingbox