91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux下udev應(yīng)用

啟揚ARM嵌入式開發(fā) ? 2022-08-28 15:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

udev

udev是一個設(shè)備管理工具,并以守護進程的方式運行,它能夠根據(jù)內(nèi)核的uevent管理/dev/下面的設(shè)備文件。因為工作在用戶層的緣故,所以能夠很好地接收內(nèi)核層的消息動態(tài)和管理設(shè)備文件,比單一的在內(nèi)核層靜態(tài)注冊設(shè)備文件方便得多。

接下來我們以啟揚IAC-IMX8MP-Kit開發(fā)板中的udev為例,對其進行簡單的了解。

udev一般會有一個配置文件—— udev.conf,如下圖所示:

032e5354-2559-11ed-9ade-dac502259ad0.png

其中,udev_log表示日志等級,顯示可能為err(3),info(6),debug(7);

children_max表示允許同時執(zhí)行的最大設(shè)備數(shù)量;

exec_delay表示延遲多少秒之后再執(zhí)行RUN指令;

event_timeout表示等待設(shè)備事件完成的超時秒數(shù),超時后,設(shè)備事件將會被終止,默認(rèn)為180s;

timeout_signal表示超時發(fā)出的信號

resolve_names設(shè)置systemd-udevd 在何時解析用戶與組的名稱。此時顯示默認(rèn)值 early 表示在規(guī)則的解析階段;顯示late時表示在每個設(shè)備事件發(fā)生的時候;顯示never時表示不解析(所有設(shè)備都?xì)w root 用戶擁有)。

udev主要根據(jù)/etc/udev/rules.d/下面的匹配規(guī)則進行指定動作,如下圖所示:

034d1f6e-2559-11ed-9ade-dac502259ad0.png

前面的數(shù)字代表著優(yōu)先級,數(shù)字越低表示優(yōu)先級越高。

這里我們打開automount規(guī)則文件,顯示如下圖

03684b7c-2559-11ed-9ade-dac502259ad0.png

其中,SUBSYSTEM如字面意思,是子系統(tǒng)的名稱,這里是塊兒設(shè)備所以是block;

ACTION表示事件的行為,add是添加,remove是移除,change是改變;

ENV{key}是環(huán)境變量,在一條規(guī)則中,最多設(shè)置五條環(huán)境變量的匹配鍵;

RUN就是所執(zhí)行的內(nèi)容,一般以腳本為主;

而這里整體的意思就是,當(dāng)有一個塊兒設(shè)備添加進來,就執(zhí)行/etc/udev/scripts/mount.sh這個腳本,塊兒設(shè)備的卸載包括變更也都是執(zhí)行這個腳本。

接下來我們再看這個腳本的內(nèi)容,如下圖

038ff0dc-2559-11ed-9ade-dac502259ad0.png

腳本的內(nèi)容有點兒長,大致的內(nèi)容就是通過判斷插入塊兒設(shè)備的文件系統(tǒng)類型進行不同的操作,一般都是將其掛載到某一個指定的目錄下。

這里我們將U盤插入,看看udev規(guī)則下它會掛載到哪里。

插入U盤顯示如下圖:

03bb0fc4-2559-11ed-9ade-dac502259ad0.png

識別到U盤,并且根據(jù)上面腳本的規(guī)則,將其掛載到/run/media/sda1下面,如圖所示,表明規(guī)則執(zhí)行成功。

03e09172-2559-11ed-9ade-dac502259ad0.png

通過上面的操作,可以看出我們能夠根據(jù)udev規(guī)則做一些設(shè)備的固定匹配工作,這會為一些需要根據(jù)硬件動作做出相應(yīng)腳本執(zhí)行的工作帶來的極大的方便。

