OpenWrt扩容overlay并开启swap的教程

 

OpenWrt扩容overlay并开启swap的教程

文章目录[隐藏]

  • 什么是overlay
  • 命令行工具

什么是overlay

Squashfs(.sfs)是一套供linux核心使用的GPL开源只读压缩文件系统。Squashfs能够为文件系统内的文件、inode及目录结构进行压缩。
Squashfs的设计是专门为一般的只读文件系统的使用而设计,它可应用于数据备份,或是系统资源紧张的电脑上使用。
OpenWRT 一般使用的文件系统是 SquashFS ,建议下载固件的时候也下载这种固件。
这个文件系统的特点就是:只读、压缩。
一个只读的文件系统,是怎么做到保存设置和安装软件的呢?用/overlay分区。固件中已经写入了有个/overlay分区,但它的指向可以更改。

图片[1]-OpenWrt扩容overlay并开启swap的教程 - 利剑分享-科技生活-利剑分享-科技生活

虽然原来的文件不能修改,但我们把修改的部分放在 overlay 分区上,然后映射到原来的位置,读取的时候就可以读到我们修改过的文件了。当系统故障,reset的时候,把固件中配置文件拷贝到overlay层,就恢复到最初设置了。
由于/overlay本身的指向配置也在overlay层,所以可以新建一个更大的分区,然后把overlay指向这个新分区,就相当于把overlay扩容了。这个可能有点绕。

命令行工具

lsblk
blkid
fdisk
mkswap
swapon
其实还有一些查看挂载点的命令:比如df,mount -l,查看/etc/mtab文件内容,后两者是结果是一样。
首先lsblk是列出block。结果如下:

这是一个U盘做的软路由,只有4G。但可以分出其他几个区。一个用来扩容overlay,剩下当swap,准备安装transmission和docker、samba。挂载一个硬盘做网络共享。
增加分区:fdisk命令。这个命令需要参数,是一个硬盘设备,比如/dev/sda。然后就进入fdisk程序中的命令,直到退出fdisk。这和其他命令不同。

这时分区就都完成了,并且写入分区表了。
然后将新加的分区/dev/sda3和/dev/sda4格式化。
将sda3格式化为ext4,将sda4格式化为swap,并打开swap。

重启reboot。

下一步需要将/overlay中内容拷贝到sda3中。但不能直接用/dev/sda3来拷贝,这只是一个硬盘设备文件,不是文件系统。所以需要将其挂载到某个目录下面,通常挂载的时候会要求标识文件系统,这样把一个设备挂载在文件系统下面,同时标识了该文件系统,这样整个系统就能看到里面的文件了。
/dev/sda3挂载到一个目录,之前可以df -h命令查看一下,原来都挂载在什么地方。看到原来都在/mnt下面。
mount -t ext4 /dev/sda3 /mnt/sda3
如果没有/mnt/sda3,可以使用mkdir /mnt/sda3创建。
然后看看loop0指向的是哪个目录,发现overlay在rom中,

然后把overlay的内容全部拷贝到sda3

然后umount /dev/sda3 。再用df -h看看挂载点,就没有/mnt/sda3

退出shell。来到路由器web界面:【系统】-【挂载点】-【添加】进入下面界面。选择1G的那块盘,挂载成overlay。这就扩容了。

图片[2]-OpenWrt扩容overlay并开启swap的教程 - 利剑分享-科技生活-利剑分享-科技生活

图片[3]-OpenWrt扩容overlay并开启swap的教程 - 利剑分享-科技生活-利剑分享-科技生活


原文地址:https://blog.csdn.net/misisippi68/article/details/105431455

本文摘自:https://wp.gxnas.com/9414.html,感谢原作者

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享