Ubuntu系統關於驅動模組命令的一些使用

2021-06-16 03:59:12 字數 2664 閱讀 9582

linux是基於模組的,所有的驅動都是模組化的:

管理模組的命令:

1、列出系統中所有已經載入的模組的大小與名稱等:

lsmod或者cat /proc/modules

ty@tonylinux:~$ lsmod

module size used by

rfcomm 40216 0

l2cap 26244 5 rfcomm

bluetooth 50020 4 rfcomm,l2cap

ppdev 9220 0

radeon 116000 1

........

ty@tonylinux:~$ cat /proc/modules

rfcomm 40216 0 - live 0xf8dee000

l2cap 26244 5 rfcomm, live 0xf8db2000

bluetooth 50020 4 rfcomm,l2cap, live 0xf8dc2000

ppdev 9220 0 - live 0xf8d88000

.........

2、modinfo 檢視模組資訊:

modinfo 可以檢視模組的資訊,通過檢視模組資訊來判定這個模組的用途。

ty@tonylinux:~$ modinfo bluetooth

filename: /lib/modules/2.6.15-27-386/kernel/net/bluetooth/bluetooth.ko

author: maxim krasnyansky , marcel holtmann

description: bluetooth core ver 2.8

version: 2.8

license: gpl

alias: net-pf-31

vermagic: 2.6.15-27-386 preempt 486 gcc-4.0

depends:

srcversion: 7ee5558c84fd3db2b68971c

3、modprobe 掛載新模組以及新模組相依賴的模組

modprobe 我們常用的功能就是掛載模組,在掛載某個核心模組的同時,這個模組所依賴的模組也被同時掛載;這是於insmod掛載模組有區別的地方。當然modprobe 也有列出核心所有模組,還有移除模組的功能;下在我們舉個例子說一說咱們常用的功能和引數;

modprobe -c

odprobe -c 可以檢視modules 的配置檔案,比如模組的別名是什麼等;

modprobe -l 是列出核心中所有的模組,包括已掛載和未掛載的;通過modprobe -l ,我們能檢視到我們所需要的模組,然後根據我們的需要來掛載;

[root@localhost beinan]# modprobe 模組名 注:掛載乙個模組;

root@localhost beinan]# modprobe -r 模組名 注:移除已載入的模組,和rmmod 功能相同;

4、rmmod 移除已掛載模組

rmmod 模組名

5、depmod 建立模組依賴關係的列表

這個模組管理工具是建立模組依賴關係的列表,有幾個引數我們注意一下就行了,目前的的linux 發行版所用的核心是2.6x版本,是自動解決依賴關係,所以這個命令知道就行了;模組之前也有依賴關係,比如我們想驅動usb 行動硬碟,目前有兩種驅動,一種是udev ,在核心中有,但目前不太穩定;另一種辦法是用usb-storage驅動,而usb-storage 依賴的模組是scsi 模組,所以我們要用usb-storage 的模組,也得把scsi 安裝該命令為modules.dep 檔案或對映檔案建立依賴關係,modules.dep檔案位於 /lib/modules/2.6.15-27-i386;這是我的電腦的目錄檔案。

6、insmod 掛載模組

insmod 這個工具,和modprobe 有點類似,但功能上沒有modprobe 強,modprobe 在掛載模組是不用指定模組檔案的路徑,也不用帶檔案的字尾.o 或.ko ;而insmod 需要的是模組的所在目錄的絕對路徑,並且一定要帶有模組檔名字尾的(modulefile.o 或modulesfile.ko );

[root@localhost beinan]# insmod /lib/modules/2.6.11-1.1369_fc4/kernel/drivers/net/tg3.ko

模組的配置檔案 modules.conf 或 modprobe.conf

核心模組的開機自動掛載模組一般是位於乙個配置檔案,一般的linux發行版本都有 /etc/modules.conf 或 /etc/modprobe.conf 。比如fedora core 4.0 核心模組開機自動載入檔案是 /etc/modprobe.conf ;在這個檔案中,一般是寫入模組的載入命令或模組的別名的定義等;比如我們在modules.conf 中可能會發行類似的一行 ;

通過原始碼編譯驅動一般是./configure ;make;make install ,有時程式不提供./configure ,我們可以make或make install ,或者執行make;make install ;如果不能make install ,則需要我們自己複製.o或者.ko檔案到 /lib/modules/核心版本/kernel/目錄 或 /lib/modules/核心版本/kernel/drivers 目錄中相應的驅動目錄;

這個還是自己嘗試吧,說也說不清楚,遇到問題後就知道怎麼弄了;具體的還是驅動的reame和install為準。

Ubuntu系統關於驅動模組命令的一些使用

linux是基於模組的,所有的驅動都是模組化的 linux相關資料由兄弟連it教育分享 管理模組的命令 1 列出系統中所有已經載入的模組的大小與名稱等 lsmod或者cat proc modules ty tonylinux lsmod module size used by rfcomm 4021...

Ubuntu編譯核心驅動模組

1 編寫hello world.c核心模組原始檔 2 檢視核心版本。我的主機安裝的是ubuntu14.04核心版本是3.13.0 24 generic 3 編寫makefile指令碼 4 編譯與測試 執行make命令開始編譯,編譯通過。載入核心模組 insmod hello world.ko 檢視載...

ubuntu系統安裝spectrum驅動過程

專案需要使用spectrum公司的板卡完成一些操作,但是linux系統上安裝驅動十分繁瑣,特此記錄下來,以備後續使用。注意第一步,login as root,這裡親身嘗試用sudo是不行的,必須要su root切換到超級使用者才能繼續執行。3.安裝net tools時,系統提示我執行sudo apt...