亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
123下一頁
最近訪問板塊 發(fā)新帖
查看: 19408 | 回復: 24
打印 上一主題 下一主題

usb自動掛載怎么做? [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-08-15 09:45 |只看該作者 |倒序瀏覽
想讓u盤插上自動掛載到系統(tǒng)的一個目錄,請問怎么做?

論壇徽章:
0
2 [報告]
發(fā)表于 2008-08-15 10:11 |只看該作者
把掛載命令寫到啟動腳本上面去

論壇徽章:
0
3 [報告]
發(fā)表于 2008-08-15 10:18 |只看該作者

回復 #2 sep 的帖子

這個好像只能在啟動時才有效!

論壇徽章:
0
4 [報告]
發(fā)表于 2008-08-15 10:22 |只看該作者
原帖由 rodgerluo 于 2008-8-15 10:18 發(fā)表
這個好像只能在啟動時才有效!

恩。我誤會他的意思了
事實上,我現(xiàn)在用的ubuntu系統(tǒng)都是自動掛載u盤的
估計其實現(xiàn)脫離不了udev、還有內(nèi)核選項配置里的automount

評分

參與人數(shù) 1可用積分 +15 收起 理由
bitmilong + 15 鼓勵回貼

查看全部評分

論壇徽章:
0
5 [報告]
發(fā)表于 2008-08-15 11:01 |只看該作者
事實上確實是這么做的。

論壇徽章:
0
6 [報告]
發(fā)表于 2008-08-15 11:09 |只看該作者
恩,又學一招兒~ 把mount ...寫進linuxrc

論壇徽章:
0
7 [報告]
發(fā)表于 2008-08-15 11:16 |只看該作者
如果在嵌入式系統(tǒng)里做USB熱插拔/自動掛載的話,稍微麻煩一些,我自己做的方法是使用NETLINK SOCKET來獲得內(nèi)核的設備熱插拔信息,然后解析buf里以及df輸出的信息,并執(zhí)行相應的掛載/卸載的腳本?梢宰龅阶詣觽蓽y掛載的usb設備名,設備數(shù)量,分區(qū)類型等,并自動建立對應的設備名的目錄,將該設備掛載到對應的目錄下。比如說我的手機插上時識別到兩個分區(qū),/dev/sda, /dev/sdb1,自動掛載到/mnt/sda, /mnt/sdb1。前提是內(nèi)核里在熱插拔的時候自動加載USB的驅(qū)動。

[ 本帖最后由 pilgrim_kevin 于 2008-8-15 11:19 編輯 ]

評分

參與人數(shù) 1可用積分 +15 收起 理由
bitmilong + 15 鼓勵回貼

查看全部評分

論壇徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵節(jié)徽章
日期:2015-03-06 15:50:392015亞冠之大阪鋼巴
日期:2015-06-12 16:01:352015年中國系統(tǒng)架構師大會
日期:2015-06-29 16:11:2815-16賽季CBA聯(lián)賽之四川
日期:2018-12-17 14:10:21
8 [報告]
發(fā)表于 2008-08-15 11:25 |只看該作者
Linux里有個項目叫hotplug的
如果內(nèi)核支持hotplug,那么在系統(tǒng)中應該有這么一個文件/proc/sys/kernel/hotplug,這是一個鏈接,指向/sbin/hotplug,這是一個shell腳本文件,對該腳本文件作相應的修改就可以支持熱插拔,包括U盤、SD/MMC卡等等。



  1. #!/bin/sh

  2. #
  3. # What to do with this USB hotplug event?
  4. #
  5. # code by T-bagwell
  6. case $ACTION in

  7. add)
  8.   #echo $ACTION>/dev/tts/1
  9.   DIR="/dev/mmc"
  10.   for I in "$DIR/"*;do
  11.     #echo $I>/dev/tts/1
  12.     if [ -d $I -a -e $I/part1 ];then
  13.       #echo "found&mount $I/part1">/dev/tts/1
  14.       mount -t vfat -o sync $I/part1 /tmp/sdcard 2>/dev/tts/1
  15.     else
  16.       #echo "$I/part1 not found">/dev/tts/1
  17.       sleep 1;
  18.       if [ -d $I -a -e $I/part1 ];then
  19.         #echo "found&mount $I/part1">/dev/tts/1
  20.         mount -t vfat -o sync $I/part1 /tmp/sdcard 2>/dev/tts/1
  21.       fi
  22.     fi
  23.   done
  24.     ;;

  25. remove)
  26.   #echo $ACTION>/dev/tts/1
  27.   #echo "umount /tmp/sdcard">/dev/tts/1
  28.   umount /tmp/sdcard 2>/dev/tts/1
  29.     ;;

  30. *)
  31.     exit 1
  32.     ;;

  33. esac

