GNU/Linux >> Belajar Linux >  >> Cent OS

Panduan pemula untuk Konfigurasi Modul Kernel di Linux

Kernel Linux dimuat ke dalam memori oleh boot loader. Modul kernel dimuat dan dibongkar secara dinamis sesuai permintaan. Mereka menyediakan driver perangkat untuk memungkinkan kernel mengakses perangkat keras baru, mendukung berbagai jenis sistem file dan umumnya memperluas fungsionalitas kernel.

Mencantumkan Modul Kernel yang Dimuat

Untuk membuat daftar modul kernel mana yang saat ini dimuat ke dalam kernel, gunakan lsmod memerintah. Perintah ini menghasilkan keluaran dengan membaca /proc/modules mengajukan. Contoh:

# lsmod
Module                  Size  Used by
ip_tables              27115  5 iptable_security,iptable_filter,iptable_mangle,iptable_nat,iptable_raw
xfs                   985426  2 
libcrc32c              12644  1 xfs
...

Digunakan oleh kolom memberikan jumlah total proses yang menggunakan modul dan modul lain yang bergantung padanya, diikuti dengan daftar modul dependen tersebut.

Paket kmod

Perintah lsmod dan file dan utilitas modul kernel lainnya seperti modinfo, modprobe, Depmod, insmod, dan rmmod disediakan oleh paket kmod:

# rpm -qf /sbin/lsmod 
kmod-20-9.el7.x86_64

Untuk membuat daftar semua file yang disediakan oleh paket kmod, masukkan:

# rpm -ql kmod
/etc/depmod.d
/etc/depmod.d/dist.conf
/etc/modprobe.d
/usr/bin/kmod
/usr/lib/modprobe.d
/usr/sbin/depmod
/usr/sbin/insmod
/usr/sbin/lsmod
/usr/sbin/modinfo
/usr/sbin/modprobe
/usr/sbin/rmmod
/usr/sbin/weak-modules
/usr/share/bash-completion/completions/kmod
/usr/share/doc/kmod-20
/usr/share/doc/kmod-20/COPYING
/usr/share/doc/kmod-20/NEWS
/usr/share/doc/kmod-20/README
/usr/share/doc/kmod-20/TODO
/usr/share/man/man5/depmod.d.5.gz
/usr/share/man/man5/modprobe.conf.5.gz
/usr/share/man/man5/modprobe.d.5.gz
/usr/share/man/man5/modules.dep.5.gz
/usr/share/man/man5/modules.dep.bin.5.gz
/usr/share/man/man8/depmod.8.gz
/usr/share/man/man8/insmod.8.gz
/usr/share/man/man8/kmod.8.gz
/usr/share/man/man8/lsmod.8.gz
/usr/share/man/man8/modinfo.8.gz
/usr/share/man/man8/modprobe.8.gz
/usr/share/man/man8/rmmod.8.gz

Detail Modul Daftar

Perintah modinfo menampilkan informasi rinci tentang modul kernel tertentu. Misalnya, untuk menampilkan informasi tentang modul kernel iptables, masukkan:

# modinfo ip_tables
filename:       /lib/modules/3.10.0-514.el7.x86_64/kernel/net/ipv4/netfilter/ip_tables.ko
description:    IPv4 packet filter
author:         Netfilter Core Team [[email protected]]
license:        GPL
rhelversion:    7.3
srcversion:     EDBAB32FC38D6942C83A4B1
depends:        
intree:         Y
vermagic:       3.10.0-514.el7.x86_64 SMP mod_unload modversions 
signer:         CentOS Linux kernel signing key
sig_key:        D4:88:63:A7:C1:6F:CC:27:41:23:E6:29:8F:74:F0:57:AF:19:FC:54
sig_hashalgo:   sha256

di sini ,
nama file :Jalur absolut dari file objek kernel
deskripsi :Deskripsi singkat modul
alias :Nama alias internal untuk modul, jika ada
tergantung :Daftar modul yang dipisahkan koma tempat modul ini bergantung, jika ada
parm :Nama parameter dan deskripsi singkat

Modul dimuat dari /lib/modules/[kernel_version]/kernel direktori. Misalnya, untuk menampilkan path absolut dari file objek kernel ip_tables, :

# modinfo -n ip_tables
/lib/modules/3.10.0-514.el7.x86_64/kernel/net/ipv4/netfilter/ip_tables.ko

Memuat dan membongkar modul kernel

Memuat modul
Modul kernel dimuat dengan menggunakan perintah modprobe. Manajer perangkat untuk kernel Linux, udev, menggunakan modprobe untuk memuat driver untuk perangkat keras yang terdeteksi secara otomatis. Misalnya untuk memuat modul kernel ip_tables :

