系統(tǒng)之家 - 系統(tǒng)光盤(pán)下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > 輕松讓U盤(pán)自動(dòng)掛載的小妙招

輕松讓U盤(pán)自動(dòng)掛載的小妙招

時(shí)間:2014-07-25 19:04:00 作者:zhang 來(lái)源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪問(wèn): https://m.xitongzhijia.net/xtjc/20140725/24434.html 手機(jī)查看 評(píng)論

  現(xiàn)在市場(chǎng)上一些流行的桌面系統(tǒng)都能支持自動(dòng)掛載U盤(pán),有些人覺(jué)得是因?yàn)镠AL(硬件抽象層)起了自動(dòng)掛載的作用,其實(shí)不然,對(duì)于能讓U盤(pán)實(shí)現(xiàn)掛載的是由于有了Udev。那什么是Udev?我們?cè)趺蠢盟拍茏屛覀兊腢盤(pán)輕松地實(shí)現(xiàn)掛載呢?一起來(lái)看下本文的分析吧。

  這里我們簡(jiǎn)單的說(shuō)一下udev的工作原理:

  Udev是依賴于sysfs的,當(dāng)系統(tǒng)中添加一個(gè)新的設(shè)備后,內(nèi)核檢測(cè)到后就會(huì)產(chǎn)生一個(gè)hotplug event并查找/proc/sys/kernel/hotplug去找出管理設(shè)備連接的用戶空間程序,若udev已經(jīng)啟動(dòng),內(nèi)核會(huì)通知udev去檢測(cè)sysfs中關(guān)于這個(gè)新設(shè)備的信息并創(chuàng)建設(shè)備節(jié)點(diǎn)。如/dev/vcs,在/sys/class/tty/vcs/dev存放的是”7:0”,既/dev/vcs的主次設(shè)備號(hào)。

  并且udev還會(huì)根據(jù)/etc/udev/rules.d中的規(guī)則文件實(shí)現(xiàn)一些相應(yīng)的功能。

  下面我們介紹一下如何實(shí)現(xiàn)設(shè)備節(jié)點(diǎn)的自動(dòng)創(chuàng)建及U盤(pán)或SD卡的自動(dòng)掛載。

  一、.udev的移植

  因?yàn)槲募到y(tǒng)中默認(rèn)是沒(méi)有對(duì)udev進(jìn)行支持的,所以我們移植一個(gè)udev。

  1.下載UDEV源碼udev-080.tar.bz2,并解壓

  網(wǎng)址:https://www.us.kernel.org/pub/linux/utils/kernel/hotplug

  2.交叉編譯。

  修改Makefile,具體修改如下:

  CROSS = arm-softfloat-linux-gnu-

  保存退出。

  執(zhí)行命令:make 進(jìn)行編譯,然后執(zhí)行arm-softfloat-linux-gnu-strip udev udevd udevstart udevinfo udevtest。并拷貝這些文件到rootfs/bin目錄下面

  3.添加udev的支持

  下面三種方法功能相同

  (1)并修改etc/init.d/rcS腳本,然后添加如下命令:

  /bin/mount -t sysfs sysfs /sys

  (首先創(chuàng)建這個(gè)目錄)

  /bin/mount -t tmpfs tmpfs /dev

  /bin/udevd --daemon

  /bin/udevstart

  (2)如果linuxrc是二進(jìn)制文件的話 計(jì)算機(jī)基礎(chǔ)教程

  rm /linuxrc

  vi /linuxrc

  添加如下內(nèi)容

  /bin/mount -t sysfs sysfs /sys

  (首先創(chuàng)建這個(gè)目錄)

  /bin/mount -t tmpfs tmpfs /dev

  /bin/udevd --daemon

  /bin/udevstart

  exec /sbin/init

  (3)修改/etc/fstab為

  #device mount-point type options dump fsck order

  proc /proc proc defaults 0 0

  tmpfs /tmp tmpfs defaults 0 0

  sysfs /sys sysfs defaults 0 0

  tmpfs /dev tmpfs defaults 0 0

  修改/etc/init.d/rcS,添加如下內(nèi)容

  /bin/udevd --daemon

  /bin/udevstart

  有這上面寫(xiě)些,重新啟動(dòng)系統(tǒng)后,我們的文件系統(tǒng)就有了自動(dòng)創(chuàng)建節(jié)點(diǎn)的功能了。

  二、自動(dòng)掛載U盤(pán)或SD卡 計(jì)算機(jī)基礎(chǔ)知識(shí)

  1.在/etc下創(chuàng)建udev目錄

  2.在/etc/udev下穿件目錄rules.d和文件udev.conf

  3.在udev.conf中添加如下內(nèi)容

  # udev.conf

  # The initial syslog(3) priority: "err", "info", "debug" or its

  # numerical equivalent. For runtime debugging, the daemons internal

  # state can be changed with: "udevcontrol log_priority=".

  udev_log="err"

  4.在rules.d下創(chuàng)建規(guī)則文件

  如實(shí)現(xiàn)U盤(pán)自動(dòng)掛載

  Vim 11-add-usb.rules

  添加如下內(nèi)容

  ACTION!="add",GOTO="farsight"

  KERNEL=="sd[a-z][0-9]",RUN+="/sbin/mount-usb.sh %k"

  LABEL="farsight"

  這個(gè)文件中ACTION后是說(shuō)明是什么事件,KERNEL后是說(shuō)明是什么設(shè)備比如sda1,mmcblk0p1等,RUN這個(gè)設(shè)備插入后去執(zhí)行哪個(gè)程序%k是傳入這個(gè)程序的參數(shù),這里%k=KERNEL的值也就是sda1等https://www.woaidiannao.com。

  在/sbin/下創(chuàng)建mount-usb.sh文件添加如下內(nèi)容 計(jì)算機(jī)

  #!/bin/sh

  /bin/mount -t vfat /dev/$1 /tmp

  sync

  修改文件權(quán)限為其添加可執(zhí)行的權(quán)限。

  這樣就實(shí)現(xiàn)了U盤(pán)的自動(dòng)掛載,下面附上U盤(pán)的卸載規(guī)則文件和sd卡的文件

  Usb卸載

  11-add-remove.rules

  ACTION !="remove",GOTO="farsight"

  SUBSYSTEM!="block",GOTO="farsight"

  KERNEL=="sd[a-z][0-9]",RUN+="/sbin/umount-usb.sh"

  LABEL="farsight"

  umount-usb.sh

  #!/bin/sh

  sync

  umount /tmp/

  SD卡掛載

  ACTION!="add",GOTO="farsight"

  KERNEL=="mmcblk[0-9]p[0-9]",RUN+="/sbin/mount-sd.sh %k"

  LABEL="farsight"

  mount-sd.sh

  #!/bin/sh

  /bin/mount -t vfat /dev/$1 /tmp

  Sync

  SD卡卸載

  ACTION !="remove",GOTO="farsight"

  SUBSYSTEM!="block",GOTO="farsight"

  KERNEL=="mmcblk[0-9]p[0-9]",RUN+="/sbin/umount-sd.sh"

  LABEL="farsight"

  umount-sd.sh

  #!/bin/sh

  sync

  umount /tmp/

  好了,看到這邊,聰明的你肯定知道了輕松掛載U盤(pán)的妙招了,此妙招便是利用udev的工作原理來(lái)幫我們實(shí)現(xiàn)。以上便是我們?yōu)榇蠹曳窒淼腢盤(pán)使用技巧,希望對(duì)大家有所幫助。

發(fā)表評(píng)論

0

沒(méi)有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解

立即評(píng)論

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

人氣教程排行

U盤(pán)系統(tǒng)推薦

官方交流群 軟件收錄