Panduan singkat ini menjelaskan apa itu modul Kernel Linux , cara membuat daftar modul Kernel yang sedang dimuat menggunakan lsmod
, dan cara menampilkan informasi modul Kernel Linux dengan modinfo
perintah di Linux.
Apa itu modul Kernel Linux?
Kernel Linux adalah komponen utama dari sistem operasi GNU/Linux. Fungsionalitas Kernel Linux dapat diperluas tanpa perlu me-reboot sistem menggunakan modul Kernel . Modul Kernel adalah bagian dari kode yang dapat dimuat dan dibongkar ke dalam kernel sesuai permintaan.
Beberapa contoh modul Kernel adalah firmware dan driver perangkat, yang memungkinkan Kernel Linux untuk mengakses dan mengontrol perangkat keras yang terhubung ke sistem. Umumnya, modul Kernel digunakan untuk menambahkan dukungan untuk perangkat keras baru (sebagai driver perangkat), dan/atau sistem file , atau untuk menambahkan panggilan sistem .
Tanpa modul Kernel, kita harus membangun kembali dan mem-boot ulang kernel setiap kali kita menginginkan fungsionalitas baru. Kita juga perlu membangun kernel monolitik yang lebih besar dan menambahkan fungsionalitas baru secara langsung ke dalam citra kernel tanpa modul Kernel. Dengan bantuan modul Kernel, kita dapat dengan mudah menghindari masalah ini.
Modul kernel biasanya disimpan di bawah Modul disimpan di /usr/lib/modules/<kernel_release_directory>
.
$ ls /usr/lib/modules/5.11.18-300.fc34.x86_64/
bls.conf modules.builtin.bin modules.symbols
build modules.builtin.modinfo modules.symbols.bin
config modules.dep source
extra modules.dep.bin symvers.gz
kernel modules.devname System.map
modules.alias modules.drm updates
modules.alias.bin modules.modesetting vdso
modules.block modules.networking vmlinuz
modules.builtin modules.order weak-updates
modules.builtin.alias.bin modules.softdep
Modul kernel disebut dengan nama yang berbeda di sistem operasi yang berbeda. Misalnya, modul Kernel disebut sebagai modul kernel yang dapat dimuat (kld) di FreeBSD, ekstensi kernel (kext) di macOS, modul ekstensi kernel di AIX, driver mode kernel di Windows NT, dan modul kernel yang dapat diunduh (DKM) di VxWorks. Mereka juga dikenal sebagai modul kernel yang dapat dimuat (atau KLM), dan hanya sebagai modul kernel (KMOD).
Mendaftar modul Kernel Linux menggunakan perintah lsmod
Kita dapat melihat daftar modul Kernel yang sedang dimuat ke dalam Kernel menggunakan lsmod
(daftar modul) perintah seperti di bawah ini:
$ lsmod
Contoh keluaran:
2 Module Size Used by
vhost_net 32768 0
vhost 57344 1 vhost_net
vhost_iotlb 16384 1 vhost
tap 28672 1 vhost_net
tun 57344 1 vhost_net
rfcomm 90112 4
snd_seq_dummy 16384 0
snd_hrtimer 16384 1
xt_CHECKSUM 16384 1
xt_MASQUERADE 20480 3
xt_conntrack 16384 1
ipt_REJECT 16384 2
nf_nat_tftp 16384 0
nf_conntrack_tftp 20480 3 nf_nat_tftp
bridge 290816 0
stp 16384 1 bridge
llc 16384 2 bridge,stp
ccm 20480 6
nft_objref 16384 2
nf_conntrack_netbios_ns 16384 1
nf_conntrack_broadcast 16384 1 nf_conntrack_netbios_ns
nft_fib_inet 16384 1
[...]
Perintah lsmod mendapatkan detail modul Kernel yang sedang dimuat dari file /proc/modules
.
Semoga Anda mendapatkan ide dasar tentang apa itu modul Kernel Linux dan bagaimana membuat daftar modul yang sedang dimuat di Kernel Linux. Mari kita lanjutkan dan lihat cara melihat detail modul Kernel tertentu.
Menampilkan informasi modul Kernel Linux dengan perintah modinfo
modinfo
perintah menunjukkan informasi rinci dari modul Kernel yang diberikan. Secara default, ini mencantumkan atribut modul Kernel dalam bentuk fieldname : value
, agar mudah dibaca.
Untuk menampilkan informasi modul Kernel Linux, misalnya 88XXau
, yang merupakan TP-Link AC600 (Archer T2U Nano) adaptor Nirkabel , jalankan:
$ modinfo 88XXau
Contoh keluaran:
filename: /lib/modules/5.11.18-300.fc34.x86_64/extra/88XXau.ko.xz
version: v5.6.4.2_35491.20191025
author: Realtek Semiconductor Corp.
description: Realtek Wireless Lan Driver
license: GPL
srcversion: 4EC0EE17404B8E38B323235
alias: usb:v7392pB611ddcdscdpiciscipin
alias: usb:v7392pA813ddcdscdpiciscipin
alias: usb:v7392pA812ddcdscdpiciscipin
alias: usb:v7392pA811ddcdscdpiciscipin
alias: usb:v3823p6249ddcdscdpiciscipin
alias: usb:v2357p0122ddcdscdpiciscipin
alias: usb:v2357p0120ddcdscdpiciscipin
[...]
Jangan tambahkan .ko
ekstensi ke akhir nama modul Kernel. Karena nama modul Kernel tidak memiliki ekstensi, tetapi file terkaitnya memiliki ekstensi.
Menampilkan detail tertentu dari modul Kernel
Saat Anda menjalankan modinfo tanpa opsi apa pun, ini akan menampilkan banyak informasi tentang modul kernel yang diberikan. Anda dapat mempersempit hasil dengan hanya menampilkan bidang tertentu seperti author
, description
, license
, parm
, depends
, dan alias
. Perintah berikut menampilkan detail setiap bidang 88XXau
modul.
1. Tampilkan penulis modul Kernel (vendor)
Untuk melihat siapa yang menulis modul Kernel, gunakan author
bendera.
$ modinfo -F author 88XXau
Realtek Semiconductor Corp.
2. Tampilkan deskripsi modul Kernel
Untuk mencetak deskripsi modul Kernel, gunakan description
bendera.
$ modinfo -F description 88XXau
Realtek Wireless Lan Driver
3. Tampilkan lisensi modul Kernel
Mengetahui lisensi modul Kernel dapat berguna ketika Anda ingin mengetahui apakah firmware dan driver open source atau closed source. Beberapa distribusi Linux mungkin menyertakan driver tidak bebas secara default. Anda dapat memverifikasi apakah drive perangkat gratis atau tidak gratis dengan memeriksa lisensi yang dilampirkan padanya.
$ modinfo -F license 88XXau
GPL
Sebagian besar modul Kernel dilisensikan di bawah GPL
(Lisensi Publik GNU). Beberapa modul mungkin memiliki lisensi ganda, misalnya BSD
dan GPL
.
$ modinfo -F license zram Dual BSD/GPL
4. Tampilkan parameter modul Kernel
Untuk melihat parameter modul Kernel, jalankan:
$ modinfo -F parm 88XXau rtw_wireless_mode: (int) rtw_monitor_overwrite_seqnum:Overwrite the sequence number of injected frames (int) rtw_monitor_retransmit:Retransmit injected frames (int) rtw_monitor_disable_1m:Disable default 1Mbps rate for monitor injected frames (int) rtw_ips_mode:The default IPS mode (int) rtw_lps_level:The default LPS level (int) [...]
5. Menampilkan dependensi modul Kernel
Untuk melihat dependensi modul Kernel, jalankan:
$ modinfo -F depends 88XXau
cfg80211
Anda juga dapat menggunakan -a/--author
, -d/--description
, -l/--license
, -p/--parameters
flag untuk menampilkan detail spesifik dari modul Kernel. Ini hanyalah jalan pintas untuk --field
penulis bendera, deskripsi, lisensi, dan parm. Misalnya, Anda dapat menggunakan -l
atau --license
tandai untuk melihat lisensi modul Kernel.
$ modinfo -l kvm
Atau,
$ modinfo --license kvm
Perintah di atas setara dengan perintah berikut:
$ modinfo -F license kvm
Untuk detail lebih lanjut tentang modinfo
perintah, lihat halaman manualnya.
$ man modinfo
Semoga membantu.
Bacaan terkait:
- Daftar Atau Periksa Semua Kernel Linux yang Terinstal Dari Commandline
- Kelola Dan Pantau Modul Kernel Linux Dengan Kmon