在 Linux中我们经常用到U盘、SD卡的挂载问题,每次都手动挂载或卸载非常麻烦,我们可以采取以下方法实现自动挂载或卸载U盘、SD卡

1、首先在/etc/init.d/rsC中加入以下语句

echo /sbin/mdev > /proc/sys/kernel/hotplug

2、在/etc/下简历medv.conf的文件,包含以下内容

sd[a-z][0-9]      0:0 666        @(/etc/hotplug/insert.sh $MDEV $SUBSYSTEM)

sd[a-z]           0:0 666        $(/etc/hotplug/remove.sh $MDEV $SUBSYSTEM)

ub[a-z][0-9]      0:0 666        @(/etc/hotplug/insert.sh $MDEV $SUBSYSTEM)

ub[a-z]           0:0 666        $(/etc/hotplug/remove.sh $MDEV $SUBSYSTEM)

mmcblk[0-9]p[0-9] 0:0 666        @(/etc/hotplug/insert.sh $MDEV $SUBSYSTEM)

mmcblk[0-9]       0:0 666        $(/etc/hotplug/remove.sh $MDEV $SUBSYSTEM)

3、在/etc/下建立以下文件夹hotplug,并在hotplug目录下建立以下文件,包含以下内容

insert.sh:

if [ -n "$1" ] ; then

if [ -b /dev/$1 ]; then

if [ ! -d /media ]; then

mkdir -p /media

fi

if [ ! -d /media/$1 ]; then

mkdir -p /media/$1

fi

mount /dev/$1 /media/$1

if [ $? -ne 0 ]; then

rm -rf /media/$1

fi

fi

fi

remove.sh:

MOUNTS=$(mount | grep $1 | cut -d' ' -f3)

umount $MOUNTS

rm -rf $MOUNTS

插入U盘、SD等设备,即可在根目录的/media目录下建立相应的文件夹,挂载对用的磁盘文件

另外一篇相关文章/

mdev是busybox自带的一个简化版的udev

作用是在系统启动和热插拔 或动态加载驱动程序时,自动产生驱动程序所需的节点文件,在文件系统中的/dev目录下的设备节点都是由mdev创建的。

mdev扫描/sys/class和/sys/block中所有的类设备目录,如果在目录中含有名为"dev"的文件,且文件中包含的是设备号,则mdev就利用这些信息为这个设备在/dev下创建设备节点

u盘自动挂载功能实现步骤如下:

1、配置内核

a)配置内核支持热插拔:

#cd linux.2.6.21

#vi .config

CONFIG_KALLSYMS=y

CONFIG_HOTPLUG=y  //确保此项为y

CONFIG_PRINTK=y

CONFIG_NET=y  //确保此项为y

确保以上两项均设置为y,否则/proc/sys/kernel/目录下不会出现huotplug文件。

b)配置内核支持

#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

2、配置busybox

#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

3、添加对热插拔事件响应,实现u盘自动挂载与卸载

用法:

1. 执行mdev前要挂载 /sys

mount -t tmpfs mdev /dev

mount -t sysfs sysfs /sys

2.命令内核在增删设备时执行/sbin/mdev,使设备节点会被创建和删除

echo /sbin/mdev > /proc/sys/kernel/hotplug

3.设置mdev,让它在系统启动时创建所有的设备节点

mdev -s

关于热插拔:

需要内核中支持hotplug

编写mdev配置文件:/etc/mdev.conf

该文件的作用是:mdev在找到匹配设备时自动执行自定义命令

格式为:

: []

@ 创建节点后执行的

$ 删除节点前执行的

* 创建后和删除前都运行的

如自动挂载U盘和SD卡脚本:

sd[a-z][0-9]      0:0 0660 @/etc/hotplug/usb/udisk_insert

sd[a-z]              0:0 0660 $/etc/hotplug/usb/udisk_remove

mmcblk[0-9]p[0-9]   0:0 0660 @/etc/hotplug/sd/sd_insert

mmcblk[0-9]             0:0 0660 $/etc/hotplug/sd/sd_remove

当检测到类似sda1这样的设备时,执行/etc/hotplug/usb/里的脚本,脚本的内容就是挂载和卸载U盘。

udisk_insert

#!/bin/sh

