天天看點

module_init_tools裡的相關工具

1. lsmod 列出已經加載的核心子產品

lsmod 是列出目前系統中已加載的子產品的名稱及大小等;另外我們還可以檢視 /proc/modules ,我們一樣可以知道系統已經加載的子產品。

2.modinfo 檢視子產品資訊

modinfo 可以檢視子產品的資訊,通過檢視子產品資訊來判定這個子產品的用途。

3.modprobe 挂載新子產品以及新子產品相依賴的子產品

  modprobe 我們常用的功能就是挂載子產品,在挂載某個核心子產品的同時,這個子產品所依賴的子產品也被同時挂載;當然modprobe 也有列出核心所有子產品,還有移除子產品的功能;現在我們舉個例子說一說咱們常用的功能和參數;

    modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-o ] [parameters...]

    modprobe -r [-n] [-i] [-v] 

    modprobe -l -t [ -a ...]

我們可以看到在/etc/modprobe.conf檔案中存在的内容形式如下:

alias scsi_hostadapter mptbase

alias scsi_hostadapter1 mptspi

最後一列是子產品名字,中間的是子產品的别名。那麼如果我們知道了一個子產品的名字,怎麼知道它的别名呢?用下面的指令就可以:

#modprobe -c 可以檢視所有子產品的别名

modprobe -l 是列出核心中所有的子產品,包括已挂載和未挂載的;通過modprobe -l ,我們能檢視到我們所需要的子產品,然後根據我們的需要來挂載;其實modprobe -l 讀取的子產品清單就位于 /lib/modules/'uname -r' 目錄中;其中uname -r 是核心的版本;

  注意: 子產品名是不能帶有字尾的,我們通過modprobe -l 所看到的子產品,都是帶有.ko 或.o字尾;

4.rmmod 移除已挂載子產品

5.depmod 建立子產品依賴關系的清單

    depmod 工具的洋文原意:depmod — program to generate modules.dep and map files.

   # depmod -a 注:為所有列在/etc/modprobe.conf 或/etc/modules.conf 中的所有子產品建立依賴關系,并且寫入到modules.dep檔案;

   # depmod -e 注:列出已挂載但不可用的子產品;

   # depmod -n 注:列出所有子產品的依賴關系,但僅僅是輸出出來 (Write the dependency file on stdout only)

    注:modules.dep 位于 /lib/modules/核心版本目錄

6.insmod 挂載子產品

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

7.與核心子產品加載相關的配置檔案

子產品的配置檔案 modules.conf 或 modprobe.conf

    核心子產品的開機自動挂載子產品一般是位于一個配置檔案,一般的Linux發行版本都有 /etc/modules.conf 或 /etc/modprobe.conf 。比如Fedora Core 4.0 核心子產品開機自動加載檔案是 /etc/modprobe.conf ;在這個檔案中,一般是寫入子產品的加載指令或子產品的别名的定義等;比如我們在modules.conf 中可能會發行類似的一行 ;

    alias eth0 8139too