原料:openwrt路由器(Newifi 2、极路由1s也可以)

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

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

opkg install kmod-sdhci kmod-sdhci-mt7620

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

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

opkg install block-mount kmod-fs-ext4 e2fsprogs fdiskblock info//查看sdcard信息

格式化sdcard为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

查看挂在信息:


root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 2.5M      2.5M         0 100% /rom
tmpfs                    61.0M      4.6M     56.4M   8% /tmp
/dev/mmcblk0p1          975.9M     39.4M    869.3M   4% /overlay
overlayfs:/overlay      975.9M     39.4M    869.3M   4% /
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/mmcblk0p2          893.5M      2.3M    829.0M   0% /sdcard
root@OpenWrt:~#

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

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

over的简介

/overlay 是什么意思呢?

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

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

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

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

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

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

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

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

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

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

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

openwrt路由器挂载sdcard为overlay相关推荐

  1. Openwrt路由器挂载摄像头教程

    Openwrt路由器挂载摄像头教程 Openwrt可以做的事情很多:VPN.离线下载.VLAN.无线中继.多拨,等等.因为比较折腾,所以适合喜欢钻研,知道怎么找资料,并且对Linux较熟悉的人使用.一 ...

  2. 2015年OpenWRT路由器挂载RT3070 USB无线网卡

    RT3070 USB无线网卡挂载需要自己手动添加的组件和驱动如下: 添加的组件: kmod-usb-ohci kmod-usb-storage kmod-usb-wdm kmod-usb2 无线驱动: ...

  3. openwrt路由器(RP-LINK)安装python并设置开机启动程序

    由于项目需求+实际条件限制,需要在某台设备上运行一个python小程序,在工业机器人和云服务器之间实现信息转发的功能.因为机器人也需要通过路由器认证连接校园网,出于简化设备的考虑(不想每次跑程序还得开 ...

  4. OpenWrt自动挂载sd卡

    OpenWrt自动挂载sd卡 我们在编译的时候经常会遇到flash不够用的问题,怎么解决呢?可以通过挂载usb或者sd卡解决问题.在此介绍一下openwrt挂载sd卡. 1. 安装sd卡的驱动以及相关 ...

  5. 用ImageBuilder定制自己的openwrt路由器

    用ImageBuilder定制自己的openwrt路由器 有三种方法编译openwrt定制固件. 1. 用ImageBuilder编译,用于灵活选择package.毕竟压缩的只读文件系统squashf ...

  6. openwrt路由器进入安全模式

    openwrt路由器型号:WNDR3800 一.实验背景 在pc机上通过xshell软件登录openwrt路由器,pc机通过网线与openwrt路由器的LAN接口相连.openwrt路由器自带两块无线 ...

  7. openwrt路由器接华为E3372(E8372)网卡实现4G转有线和WIFI

    Hilink 在openwrt系统中安装kmod-usb-net-rndis kmod-usb-net kmod-usb2 usb-modeswitch kmod-usb-net-cdc-ether. ...

  8. 手把手教你玩转OpenWRT路由器系统,视频教程合集

    手把手教你玩转OpenWRT路由器系统,视频教程合集 以NewifiD2(新三)路由器为基础,录制了OpenWRT系列视频教程,欢迎观看. <[视频教程]手把手教你用虚拟机安装ubuntu操作系 ...

  9. OpenWrt路由器macvlan单线多拨的方法

    之前写过一篇文章<OpwnWrt 路由器MWAN3多线多拨实现方法>,介绍了如何在具备多根入室宽带网线的情况下实现网络带宽的叠加.多线多拨一般应用在多个不同运营商线路的负载均衡场景中,那么 ...

  10. Mesh(802.11s)组网 — 基于OpenWRT路由器

    一.mesh网络 1.mesh网络拓补图 2.介绍 二.OpenWRT路由器Mesh网络配置 1.准备阶段           说明:本次测试用2台单WiFi路由器作为测试,wifi用于组建Mesh网 ...

最新文章

  1. Linux DHCP服务搭建
  2. urlencode urldecode
  3. 计算机应用基础电子毕业考试,计算机应用基础-上海电子信息职业技术学院.PDF...
  4. proteus三输入与非门名字_Proteus仿真库元件名大全
  5. Java9发布回顾Java 8的十大新特性
  6. MyEclipse使用总结——修改MyEclipse默认的Servlet和jsp代码模板
  7. ei会议论文录用但不参加会议_会议论文投稿可以不参会吗
  8. java判断题_【Java判断题】请大神们进来看下、这些判断题你都知道多少~
  9. arm B和BL指令浅析
  10. pthread_join()函数理解
  11. Python Hello World入门 - Python零基础入门教程
  12. CV Code|计算机视觉开源周报20200501期
  13. lintcode :Count and Say 报数
  14. 短信开发系列(二):GSM手机短信开发之短信解码
  15. OpenGL超级宝典第7版 配置环境第一个程序
  16. STM32—驱动GY85-IMU模块
  17. RGB颜色值与十六进制颜色码转换及颜色码对照表
  18. ListFields
  19. mb是做1还是0_新手爸妈看过来:0-1岁宝宝这样做早教,省钱省心又实用
  20. c语言常量指数的正确表示,c语言常量的正确表示方法有哪些

热门文章

  1. java基础开发试题_Java应用开发基础-中国大学mooc-试题题目及答案
  2. Python入门习题(64)——OpenJudge百练习题:最长单词
  3. 《Understanding WiFi Signal Frequency Features for Position-Independent Gesture Sensing》论文总结
  4. 移动开发平台WorkPlus | 快速实现企业移动应用集成化
  5. 魔兽世界服务端源码各个重要文件详细情况说明开服一条龙
  6. AD9的pcb 里面怎样才能从TOP层视图换成从BOTTOM层网上面看,相当于把板子翻过来看
  7. 大陆地区OpenStack项目Core现状(截至2016年1月28日,转载自陈沙克日志)
  8. matlab定义struck,Peter Struck
  9. java独行风格 行尾_JAVA的特点
  10. Tableau实战 Tableau官网各版块访问情况(一)总访问量树状图