if[ -p /sys/block/*/$MDEV]; then

if[ ! -f $MDEV ];then

mkdir -p /mnt/usb

mount /dev/$MDEV /mnt/usb

if[ -f /mnt/usb ];then

echo "mount usbdisk successfully!"

fi

fi

udisk_remove

#!/bin/sh

sync

umount -l /mnt/usb

rm -rf /mnt/usb

echo "remove your usbdisk safely!"

Udisk自动挂载脚本和卸载脚分别为:

#!/bin/sh

echo "this is $MDEV"

if [ -d /sys/block/$MDEV ] ; then

echo mount udisk to /mnt/udisk

mkdir -p /mnt/udisk

mount /dev/$MDEV /mnt/udisk -t vfat -o utf8=1

if [ -f /mnt/udisk ];then

echo "mount udisk successfully"

fi

fi

#!/bin/sh

echo remove udisk

umount -t /mnt/udisk

rm -rf /mnt/udisk

echo "remove your udisk safely!"

1.在使用busybox制作根文件系统的时候,选择支持mdev

Linux System Utilities ---> [*] mdev [*] Support /etc/mdev.conf

[*] Support command execution at device addition/removal

2.在文件系统添加如下内容

Vim /etc/init.d/rcS

mount -t tmpfs mdev /dev

mount -t sysfs sysfs /sys

mkdir /dev/pts

mount -t devpts devpts /dev/pts

echo /sbin/mdev>/proc/sys/kernel/hotplug

mdev –s

这些语句的添加在mdev的手册中可以找到。

3.添加对热插拔事件的响应,实现U盘和SD卡的自动挂载。

Vim /etc/mdev.conf

mmcblk[0-9]p[0-9] 0:0 666 @ /etc/sd_card_inserting

mmcblk[0-9] 0:0 666 $ /etc/sd_card_removing

sd[a-z] [0-9] 0:0 666 @ /etc/usb/usb_inserting

sd[a-z] 0:0 666 $ /etc/usb/usb_removing

红色部分,是一个脚本,脚本内容可以根据我们的需要定制,可以实现挂载,卸载或其他一些功能。

如下是自动挂载和卸载的脚本:

/etc/sd_card_inserting

#!/bin/sh

mount -t vfat /dev/mmcblk0p1 /mnt/sd

/etc/sd_card_removing         #!/bin/sh         sync         umount /mnt/sd

linux sd卡挂载脚本,Linux下实现U盘、SD卡自动挂载功能 .相关推荐

  1. linux sd卡挂载脚本,linux udev 自动挂载 SD卡/U盘

    本文记录使用udev自动挂载SD卡和U盘的方法. 添加udev规则 创建文件/etc/udev/rules.d/11-add-usb.rules # SD卡自动挂载 ACTION=="add ...

  2. linux一键电影网站脚本,Linux下HTML5播放器一键生成脚本

    原创内容,转载请注明出处: https://www.myzhenai.com.cn/post/2394.html https://www.myzhenai.com/thread-17969-1-1.h ...

  3. linux自动挂载usb光驱,Linux下使用Usbmount实现USB设备自动挂载

    Usbmount 工具可以实现usb设备得自动加/卸载. $ sudo apt-get install usbmount usbmount的配置文件为/etc/usbmount/usbmount.co ...

  4. linux自动挂载usb打印机,Linux下使用Usbmount实现USB设备自动挂载

    Usbmount 工具可以实现usb设备得自动加/卸载. $$ sudo apt-get install usbmount usbmount的配置文件为/etc/usbmount/usbmount.c ...

  5. linux系统制作macos启动,MacOS下制作启动盘

    MacOS下制作启动盘 Linux Linux系统直接用现成的工具,没有什么花头.推荐几个工具: Etcher UNetbootin dd命令 查U盘的标识simon@antergone:~$disk ...

  6. Linux关机运行的脚本,Linux关机时执行指定脚本功能实现

    1.关机时执行某个脚本的具体思路 (1)在文件夹/etc/init.d/下创建关机时需要执行的脚本file_name: (2)分别在文件夹/etc/rc0.d/和/etc/rc6.d/下创建该该脚本文 ...

  7. linux运维自动化脚本,linux运维自动化shell脚本小工具

    linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...

  8. linux关机前执行脚本,Linux关机时执行指定脚本

    要实现在Linux关机时执行某个脚本的具体思路 1.在文件夹 /etc/init.d/ 下创建关机时需要执行的脚本 file_name; 2.分别在文件夹 /etc/rc0.d/ 和 /etc/rc6 ...

  9. lunix remount u盘_linux下U盘、硬盘自动挂载

    在linux下,当用到硬盘的其他(与win共享的)分区时都要手动mount一下,是否有点麻烦!"上有政策下有对策",麻烦的事让电脑去做,别折腾自己啦! 方法如下: 对于硬盘-- 1 ...

最新文章

  1. WCF RIA 服务 (三十二)-- 身份验证、角色、个性化 3
  2. acess dao示例
  3. leetcode算法题--地图中的最高点
  4. Java中的三目运算符
  5. muduo学习笔记 日志类
  6. 重装系统后,快盘不能拷贝进文件的解决办法
  7. 吴恩达机器学习总结五:单变量线性回归实战
  8. 安装Hyper-v Server 2016
  9. Java锁synchronized关键字学习系列之CAS和对象头
  10. python音频 降噪_一种基于深度神经网络的音频降噪方法技术
  11. 谷歌联网断网都可以玩的恐龙小游戏(内容有不死加速挂)
  12. mysql rownum写法_mysql类似oracle rownum写法
  13. Unity3D陀螺仪的使用
  14. [4G5G专题-6]:架构 5G的八大组网方案
  15. 联想服务器光驱重新系统,如何使用联想VISTA恢复光盘安装系统
  16. 吴军《格局》读书笔记
  17. POJ.3281 dining 最大流+拆点
  18. 用C#WebClient+Server酱写一个监听网站通知的功能
  19. 数据库学习笔记2(补遗笔记1)
  20. 远程桌面访问计算机的步骤,如何开启远程桌面连接功能

热门文章

  1. Leetcode 496:下一个更大元素 I(超详细的解法!!!)
  2. 计算机的认识文档,认识计算机教案
  3. 操作系统中PV操作实现进程同步与互斥问题(以苹果橘子问题为例)
  4. 计算机主机红灯不闪硬盘工作,电脑开机后黑屏,硬盘和键盘指示灯不亮.主机无自检信息,该如何检修?...
  5. 网件公司M4100-D12G三层交换机,部分配置说明(3)
  6. 软件设计师笔记-----计算机网络
  7. Python测试Post请求
  8. MySQL的存储引擎及常用数据类型介绍
  9. Pdftoword:最精准的pdf to word文件转换器
  10. el-radio的disabled设置