起動モジュール

1863 ワード

コアとコアモジュール
  • コア:/boot/vmlinuzまたは/boot/vmlinuz-version;
  • コア解凍に必要なRAM Disk:/boot/initrd(/boot/initrd-version);
  • コアモジュール:/lib/modules/version/kernelまたは/lib/modules/$(uname-r)/kernel;
  • コア元コード:/usr/src/linuxまたは/usr/src/kernels/(インストールする場合のみ、デフォルトではインストールされません)
  • このコアが順調にシステムにロードされると、いくつかの情報が記録されます.
  • コアバージョン:/proc/version
  • システムコア機能:/proc/sys/kernel
  • コアモジュールと依存性
    コアモジュールを処理する以上、コアが提供するモジュール間の相関性を理解する必要があります.基本的に、コアモジュールの配置場所は/lib/modules/$(uname-r)/kernelで、主にいくつかのディレクトリに分かれています.
    arch	:          ,   CPU      ;
    crypto	:           ,   md5     des   ;
    drivers	:         ,    、   、PCI       ;
    fs	:       filesystems ,   vfat, reiserfs, nfs   ;
    lib	:     ;
    net	:            ,        (net/ipv4/netfilter/*)   ;
    sound	:          ;

    これらのモジュールの主な情報を一つ一つチェックして、彼らの依存性を定義すると、私たちは気が狂うかもしれません.だから、私たちのLinuxはもちろんいくつかのモジュールの依存性の解決策を提供します.それは検査/lib/modules/$(uname-r)/modulesです.depこのファイル!彼はコアでサポートされているモジュールの依存性を記録した.
    -A  :       , depmod               ,      
          /lib/modules/$(uname -r)/modules.dep   。    -A    ,  depmod
                modules.dep        ,        ,    。
    -n  :    modules.dep ,           (standard out);
    -e  :                     :             ,    a.ko,          ?
    [root@www ~]# cp a.ko /lib/modules/$(uname -r)/kernel/drivers/net
    [root@www ~]# depmod

    コアモジュールの観察
    では、現在のコアにどれだけのモジュールがロードされているか知っていますか?粉は簡単です!lsmodを利用すればいい!
    [root@www ~]# lsmod
    Module                  Size  Used by
    autofs4                24517  2
    hidp                   23105  2....(    )....8139too                28737  0
    8139cp                 26305  0
    mii                     9409  2 8139too,8139cp <==mii    8139cp, 8139too   ....(    )....uhci_hcd               25421  0  <==      U       !ohci_hcd               23261  0
    ehci_hcd               33357  0