# modprobe ip_tables

Untuk memverifikasi bahwa modul telah dimuat :

# lsmod | grep ip_tables
ip_tables              27115  5 iptable_security,iptable_filter,iptable_mangle,iptable_nat,iptable_raw

Modul dependen dimuat terlebih dahulu. Gunakan modprobe –v (verbose) untuk melihat resolusi ketergantungan saat memuat modul kernel. Misalnya :

# modprobe -v nfs
insmod /lib/modules/3.10.0-514.el7.x86_64/kernel/fs/fscache/fscache.ko 
insmod /lib/modules/3.10.0-514.el7.x86_64/kernel/fs/nfs/nfs.ko
Catatan :modprobe menggunakan perintah insmod untuk memuat modul ke dalam kernel. Namun, jangan gunakan insmod, karena perintah ini tidak menyelesaikan dependensi.

Membongkar Modul
Bongkar modul kernel dengan menggunakan modprobe –r memerintah. Anda juga dapat menggunakan opsi verbose. Misalnya, untuk membongkar modul kernel nfs, masukkan:

# modprobe -rv nfs
rmmod nfs
rmmod fscache
Catatan :Perintah modprobe –r menggunakan rmmod untuk membongkar modul. Tetapi mirip dengan insmod, tidak disarankan untuk menggunakan rmmod secara langsung untuk membongkar modul kernel.

Modul dibongkar dalam urutan terbalik, dengan modul kernel nfs.ko dibongkar terlebih dahulu diikuti oleh modul yang menjadi ketergantungannya. Modul yang digunakan oleh suatu proses atau modul yang dibutuhkan oleh modul lain yang dimuat tidak diturunkan.

Parameter Modul Kernel

Sama seperti kernel yang dapat menerima parameter waktu boot untuk mengubah perilaku kernel, modul kernel juga dapat menerima parameter untuk memodifikasi perilakunya. Sintaks untuk meneruskan parameter ke modul kernel dengan modprobe adalah:

# modprobe [module_name] [parameter=value]

Beberapa pasangan parameter=nilai dapat diteruskan dengan memisahkan pasangan dengan spasi. Pastikan modul tidak dimuat sebelumnya, karena modprobe tidak memuat ulang modul.

Direktori Konfigurasi untuk modprobe

Direktori konfigurasi untuk modprobe adalah /etc/modprobe.d. Buat file *.conf di /etc/modprobe.d ke:
– Tentukan opsi
– Buat alias
– Ganti perilaku modprobe normal
– Daftar hitam modul kernel

Format file .conf ini adalah satu perintah per baris. Perintah yang valid untuk digunakan dalam file ini meliputi:

alias, options, install, remove, blacklist

Alias

Gunakan sintaks alias alias_name module_name untuk membuat nama alternatif untuk modul kernel. Anda juga dapat menggunakan wildcard shell dalam nama alias. Contoh:

alias usbdevfs usbcore

Opsi

Gunakan opsi sintaks module_name option(s) untuk menambahkan opsi ke module_name. Contoh:

options b43 nohwcrypt=1 qos=0

Instal

Gunakan perintah sintaks install module_name untuk memberi tahu modprobe agar menjalankan perintah shell daripada memasukkan modul ke dalam kernel. Contoh:

install net-pf-6 /bin/true

Hapus

Ini mirip dengan perintah install, kecuali itu dipanggil ketika “modprobe –r” dijalankan. Gunakan sintaks perintah remove module_name untuk memberi tahu “modprobe –r” untuk menjalankan perintah shell daripada membongkar modul dari kernel.

Daftar Hitam

Gunakan sintaks blacklist module_name untuk memberi tahu modprobe agar mengabaikan alias internal modul. Alias ​​​​internal adalah yang terlihat saat menggunakan perintah modinfo [nama_modul]. Kata kunci daftar hitam biasanya digunakan saat perangkat keras terkait tidak diperlukan, atau saat dua atau lebih modul mendukung perangkat yang sama, atau sebuah modul mengklaim mendukung perangkat secara tidak sah.

Lihat halaman manual modprobe.d untuk informasi lebih lanjut.

# man modprobe.d


Cent OS
  1. Linux – Kernel Tercemar Di Linux?

  2. Panduan Pemula Samba (Instalasi dan Konfigurasi)

  3. Panduan Pemula untuk Swap Space Management di Linux

  1. Panduan Pemula untuk Udev di Linux

  2. Ubah timer kernel linux

  3. Lewati modul kernel saat boot

  1. Modul kernel Linux kita tidak bisa hidup tanpanya

  2. Cara Membuat, Mengkompilasi, Memuat Modul Kernel yang Dapat Dimuat LKM Linux

  3. Panduan Pemula untuk Konfigurasi yum