udev 自動掛載U盤檔案系統指定目錄
嵌入式linux檔案系統中自動掛載U盤內的檔案系統
在海思嵌入式linux檔案系統中存在udev目錄及下屬檔案
/etc/udev # pwd
/etc/udev
/etc/udev # ls
disk-hotplug.sh rules.d usbdev-hotplug.sh
firmware.sh udev.conf
在rules.d 資料夾下有udev載入的規則檔案,其中11-usb-hotplug.rules 為U盤掛在檔案系統的規則檔案
/etc/udev/rules.d # pwd
/etc/udev/rules.d
/etc/udev/rules.d # ls
11-usb-hotplug.rules
50-firmware.rules
54-gphoto.rules
60-pcmcia.rules
75-cd-aliases-generator.rules.optional
75-persistent-net-generator.rules.optional
90-hal.rules
97-bluetooth-serial.rules
99-fuse.rules
device-mapper.rules
/etc/udev/rules.d #
檢視11-usb-hotplug.rules 中配置指令碼
#
# Create By Czy
#
KERNEL=="sd*", SUBSYSTEM=="block", RUN+="/etc/udev/disk-hotplug.sh"
KERNEL=="usbdev*", SUBSYSTEM=="usb_device", RUN+="/etc/udev/usbdev-hotplug.sh"
~
在我的系統中核心將U盤列舉為sda裝置,所以需要修改相應的udev/disk-hotplug.sh檔案
掛在檔案系統時,設想為如果有/dev/sda?的裝置插入,就預設掛載到/tmp/sda?相應目錄下:
U盤掛載修改內容:
1.vi udev/disk-hotplug.sh修改add_disk ()指令碼函式
ORG_NAME = /dev/sd[a-z] 或者 /dev/sda[a-z][0-9] 需要過濾sd[a-z]型別及/dev/字串字首 執行mount動作
如果/tmp/sd[a-z][0-9]目錄不存在需要,需要建立此掛載目錄
################################################################################
# new_name orgin_name
add_disk ()
{
local NEW_NAME=$1
local ORG_NAME=$2
if [ -e ${ORG_NAME} ]; then
cd /dev/; ln -sf ${ORG_NAME} ${NEW_NAME}; cd -
if echo ${ORG_NAME} | grep sd[a-z][0-9];then
if [ ! -d /tmp/${ORG_NAME##*/} ];then
mkdir -p /tmp/${ORG_NAME##*/}
fi
mount -t vfat ${ORG_NAME} /tmp/${ORG_NAME##*/}
fi
echo "${NEW_NAME} -> ${ORG_NAME}" > ${CONSOLE}
fi
}
################################################################################
U盤檔案系統解除安裝
1.修改hotplug_usb ()函式中removecase 新增"${DEVNAME}" 引數以方便解除安裝掛載目錄
case "${ACTION}" in
"add" )
add_disk "${NEW_NAME}" "${DEVNAME}"
;;
"remove" )
remove_disk "${NEW_NAME}" "${DEVNAME}"
;;
* )
echo "ACTION:${ACTION}" > ${CONSOLE}
2.修改remov_disk指令碼函式新增解除安裝動作程式碼
################################################################################
# new_name
remove_disk ()
{
local NEW_NAME=$1
local ORG_NAME=$2
if [ -L /dev/${NEW_NAME} ]; then
if echo ${ORG_NAME} | grep sd[a-z][0-9];then
if [ -d /tmp/${ORG_NAME##*/} ];then
umount /tmp/${ORG_NAME##*/}
rm /tmp/${ORG_NAME##*/} -rf
fi
fi
echo ${ORG_NAME} > ${CONSOLE}
rm -f /dev/${NEW_NAME}
fi
}
################################################################################
完成U盤檔案系統的在/tmp目錄下的自動掛載。
相關文章
- 自動掛載u盤到根目錄
- linux如何系統掛載u盤複製檔案Linux
- 使用SSHFS檔案系統遠端掛載目錄
- 48.Linux-普通U盤以及多分割槽U盤自動掛載Linux
- 指令碼實現U盤自動掛載(linux)指令碼Linux
- 解決無法自動掛載U盤問題
- RH131課文中自動掛載u盤的一道題目
- 使用 SSHFS 掛載遠端的 Linux 檔案系統及目錄Linux
- IIS虛擬目錄掛載檔案伺服器目錄伺服器
- Java 從指定URL下載檔案並儲存到指定目錄Java
- UDEV掛載EMC多路徑盤dev
- 製作u盤linux根檔案系統掛不上!(轉)Linux
- Linux製作系統啟動盤以及掛載和解除安裝U盤Linux
- CentOS 7下掛載NTFS檔案系統並實行開機自動掛載CentOS
- autofs服務動態自動掛載各種檔案系統(ZT)
- Linux檔案系統、目錄Linux
- 【Linux】檔案系統目錄Linux
- 掛載fat檔案系統
- AIX啟動自動載入檔案系統AI
- 檔案系統的掛載 與 非掛載
- iso檔案怎麼用u盤安裝系統 u盤pe安裝iso檔案方法教程
- 使用SSHFS檔案系統通過SSH遠端掛在目錄
- 刪除指定目錄下指定字尾的檔案
- 如何使用 SSHFS 通過 SSH 掛載遠端的 Linux 檔案系統或者目錄Linux
- Linux檔案系統-目錄和檔案管理Linux
- Linux 檔案系統的目錄Linux
- CentOS系統開機自動掛載光碟機 和 fstab檔案詳解CentOS
- 多系統盤掛載
- Linux:掛載外部U盤,移動資料Linux
- Linux(centos)手動掛載系統磁碟和自動掛載系統磁碟教程LinuxCentOS
- 【ZIP】打包過濾指定目錄和檔案
- win10系統使用U盤提示檔案或目錄損壞且無法讀取的解決方法Win10
- u盤安裝win10系統教程圖解 u盤重灌win10系統iso檔案教程Win10圖解
- Linux檔案系統目錄結構Linux
- Oracle RAC NFS掛載檔案系統OracleNFS
- macOS 下NFS 檔案系統掛載MacNFS
- linux 掛載xfs檔案系統Linux
- Linux掛載檔案系統(轉)Linux