嵌入式Linux操作系统移植IMX6开发板之实现USB 自动挂载
學習交流加
- 個人qq:
1126137994 - 個人微信:
liu1126137994 - 學習交流資源分享qq群:
962535112
本篇文章講述如何實現USB自動掛載,U盤即插即用,不用手動掛載的方法,以及給出U盤自動掛載的原理。
目前做的IMX6開發板,移植Linux系統,源碼(linux內核為3.0.35)由廠家提供(后面會提供內核,uboot,文件系統源碼)。主要功能是實現機器人控制器與示教器一體的功能。
一.首先給出我在 IMX6開發板實現的USB自動掛載的方法(不局限于具體開發板):
-USB的自動掛載:
1、在/etc/udev/rules.d目錄里面創建11-usb-mount.rules,
11-usb-mount.rules里面的內容如下:
2、 在/sbin/目錄里創建mount-usb.sh腳本文件
mount-usb.sh的內容如下:
重啟下即可在linux上實現自動掛載,u盤自動掛載到/udisk目錄里
-USB的自動卸載:
1、在/etc/udev/rules.d目錄里面創建11-usb-umount.rules,內容如下:
2、在/sbin/目錄里創建umount-usb.sh腳本文件
umount-usb.sh的內容如下:#!/bin/sh/bin/umount /udisksync通過上面的方法,親測有效,可以實現U盤的自動掛載。
二 分析一下U盤自動掛載的簡單原理
拿jz2440開發板中的led驅動程序做例子:
Busybox中的mdev.conf
在mdev.txt中有說明文檔:
mdev.conf的格式:
device regex:正則表達式,表示哪一個設備
uid: owner
gid: 組ID
octal permissions:以八進制表示的屬性
@:創建設備節點之后執行命令
$:刪除設備節點之前執行命令
*: 創建設備節點之后 和 刪除設備節點之前 執行命令
command:要執行的命令
表2.常用的限定符
代碼/語法 說明
- 重復零次或更多次
- 重復一次或更多次
? 重復零次或一次
{n} 重復n次
{n,} 重復n次或更多次
{n,m} 重復n到m次
寫mdev.conf
方法1.
leds 0:0 777 led1 0:0 777 led2 0:0 777 led3 0:0 777方法2.
leds?[123]? 0:0 777方法3.
leds?[123]? 0:0 777 @ echo create /dev/$MDEV > /dev/console方法4.
leds?[123]? 0:0 777 * if [ $ACTION = "add" ]; then echo create /dev/$MDEV > /dev/console; else echo remove /dev/$MDEV > /dev/console; fi方法5.
leds?[123]? 0:0 777 * /bin/add_remove_led.sh (這是要寫入mdev.conf的配置)把命令寫入一個腳本(最后需要添加執行權限,chmod + x add_remove_led.sh):
add_remove_led.sh
6 .
U盤自動加載(放到/etc/mdev.conf里面的)
想獲得各種學習資源以及交流學習的加我(有我博客中寫的代碼的原稿):
qq:1126137994
微信:liu1126137994
可以共同交流關于嵌入式,操作系統,C++語言,C語言,數據結構等技術問題。
總結
以上是生活随笔為你收集整理的嵌入式Linux操作系统移植IMX6开发板之实现USB 自动挂载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: T(n) = 25T(n/5)+n^2的
- 下一篇: 【移植Linux 3.4.2内核第二步】