openwrt 把sd卡
时间: 2025-01-02 08:34:40 浏览: 8
### 配置和使用 SD 卡
#### 扩展存储空间至 `/overlay`
为了使 OpenWrt 能够利用额外的存储设备,可以将 Micro SD 卡挂载到 `/overlay` 来扩展系统的可写入区域。这一步骤能够显著提升系统内可用的空间量[^1]。
```bash
block detect > /etc/config/fstab
uci set fstab.@mount[-1].target='/overlay'
uci commit fstab
reboot
```
上述命令序列会自动生成适合当前环境的 `fstab` 文件,并设置新的挂载点为目标路径 `/overlay`;最后保存更改并重启路由器应用这些修改。
#### 开启SD卡支持
对于某些硬件平台而言,在启动过程中默认可能不会激活内置或外接的 SD 卡控制器。因此需要编辑设备树(DTS)文件以确保 SD 控制器被正确初始化:
```diff
&sdhci {
status = "okay";
mediatek,cd-low;
};
```
这段 DTS 片段表明应启用指定名称下的 SD 主控单元,并调整其属性以便更好地适应特定应用场景的需求[^3]。
#### 实现开机自动挂载功能
为了让 SD 卡能够在每次启动时都自动挂载而不必手动干预,可以在 `/etc/rc.local` 文件中加入相应的挂载指令之前的位置添加如下代码片段:
```sh
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
#
mkdir -p /mnt/sdcard
mount /dev/mmcblk0p1 /mnt/sdcard
exit 0
```
此脚本会在系统完成基本引导过程后创建目标目录并与实际物理分区关联起来,从而达到自动化管理的目的[^2]。
#### 设置 Extroot 功能
如果希望进一步优化数据读取效率以及简化后续维护工作,则可以通过配置 extroot 将整个根文件系统迁移到外部介质上去。具体操作涉及对现有配置项进行适当调整:
```bash
DEVICE="$(awk '$2=="/overlay"{print $1}' /proc/mounts)"
uci del fstab.rwm
uci add fstab mount
uci set fstab.@mount[-1]=mount
uci set fstab.@mount[-1].device="$DEVICE"
uci set fstab.@mount[-1].target="/rom"
uci commit fstab
reboot
```
通过以上步骤,不仅实现了 SD 卡作为附加存储的作用,还增强了整体性能表现,使得基于 OpenWrt 的网络设备具备更强的数据处理能力[^4]。
阅读全文