GNU/Linux >> Belajar Linux >  >> Linux

Tampilkan Informasi Modul Kernel Linux Dengan Perintah Modinfo

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

Linux
  1. Perintah JQ di Linux dengan Contoh

  2. Cara Menggunakan Perintah RMmod Di Linux Dengan Contoh

  3. Perintah ls Linux

  1. Perintah wc Linux dengan Contoh

  2. Cara menggunakan perintah ketik (menampilkan informasi tentang perintah) di Linux

  3. Linux – Kernel Tercemar Di Linux?

  1. Perintah ip Linux dengan Contoh

  2. Perintah Dmesg di Linux

  3. Perintah Lsmod di Linux (Mencantumkan Modul Kernel)