linux u盘分区 mdev 卸载问题,迅为开发板最小Linux自动挂载TF卡/U盘等存储设备

原标题:迅为开发板最小Linux自动挂载TF卡/U盘等存储设备

本文转自迅为论坛:http://www.topeetboard.com

78c839fa1cc04b5db3f8499781545d1a.png

通过 mdev 工具实现 U 盘和 SD/TF 卡的自动挂载步骤如下:

一、配置内核

配置内核支持 USB大容量存储

(1)先覆盖缺省文件

cp config_for_linux_scp_elite .config

4fb0c59ca7b0c652ec471fc34c0ffa28.png

(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

c0128df37bfdaf9b02fb66781f2077c8.png

保存退出,执行 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 文件夹。

e14fa910e41b9120ec4a100bf8423f0c.png

进入到 usbdisk 文件夹,看到 sda1 文件夹。说明我们已经成功将 U 盘挂载到开发板的

/mnt/usbdisk 下的 sda1 目录。拔掉 U 盘就可以看到 sda1 目录消失。

ae7d85e4e2a7909c09d17528b4db7b8a.png

四、实现 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 文件夹。

4617ed5c22bef88e1061ec96dfb31507.png

进入到 sdcard 文件夹,就可以看到我们 TF 卡中的文件以及目录。说明我们已经成功将

TF 卡挂载到开发板的/mnt/sdcard 下的 sd*目录。退出当前目录,拔掉 TF 卡就可以看目录消

失(不退出当前目录就拔掉 TF 卡可能会造成系统重启)。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值