END

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11764

    瀏覽量

    219092
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Linux系統(tǒng)配置FCB-EV9520L與LVDS轉(zhuǎn)USB3.0編碼采集模塊教程

    Linux系統(tǒng)上運行LVDS轉(zhuǎn)USB3.0編碼采集模塊涉及幾個關(guān)鍵步驟,包括Linux環(huán)境配置、硬件連接、軟件安裝與配置以及測試。以下是一個基本的指南
    的頭像 發(fā)表于 03-04 16:05 ?58次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>下</b>配置FCB-EV9520L與LVDS轉(zhuǎn)USB3.0編碼采集模塊教程

    Linux擴充Swap交換空間:解決內(nèi)存不足的實用指南,這些影響要注意!

    大家在使用 Linux 系統(tǒng)(比如常用的 Ubuntu)時,是不是偶爾會遇到 “內(nèi)存不足” 的彈窗?比如運行大型編譯任務(wù)、多開虛擬機、做數(shù)據(jù)分析,或者把 Linux 當(dāng)服務(wù)器用的時候,物理內(nèi)存一旦 “告急”,系統(tǒng)就會卡頓甚至崩潰。這時候,Swap 交換空間就成了“救場神器
    的頭像 發(fā)表于 02-09 16:33 ?222次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>下</b>擴充Swap交換空間:解決內(nèi)存不足的實用指南,這些影響要注意!

    Linux 開發(fā)嵌入式必備命令速查表

    管理等環(huán)節(jié)輕松應(yīng)對各種問題。今天,我們整理了一份Linux嵌入式開發(fā)必備命令速查表,讓你一篇文章就能快速查閱。一、文件與目錄管理命令在嵌入式開發(fā)中,你經(jīng)常需要操作
    的頭像 發(fā)表于 01-19 09:06 ?888次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>下</b>開發(fā)嵌入式必備命令速查表

    Linux 交叉編譯實戰(zhàn):跑起來你的第一個 STM32 程序

    很多開發(fā)者第一次接觸STM32,總會被“交叉編譯”、“燒錄程序”等概念繞暈。其實方法很簡單:在Linux配置交叉編譯環(huán)境,編寫簡單程序,然后燒錄到STM32,就可以看到成果了。本文帶你從零開始
    的頭像 發(fā)表于 11-24 19:04 ?828次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>下</b>交叉編譯實戰(zhàn):跑起來你的第一個 STM32 程序

    移植蜂鳥需要在Linux環(huán)境嗎?

    《手把手教你設(shè)計CPU》書上運行Verilog仿真測試那章說為了重現(xiàn)仿真環(huán)境,最好在Linux環(huán)境。不知道移植蜂鳥是否需要在Linux環(huán)境,直接在Windows操作系統(tǒng)可否移植開發(fā)
    發(fā)表于 11-10 07:42

    Linux識別不到JTAG是怎么回事?

    Linux識別不到JTAG
    發(fā)表于 11-06 07:24

    在Windows和Linux環(huán)境分別使用Olimex和蜂鳥調(diào)試器下載程序

    本隊伍編號CICC3042,本篇文章介紹在Windows和Linux環(huán)境分別使用Olimex和蜂鳥調(diào)試器下載程序,和上一篇Hbirdv2的移植配合使用。 使用過第一版蜂鳥的同學(xué)們可能按照書中
    發(fā)表于 10-31 08:26

    linux環(huán)境 軟件啟動失敗怎么解決?

    anyway. /usr/lib/x86_64-linux-gnu/libproxy/libpxbackend-1.0.so: undefined symbol
    發(fā)表于 06-23 07:37

    開源系統(tǒng)適配:聚徽分享國產(chǎn)工控平板在 Linux / 鴻蒙系統(tǒng)的技術(shù)優(yōu)化

    工控平板進行技術(shù)優(yōu)化,實現(xiàn)與 Linux、鴻蒙系統(tǒng)的高效適配,成為行業(yè)關(guān)注的焦點。 一、Linux 系統(tǒng)國產(chǎn)工控平板的技術(shù)優(yōu)化 (一)內(nèi)核裁剪與定制 Linux 內(nèi)核功能豐富,但對于
    的頭像 發(fā)表于 06-13 16:29 ?1077次閱讀

    linux使用cyusbserial SDK錯誤怎么解決?

    我使用的TI DLP3010EVM模塊是通過CY7C65215 芯片進行控制的,我可以在win環(huán)境正常使用TI DLP的調(diào)試軟件或者使用cyusbserial SDK的vs程序完成對設(shè)備的控制
    發(fā)表于 06-03 07:46

    能否提供LinuxUSB轉(zhuǎn)SPI模式的測試程序?

    我已在 Linux 上成功配置了 CY7C65211 器件,使其在 USB 轉(zhuǎn) SPI 模式運行。 使用 lsusb 命令,設(shè)備顯示如下:總線 003 設(shè)備 002:ID 04b4:0004
    發(fā)表于 05-22 06:16

    不借助Linux系統(tǒng),在Windows如何搭建ZMC900E交叉編譯環(huán)境

    嵌入式Linux系統(tǒng),由于系統(tǒng)資源的匱乏,通常無法安裝本地編譯器進行本地開發(fā),而需要在借助一臺主機進行交叉開發(fā)。一般情況,在主機安裝相應(yīng)的交叉編譯器,將在主機編
    的頭像 發(fā)表于 05-21 11:34 ?943次閱讀
    不借助<b class='flag-5'>Linux</b>系統(tǒng),在Windows<b class='flag-5'>下</b>如何搭建ZMC900E交叉編譯環(huán)境

    Linux主要的性能有哪些?

    ? 什么是Linux? ? Linux是一套自由傳播的類Unix操作系統(tǒng),是一個基于posix和unix的多用戶、多任務(wù)、支持多線程和多cpu的操作系統(tǒng)。它的基本思想有兩點,一切都是文件和每個軟件
    的頭像 發(fā)表于 04-30 18:09 ?677次閱讀
    <b class='flag-5'>Linux</b>主要的性能有哪些?

    Linux網(wǎng)絡(luò)設(shè)置與基礎(chǔ)服務(wù)

    Linux網(wǎng)絡(luò)設(shè)置與基礎(chǔ)服務(wù)
    的頭像 發(fā)表于 04-09 11:51 ?3427次閱讀
    <b class='flag-5'>Linux</b>網(wǎng)絡(luò)設(shè)置與基礎(chǔ)服務(wù)

    LinuxVim編輯器的使用技巧

    【Vim】常用總結(jié)? 簡介? image 什么是vim?? Linux兩大編輯神器之一 vim ? Linux/Unix使用最多的編輯器 ? vi的改進版 ? 可能是最難上手的編輯
    的頭像 發(fā)表于 04-01 17:36 ?1451次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>下</b>Vim編輯器的使用技巧