热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

(转载)OpenWrt下把SD卡挂载到/overlay,扩大软件空间

在wall内外搜索无数文章,唯有这篇文章能够看得懂并奏效,感谢作者。原文地址:https:blog.samnya.cnmount-sd-c

在wall内外搜索无数文章,唯有这篇文章能够看得懂并奏效,感谢作者。

 

原文地址:https://blog.samnya.cn/mount-sd-card-to-overlay-on-openwrt/  作者:Sam喵

 

原料:Newifi D1(Newifi 2)一台

这个机子自带了一个 Micro SD 插槽,刷了 OpenWrt 之后一直没怎么用到。闲着来折腾一下把 Micro SD 卡挂载到 /overlay 分区,增加内部可用的空间。

 

参照 openwet 官方 wiki 上的 exroot 教程,我们要做以下的步骤:

 

首先要使用 Micro SD 卡槽,需要安装以下两个内核模块:

opkg install kmod-sdhci kmod-sdhci-mt7620

 

接下来在 /dev 下应该可以看到有 mmcblk0 的文件了,那就是我们的 Micro SD。

 

然后再安装一些文件系统相关的软件包。

opkg install block-mount kmod-fs-ext4 e2fsprogs fdisk

 

这个时候输入

block info

应该可以看到你的 SD 卡信息。

 

这里我们把 SD 卡格式化成 ext4 格式。

mkfs.ext4 /dev/mmcblk0p1

 

 接下来,转移现有的文件到 SD 卡上。不知道 OpenWrt 中 / 目录和 /overlay 目录的意义的可以看后面。

mount /dev/mmcblk0p1 /mnt ; tar -C /overlay -cvf - . | tar -C /mnt -xf - ; umount /mnt

稍等一会,文件就复制完成了。

 

接下来要创建 mmcblk0p1 的挂载配置,全自动可以使用以下命令

block detect > /etc/config/fstab; \sed -i s/option$'\t'enabled$'\t'\'0\'/option$'\t'enabled$'\t'\'1\'/ /etc/config/fstab; \sed -i s#/mnt/mmcblk0p1#/overlay# /etc/config/fstab; \cat /etc/config/fstab;

 

这样子就可以完成挂载点的设置。

 

于是现在来实际把 mmcblk0p1 挂载到 /overlay 上

mount /dev/mmcblk0p1 /overlay

 

查看一下挂载后的效果

 

df

1

2

3

4

5

6

7

8

root@OpenWrt:/dev# df

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/root                 2560      2560         0 100% /rom

tmpfs                   126944      1308    125636   1% /tmp

/dev/mtdblock6         3756448     31236   3514680   1% /overlay

overlayfs:/overlay       28224      7976     20248  28% /

tmpfs                      512         0       512   0% /dev

/dev/mmcblk0p1         3756448     31236   3514680   1% /overlay

现在可以看到,/overlay 的空间已经增加了。

这时候就可以重启你的路由器了,看看是否成功自动挂载。

OpenWrt Software Page

看,这时候想安装什么软件都可以了。

 

附录

/overlay 是什么意思呢?

OpenWRT 一般使用的文件系统是 SquashFS ,这个文件系统的特点就是:只读。

那,一个只读的文件系统,是怎么做到保存设置和安装软件的呢?

这里就是使用一个 /overlay 的分区,overlay顾名思义就是覆盖在上面一层的意思。

虽然原来的文件不能修改,但我们把修改的部分放在 overlay 分区上,然后映射到原来的位置,读取的时候就可以读到我们修改过的文件了。

 

但为什么要用这么复杂的方法呢? OpenWRT 当然也可以使用 EXT4 文件系统,但使用 SquashFS + overlay 的方式有一定的优点。

首先 SquashFS 是经过压缩的,在路由器这种小型 ROM 的设备可以放下更多的东西。

然后 OpenWRT 的恢复出厂设置也要依赖于这个方式。在你捅 Reset 重置的时候,它只需要把 overlay 分区清空就可以了,一切都回到了刚刷进去的样子。

如果是 EXT4 文件系统,就只能够备份每个修改的文件,在恢复出厂设置的时候复制回来,十分复杂。

 

当然,SquashFS + overlay 也有它的缺点,修改文件的时候会占用更多的空间。

首先你不能够删除文件,因为删除文件实际上是在 overlay 分区中写入一个删除的标识,反而占用更多的空间。

另外在修改文件的时候相当于增加了一份文件的副本,占用了双份的空间。


推荐阅读
  • HSRP热备份路由器协议的应用及配置
    本文介绍了HSRP热备份路由器协议的应用及配置方法,包括设计目标、工作原理、配置命令等。通过HSRP协议,可以实现在主动路由器故障时自动切换到备份路由器,保证网络连通性。此外,还介绍了R1和R2路由器的配置方法以及Sw1和Sw2交换机的配置方法,最后还介绍了测试连通性和路由追踪的方法。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
author-avatar
Watts
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有