openwrt-storage-mount
Installation
SKILL.md
OpenWrt 块设备存储与挂载
先理解事件流与所有权(谁负责挂载),再动手。block-mount 已拥有挂载权;自定义 hotplug 脚本只做补充动作,绝不二次挂载。
Determine Task Type
- 配置自动挂载(fstab UCI + block 命令)—— 走 Workflow A。
- 写 hotplug 附加脚本(点灯/扫描/通知等补充动作)—— 走 Workflow B,先读 hotplug-flow。
- 选 kmod(USB 控制器/文件系统)—— read kmod-storage。
- 排查"插了盘没反应"—— 沿事件流逐段定位 → read hotplug-flow。
Prerequisites / Preflight
SSH 到设备逐项运行时核验:
- block 命令存在:
command -v block。fstools 在 DEFAULT_PACKAGES(include/target.mk L21-34),任何官方镜像都有/sbin/block。 - block-mount 是否已装:
opkg list-installed | grep block-mount或apk info -e block-mount(25.12 源码树 opkg/apk 两套并存,取决于构建配置USE_APK,config/Config-build.in L71)。nas 设备型默认含 block-mount(target.mk L44-48),router 型默认不含(L52-61)。 - USB 链路可见性:
ls /sys/class/block/、lsusb、dmesg | tail -20。 - 内核版本:
uname -r—— kmod 包版本必须与之精确匹配,跨版本模块拒绝加载。