【笔记】openwrt 扩容 overlay文件系统 您所在的位置:网站首页 酷的酷字组词 【笔记】openwrt 扩容 overlay文件系统

【笔记】openwrt 扩容 overlay文件系统

2023-11-12 10:44| 来源: 网络整理| 查看: 265

官方文档: Fstab 配置 - https://openwrt.org/zh/docs/guide-user/storage/fstab_configuration⭐️ 扩容 https://openwrt.org/docs/guide-user/additional-software/extroot_configurationhttps://oldwiki.archive.openwrt.org/doc/techref/block_mount 参考: 👍 视频:OpenWrt扩容Overlay - https://www.youtube.com/watch?v=YwbwzuXKNlg 相关 issue: expansion of /overlay by modifying /etc/config/fstab does not tabke effect - https://github.com/immortalwrt/immortalwrt/issues/673询问关于 fstab 做过的修改 - https://github.com/coolsnowwolf/lede/issues/9286

文章目录 Overlay文件系统介绍Overlay扩容Overlay机制分析

Overlay文件系统介绍

如下空间结构(sda1=16M、sda2=300M) 在这里插入图片描述

示意图 在这里插入图片描述

固件大小=sda1(kernel 16M)+sda2(firmware 300M) 在这里插入图片描述其中 firmware 300M=120M(已写入数据空间)+180M(未写入数据空间 upper layer)

未写入数据空间的180M可以从loop0看出 loop0即“循环设备”,不实际存在(是逻辑上的虚拟设备) 在这里插入图片描述 (可以把loop0的空间理解成upper layer层?)

overlay机制希望用户的所有读写在upper layer层完成。所以启动时,系统会把firmware(固件)需要配置的信息,如Home、etc、user、lib、mnt…一系列文件复制到upper layer层。

复制后,upper layer层剩下的free size就是真正的“空闲空间” 在这里插入图片描述

overlay 文件系统这样设计隔绝了用户对Kernel和Firmware的读写,方便用户对系统的还原。

ext4不支持Overlay Squash格式固件支持Overlay 这是为啥用Squash格式的原因

Overlay扩容

在这里插入图片描述

原理是让overlay指向一个更大的分区

创建分区

cfdisk

在这里插入图片描述 格式化

mkfs.ext4 /dev/sda3

在这里插入图片描述

挂载分区

mount /dev/sda3 /mnt/sda3

在这里插入图片描述

迁移Overly中的配置文件

挂载目录

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

再看软件包的可用空间,发现就变大了 在这里插入图片描述

Overlay机制分析

https://blog.csdn.net/a985588764/article/details/101024357

overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)

完整信息

root@OpenWrt:~# mount /dev/root on /rom type squashfs (ro,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,noatime) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime) cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime) /dev/loop0 on /overlay type ext4 (rw,noatime) overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work) /dev/sda1 on /boot type vfat (rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) /dev/sda1 on /boot type vfat (rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000) /dev/sdb1 on /mnt/sdb1 type ext4 (rw,relatime) debugfs on /sys/kernel/debug type debugfs (rw,noatime) none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,noatime,mode=700) root@OpenWrt:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 63.3M 63.3M 0 100% /rom tmpfs 1.9G 1.5M 1.9G 0% /tmp /dev/loop0 89.7M 2.1M 80.8M 2% /overlay overlayfs:/overlay 89.7M 2.1M 80.8M 2% / /dev/sda1 16.0M 5.5M 10.4M 35% /boot /dev/sda1 16.0M 5.5M 10.4M 35% /boot tmpfs 512.0K 0 512.0K 0% /dev /dev/sdb1 9.8G 37.8M 9.2G 0% /mnt/sdb1 root@OpenWrt:~#

lede 扩容前

root@OpenWrt:~# mount /dev/root on /rom type squashfs (ro,relatime,errors=continue) proc on /proc type proc (rw,nosuid,nodev,noexec,noatime) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime) cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime) /dev/loop0 on /overlay type ext4 (rw,noatime) overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work,xino=off) /dev/sda1 on /boot type vfat (rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) /dev/sda1 on /boot type vfat (rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000) /dev/sdb1 on /opt type ext4 (rw,relatime) /dev/sda1 on /mnt/sda1 type vfat (rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) debugfs on /sys/kernel/debug type debugfs (rw,noatime) bpffs on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,noatime,mode=700) root@OpenWrt:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 78.0M 78.0M 0 100% /rom tmpfs 1.9G 4.2M 1.9G 0% /tmp /dev/loop0 71.8M 1.6M 64.5M 2% /overlay overlayfs:/overlay 71.8M 1.6M 64.5M 2% / /dev/sda1 16.0M 5.4M 10.5M 34% /boot /dev/sda1 16.0M 5.4M 10.5M 34% /boot tmpfs 512.0K 0 512.0K 0% /dev /dev/sdb1 9.8G 37.8M 9.2G 0% /opt /dev/sda1 16.0M 5.4M 10.5M 34% /mnt/sda1

lede 扩容后

root@OpenWrt:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 78.0M 78.0M 0 100% /rom tmpfs 1.9G 3.9M 1.9G 0% /tmp /dev/sdb1 9.8G 37.9M 9.2G 0% /overlay overlayfs:/overlay 9.8G 37.9M 9.2G 0% / /dev/sda1 16.0M 5.4M 10.5M 34% /boot /dev/sda1 16.0M 5.4M 10.5M 34% /boot tmpfs 512.0K 0 512.0K 0% /dev /dev/sda1 16.0M 5.4M 10.5M 34% /mnt/sda1 root@OpenWrt:~# mount /dev/root on /rom type squashfs (ro,relatime,errors=continue) proc on /proc type proc (rw,nosuid,nodev,noexec,noatime) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime) cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime) /dev/sdb1 on /overlay type ext4 (rw,relatime) overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work,xino=off) /dev/sda1 on /boot type vfat (rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) /dev/sda1 on /boot type vfat (rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000) /dev/sda1 on /mnt/sda1 type vfat (rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) debugfs on /sys/kernel/debug type debugfs (rw,noatime) bpffs on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,noatime,mode=700)

在这里插入图片描述

root@OpenWrt:~# /sbin/block info /dev/sda1: UUID="FD7C-7EC0" LABEL="kernel" VERSION="FAT16" MOUNT="/boot" TYPE="vfat" /dev/sda2: UUID="0af7e9d2-4ceed9cc-246866a4-f8908ae9" VERSION="4.0" MOUNT="/rom" TYPE="squashfs" /dev/sdb1: UUID="7d3b4f5e-5dc4-415a-a9f8-7a0bd2cb8891" VERSION="1.0" MOUNT="/overlay" TYPE="ext4" root@OpenWrt:~# cat /etc/init.d/fstab #!/bin/sh /etc/rc.common # (C) 2013 openwrt.org START=40 boot() { /sbin/block mount } start() { return 0 } restart() { return 0 } stop() { /sbin/block umount }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有