首页 新闻 会员 周边 捐助

Linux3.9的内核,如何使用脚本自动检测U盘的插入,实现U盘的自动挂载?

0
[已解决问题] 解决于 2017-10-24 10:46

现已知2.6版本的内核使用的是udev的方式,检测U盘等设备。3.9的内核是否还支持udev的方式,需要什么版本的udev?

一枚小苦工的主页 一枚小苦工 | 初学一级 | 园豆:200
提问于:2017-10-23 13:26
< >
分享
最佳答案
0

第一次搞shell,好难过………………

 

平台:Linux 3.9.0

一、

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

二、修改、etc\mdev.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)

三、在/etc路径下创建目录 hotplug,/etc/hotplug路径下,存放两个脚本insert.sh,remove.sh

四、insert.sh内容

#!/bin/bash
echo "Insert*****************" > /dev/console
if [ -n "$1" ] ; then
if [ -b /dev/$1 ]; then
mkdir -p /media/$1
mount /dev/$1 /media/$1
chmod -R 777 /media/$1
/media/$1/hello > /dev/console #helloworld
if [ $? -ne 0 ]; then
echo "err" > /home/err
umount -l /media/$1
fi
fi
fi

五、remove.sh内容

echo "Remove" > /dev/console

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

 

总结:

1、脚本中想向控制台输出信息 > /dev/console。前期可能已经得到想要的结果了,但没有在控制台上看到输出结果,所以以为没有成功,很纠结

2、在脚本中 cd改变路径,并不会影响当前控制台的路径,脚本执行是单开一个控制台来执行脚本的

 

用途:ARM中写好脚本,可以执行U盘中的程序,获取ARM信息、升级程序、应急恢复产品等

结贴了,有其他想法的朋友,请留言。

感谢原作者:http://blog.csdn.net/hktkfly6/article/details/23390987

 

一枚小苦工 | 初学一级 |园豆:200 | 2017-10-24 10:44
其他回答(1)
0

在虚拟机里面装吧

ycyzharry | 园豆:25683 (高人七级) | 2017-10-23 14:12

ARM

支持(0) 反对(0) 一枚小苦工 | 园豆:200 (初学一级) | 2017-10-23 14:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册