linux u盘分区 mdev 卸载问题,迅为开发板最小Linux自动挂载TF卡/U盘等存储设备
原标题:迅为开发板最小Linux自动挂载TF卡/U盘等存储设备
本文转自迅为论坛:http://www.topeetboard.com
通过 mdev 工具实现 U 盘和 SD/TF 卡的自动挂载步骤如下:
一、配置内核
配置内核支持 USB大容量存储
(1)先覆盖缺省文件
cp config_for_linux_scp_elite .config
(2)#make menuconfig
选择 Device Drivers -->
USB support -->
Support for Host-side USB
OHIC HCD support
UHCI HCD (most Intel and VIA) support
SL811HS HCD support
USB Mass Storage support
选择完成后保存退出。
(3)接着开启内核热插拔,在内核根目录下的.config 文件中添加如下内容:
#vim .config
CONFIG_KALLSYMS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_NET=y
保存退出,执行 make 命令生成 zImage 系统镜像。
二、配置 busybox
在系统编程文档的第二章中已经提供了搭建支持最小 Linux 的过程,这里就不过多解释说
明。在这里我们我们只给出支持 usb 热插拔的相关配置。
(1)#make menuconfig
选择 Linux System Utilities --->
[*]mdev
[*] Support /etc/mdev.conf
[*] Support subdirs/symlinks
[*] Support regular expressions substitutions when
renaming device
[*] Support command execution at device
addition/removal
[*] Support loading of firmwares
保存退出,参照系统编程文档第二章使用命令编译生成 system.img 系统镜像。
三、添加对热插拔事件响应,实现 U 盘自动挂载与卸载
将编译好的 system.img 和 zImage 镜像连同 u-boot-iTOP-4412.bin、ramdisk-uboot.img烧写至开发板。
(1)创建 mdev.conf 文件:
vi /etc/mdev.conf
写入:
sd[a-z][0-9] 0:0 666 @/etc/hotplug/usb/udisk_insert
sd[a-z] 0:0 666 $/etc/hotplug/usb/udisk_remove
(2)创建 udisk_insert 文件
mkdir -p /etc/hotplug/usb
vi /etc/hotplug/usb/udisk_insert
写入:
#!/bin/sh
echo "usbdisk insert!" > /dev/console
if [ -e "/dev/$MDEV" ] ; then
mkdir -p /mnt/usbdisk/$MDEV
mount /dev/$MDEV /mnt/usbdisk/$MDEV
Fi
(3)创建 udisk_remove 文件
vi /etc/hotplug/usb/udisk_remove
写入:
#!/bin/sh
echo "usbdisk remove!" > /dev/console
umount -l /mnt/usbdisk/sd*
rm -rf /mnt/usbdisk/sd*
(4)修改脚本权限
chmod 755 /etc/hotplug/usb/*
如下图所示插上 U 盘,此时就可以看到/mnt 目录下多了个 usbdisk 文件夹。
进入到 usbdisk 文件夹,看到 sda1 文件夹。说明我们已经成功将 U 盘挂载到开发板的
/mnt/usbdisk 下的 sda1 目录。拔掉 U 盘就可以看到 sda1 目录消失。
四、实现 SD/TF 卡的自动挂载
(1)在 mdev.conf 添加如下内容:
vi /etc/mdev.conf
写入:
mmcblk1p[0-9] 0:0 666 @/etc/hotplug/sd/sd_insert
mmcblk1 0:0 666 $/etc/hotplug/sd/sd_remove
(2)创建 sd_insert 文件
mkdir -p /etc/hotplug/sd
vi /etc/hotplug/sd/sd_insert
写入:
#!/bin/sh
echo "sd card insert!" > /dev/console
if [ -e "/dev/$MDEV" ]; then
mkdir -p /mnt/sdcard/sd
mount -rw /dev/$MDEV /mnt/sdcard/sd
Fi
(3)创建 sd_remove 文件
vi /etc/hotplug/sd/sd_remove
写入:
#!/bin/sh
echo "sd card remove!" > /dev/console
umount -l /mnt/sdcard/sd*
rm -rf /mnt/sdcard/sd*
(5)修改脚本权限
chmod 755 /etc/hotplug/sd/*
如下图所示,插上 TF/SD 卡,此时就可以看到/mnt目录下多了个 sdcard 文件夹。
进入到 sdcard 文件夹,就可以看到我们 TF 卡中的文件以及目录。说明我们已经成功将
TF 卡挂载到开发板的/mnt/sdcard 下的 sd*目录。退出当前目录,拔掉 TF 卡就可以看目录消
失(不退出当前目录就拔掉 TF 卡可能会造成系统重启)。返回搜狐,查看更多
责任编辑:
linux u盘分区 mdev 卸载问题,迅为开发板最小Linux自动挂载TF卡/U盘等存储设备相关推荐
- linux sd卡挂载脚本,linux udev 自动挂载 SD卡/U盘
本文记录使用udev自动挂载SD卡和U盘的方法. 添加udev规则 创建文件/etc/udev/rules.d/11-add-usb.rules # SD卡自动挂载 ACTION=="add ...
- linux u盘分区 mdev 卸载问题,嵌入式linux 实现mdev SD卡和U盘自动挂载和卸载的方法 mdev.conf...
首先先参考这些博客做一些了解:http://linux.chinaunix.net/techdoc/install/2009/11/18/1144936.shtml http://www.cnblog ...
- linux自动挂载win共享,在Deepin系统下实现开机自动挂载Windows系统共享盘的方法
所要实现的目标:开机自动挂载Windows系统共享盘,所采用的操作系统:Deepin Linux.关于开机挂载网盘并不好,如果没有网络会卡住的问题,经过测试,下面介绍的方法及时是断网了也没有卡住. 前 ...
- 迅为开发板4412开发板-ANROID系统的烧写方法分享
详情了解: http://topeetboard.com 更多了解:https://arm-board.taobao.com 一.OTG接口烧写方式 通过该方式可以烧写 Android4.0.3 ...
- linux内核移植与开发板,Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解
Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解 [复制链接] 今天终于让Linux内核在飞凌的板子上跑起来了,想来也是艰辛,为了移植成功,断断续续做了将近两个月的努力,期间郁闷不可 ...
- Linux系统移植:原厂 Kernel 移植到开发板
文章目录 Linux系统移植:原厂 Kernel 移植到开发板 一.获取原厂内核并编译 二.内核启动测试 三.添加自己板子文件 3.1 板子配置文件 3.2 板子设备树 3.3 编译 四.重要配置修改 ...
- 烧录imx6需要的linux空间,IMX6Q学习笔记——开发板的Linux系统更新和烧录
IMX6Q学习笔记--开发板的Linux系统更新和烧录 记录自己在电鱼电子开发SAIL-IMX6Q全能板后,并且对系统和模块进行简单测试的过程之后对开发板的Linux系统进行更新和烧录的记录过程,算是 ...
- 支持4k输出的linux开发板,Linux 5.12率先开始支持SiFive的RISC-V FU740开发板
原标题:Linux 5.12率先开始支持SiFive的RISC-V FU740开发板 来源:cnBeta.COM Linux 5.12合并窗口在本周末即将结束,而今早送来的是RISC-V的更新,这足以 ...
- 电脑向linux板卡传文件,ARM 开发板嵌入式linux系统与主机PC通过串口传输文件
ARM 开发板嵌入式linux系统与主机PC通过串口传输文件 本来以为按以下两篇文章就可以几步轻松搞定这个问题,没想到遇到两个小麻烦: 1,我用的xp虚拟机下redhat9.0做主机,按照下面第一篇文 ...
最新文章
- MATLAB【十四】————遍历三层文件夹操作
- 51Nod 1003 阶乘后面0的数量(数学,思维题)
- jedate-开始使用一款好用的时间插件
- 积分梯度:一种新颖的神经网络可视化方法
- C++总结篇(2)类和对象
- 数据结构 排序 java_Java数据结构之排序---选择排序
- leetcode - 617. 合并二叉树
- Xcode 4 with External Static Library for iPhone Development
- 低压电力采集平台DW710C与PC沟通
- java连接sqlserver非默认实例连接字符串设置
- 区块链: 编译发布智能合约
- [导入]DataTable的排序、检索、合并
- 通信工程专业高级工程师职称申报经验分享
- 跨境电商如何服务客户
- python 实现一个属于自己的语音播报器
- linux系统实训总结报告,《linux操作系统实训》总结报告 - 图文
- 转:人生有三重境界:看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水...
- python的数据类型分为复数_Python的基本数据类型
- 【0基础入门课程】实战入门柿饼UI,带你实现动感汽车仪表盘、APP Store等
- 【MySQL 8.0 OCP 1Z0-908认证考试】题库精讲--第三讲mysql8.0安装配置升级(下)
热门文章
- Android 6.0(棉花糖)新特性
- 分形--Cantor三分集
- 了解RO、RW、ZI和.text .bss .data
- TI AWR1642BOOST-ODS EVM开发板入门
- python报错: arry[i] = t IndexError: list assignment index out of range
- 金属与氧气、酸的反应
- 一文看懂 DDD(领域驱动设计)、CQRS和Event Souring与分层架构
- arXiv,30 岁生日快乐!它的诞生,始于一个​被塞满的邮箱
- 「实时视频流分析的边缘计算技术」最新2022研究综述
- Exchange Server 2010邮件撤回条件说明