Ⅰ 各位大牛,嵌入式linux下怎麼獲取U盤的名字
具體的操作過程如下: 1.接入usb設備,然後運行命令:devlabel add -d /dev/sda1 -s /dev/usbdevice (--automount 可去掉!) /dev/sda1是usb設備名稱,具體可以用fdisk -l查看,如果fdisk不能顯示,可以用一個萬能的方法: (#表示0,1,2,3....) 檢測/pr...
Ⅱ 怎麼自動掛載u盤 ntfs 嵌入式linux ntfs-3g
具體的操作過程如下:
1.接入設備,然後運行命令:devlabel add -d /dev/sda1 -s /dev/usbdevice (--automount 可去掉!)
/dev/sda1是usb設備名稱,具體可以用fdisk -l查看,如果fdisk不能顯示,可以用一個萬能的方法: (#表示0,1,2,3....)
檢測/proc/scsi/usb-storage-#是否存在;
如果存在,檢測/proc/scsi/usb-storage-#/#是否存在;
如果存在,檢查文件/proc/scsi/usb-storage-#/#中最後一行Attach:是否是YES;
如果是YES,那麼 0 = sda, 1=sdb, 2=sdc ;
/dev/usbdevice是要使用的用戶定義的設備名稱,這個可以放在任意的目錄中,名字大家自己定
automount指定:在 devlabel 重新啟動時,如果 /etc/fstab 中有這個設備項目而且這個設備項目存在(找到了帶有同一 UUID 的設備),那麼就自動掛載這個項目。
2.建一個目錄/mnt/usb
3.打開/etc/fstab,在裡面添加一行:/dev/usbdevice /mnt/usb auto noauto,owner 0 0
這時就OK了,以後插入usb存儲設備時就會自動掛載到/mnt/usb目錄下了(前提是要有這個目錄)
解決思想:當某個 USB 設備被插入,hotplug 就會運行 updfstab 程序。如果這個usb貯存設備存在,該程序會為它在 /etc/fstab 中添加一項記錄。所添加的這一行包含實際設備名稱(如 /dev/sda1)和 kudzu 選項。kudzu 選項通知 Kudzu工具如果設備不存在就刪除這一行。因為這一行是 devlabel 所需的,你必須刪除 kudzu 選項才能使這一行被保留在文件內。你還需把設備名稱改成 devlabel 設備名稱(如 /dev/usbdevice),並創建掛載點(如 /mnt/usb)。
所以修改後的就是上面的第3步.
最後,還有一種最最簡單的方法,也是我現在使用的方法哈:
可以直接打開/etc/hotplug/usb.agent ,在裡面找到"add)",在其中的
if [ -x /sbin/devlabel ]; then
/sbin/devlabel restart
fi
後面加上
[ -x /usr/sbin/udisk ]&& /usr/sbin/udisk
其中udisk是一個簡單的掛載腳本:
#! /bin/sh
mount|grep /mnt/usb
if [ "$?" = "0" ]; then
umount /mnt/usb
rmdir /mnt/usb
else
mkdir /mnt/usb
mount /dev/sda1 /mnt/usb
fi
這樣做的目的是:當usb設備接入時,hotplug程序就會自動運行,在運行腳本中加入一個掛載腳本,不就一切OK了么~~
不過上面的討論都只能用於掛載,卸載還是必須用umount(選第3種辦法的直接打udisk),這是同WIN一樣的.