復制代碼

[ 本帖最后由 T-bagwell 于 2008-8-15 11:28 編輯 ]

評分

參與人數(shù) 1可用積分 +15 收起 理由
bitmilong + 15 鼓勵回貼

查看全部評分

論壇徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵節(jié)徽章
日期:2015-03-06 15:50:392015亞冠之大阪鋼巴
日期:2015-06-12 16:01:352015年中國系統(tǒng)架構師大會
日期:2015-06-29 16:11:2815-16賽季CBA聯(lián)賽之四川
日期:2018-12-17 14:10:21
9 [報告]
發(fā)表于 2008-08-15 11:28 |只看該作者

  1. linux 傳統(tǒng)上使用靜態(tài)設備創(chuàng)建方法,因此大量設備節(jié)點在 /dev 下創(chuàng)建(有時上千個),而不管相應的硬件設備是否真正存在。通常這由一個MAKEDEV腳本,組成它由許多calls of mknod program with the revelant major and minor device number for每一個世界上可能存在的設備。采用udev的方法,只有被kernel檢測到的設備才會get devices nodes created for them.因為這些設備節(jié)點在每次系統(tǒng)啟動時被創(chuàng)建,他們會被stored在a ramfs(a file system in memory,does not take up any disk space).設備節(jié)點不需要much 磁盤空間,因此
  2. the memory that is used 可以忽略。
  3. 1:history
  4. 在2.4版本的kernel中,一種新文件系統(tǒng)called devfs被添加了進去。盡管它在kernel源碼中出現(xiàn),然而這種動態(tài)創(chuàng)建設備的方法從未收到壓倒性的支持from core kernel開發(fā)者;
  5. devfs 的方法主要問題是 the way:設備檢測,創(chuàng)建,命名。設備節(jié)點命名,可能是最critical的.It is generally accepted that 設備名允許是可配置的,then設備命名策略應該up to一個系統(tǒng)管理員,not 被欺騙by 特殊的開發(fā)者。devfs文件系統(tǒng)同時還忍受著一個紊亂情況,為它的design所固有,且不能被fix,若無實質(zhì)的修改to kernel.現(xiàn)由于缺乏維護已被deprecated.
  6. 在2.6版本的kernel中,出現(xiàn)了一種叫sysfs的新虛擬文件系統(tǒng)。sysfs的 任務是export系統(tǒng)架構 to 用戶空間進程。有了這種用戶空間visible表示法,the possiblity of seeing a userspace replacement for devfs 變得更加現(xiàn)實。
  7. 2:udev 執(zhí)行
  8. sysfs怎樣知道設備出現(xiàn) 在系統(tǒng)?應該使用什么設備號?對于被編進kernel的driver,當被kernel監(jiān)測到時,直接注冊目標with sysfs。使用模塊方式編譯的,當模塊被load時,如前。once sysfs文件系統(tǒng)被mounted (on /sys),the data which the built-in drivers registered with sysfs are available to userspace process and to udev for device node creation.
  9. udev初始化腳本創(chuàng)建這些 設備節(jié)點當linux boot時;這個腳本starts with 注冊/sbin/udev/ 作為一個 hotplug事件管理者。熱插拔事件不應該發(fā)生在這個過程中,然而udev is registered just in case they do occur.然后udevstart program walk through the /sys filesystem and 創(chuàng)建符合描述的設備在/dev。例如:/sys/class/tty/vcs/dev/包括string "7:0".這個字符串被udevstart使用來創(chuàng)建/dev/vcs,主設備號7and此設備號0。每一個udevstart創(chuàng)建的設備的權限設置來自/etc/udev.d/permission.d/目錄。這些numbered(有限的) 基本相似LFS bootscripts.如果找不到創(chuàng)建的設備權限文件,默認perissions to 600 and ownership to root:root./dev目錄下創(chuàng)建的節(jié)點根據(jù) /etc/udev/rules.d/目錄下的文件來configured.
  10. 當一個新設備連 接被kernel監(jiān)測到,kernel會產(chǎn)生一個hotplug event 并查找/proc/sys/kernel/hotplug去找出管理設備連接的用戶空間程序。udev初始化腳本注冊udev as this hander.當hotplug events發(fā)生時,kernel通知udev 去檢測/sys 文件系統(tǒng)附屬于這個新設備的信息并create 它的/dev/入口。
  11. ?這帶給我們一個問題:exists with udev,and likewise with devfs before it.?就像先有雞還是先有蛋。大部分linux distrubtions
  12. 管 理加載模塊通過/etc/modules.conf.access to 設備節(jié)點引起相應的kernel模塊來加載。然而對于udev,這種方法不能正常工作,因為模塊沒有加載時,設備節(jié)點不存在。為了解決這個問題,模塊腳本加到了lfs-bootscripts包中,和/etc/sysconfig/modules在一起。通過添加module names到module file中,這些模塊在計算機啟動時被加載。這樣,udev就可以去檢測設備并創(chuàng)建相應的設備節(jié)點。
  13. 3:處理可熱插拔/動態(tài)設備
  14. 當 你插入一個設備,比如usb mp3 player,內(nèi)核辨認出設備連接同時產(chǎn)生一個熱插拔事件。如果驅(qū)動已經(jīng)loaded(不管是編進kernel還是通過s05modules bootscript加載),udev將被調(diào)用來創(chuàng)建相關的設備節(jié)點,根據(jù)sysfs data in /sys.如果剛插入的設備驅(qū)動以模塊形式然而并未加載,那么剛attach to system 的設備只會引起kernel總線驅(qū)動產(chǎn)生一個熱插拔事件通知用戶空間一個新設備的連接and它不attached to a driver.結(jié)果,什么都沒有發(fā)生,device依然不能使用。
  15. 如果建立一個system,that具有大量的以模塊形式編譯的驅(qū)動,使用s05modules并不實際。the hotplug package([url]http://linux-hotplug.sourceforge.net[/url])會顯得非常有價值。當此包安裝后,它會響應前述的 kernel總線驅(qū)動hotplug事件。此包將加載相應的模塊并為設備創(chuàng)建節(jié)點。
  16. 4:創(chuàng)建設備的問題
  17. 自動創(chuàng)建設備節(jié)點時常遇到的一些問題
  18. 1)A kernel driver may not exports its data to sysfs
  19. 當 使用第三方驅(qū)動(在kernel source tree 之外)時常遇到這種問題。這些驅(qū)動end up時沒有創(chuàng)建設備節(jié)點。使用/etc/sysconfig/creatfiles 配置文件to 人工創(chuàng)建設備。參考devices.txt文件(在kernel文檔中)或者驅(qū)動文檔來找出正確的major/minor設備號。
  20. 2)無硬件設備 is required.這種很常見with the advanced linux sound architecture(ALSA) project's open sound system(oss) compatibility 模塊.這種形式的驅(qū)動可以使用以下下面兩種方法來管理:
  21. *將module names 加到 /etc/sysconfig/modules;
  22. * 使用"install"line 在/etc/modprobe.conf中。This tells the modprobe command "when loading this module, also load this other module,at the same time."例如
  23. install snd-pcm modprobe -i snd-pcm;modprobe snd-pcm-oss;true
  24. 當系統(tǒng)中有加載snd-pcm驅(qū)動的請求時,這會使系統(tǒng)加載both snd-pcm and snd-pcm-oss modules.
  25. 5:進一步一些參考資料
  26. [url]http://fedora.redhat.com/docs/udev/[/url]
  27. [url]http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html[/url]
  28. [url]http://www.kroah.com/linux/talks/ols_2003_udev_paper/Reprint-Kroah-Hartman-OLS2003.pdf[/url]
  29. [url]http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ[/url]
復制代碼

論壇徽章:
0
10 [報告]
發(fā)表于 2008-08-15 11:31 |只看該作者
原帖由 T-bagwell 于 2008-8-15 11:25 發(fā)表
Linux里有個項目叫hotplug的
如果內(nèi)核支持hotplug,那么在系統(tǒng)中應該有這么一個文件/proc/sys/kernel/hotplug,這是一個鏈接,指向/sbin/hotplug,這是一個shell腳本文件,對該腳本文件作相應的修改就可以支持 ...


我之前原本也是打算用hotplug,結(jié)果沒太整明白,干脆就自己寫程序從內(nèi)核里獲取熱插拔信息并自己動手做掛載/卸載/
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP