Programy wspomagające prace z modułami jądra

Contents

lsmod

Program lsmod służy do listowania modułów jądra. Znaczenie poszczególnych kolumn odpowiednio to: Nazwa modułu, wielkość w bajtach, licznik użyć oraz nazwa modułów które go używają.

Przykład:

[root@localhost linux]# lsmod
Module                  Size  Used by    Not tainted
loop                   14868   0  (autoclean)
aes                    31808   0  (autoclean) [loop]
appletalk              26596   1  (autoclean)
ipx                    22244   1  (autoclean)
nfsd                   80656   8  (autoclean)
af_packet              15432   0  (autoclean)
sr_mod                 17240   0  (autoclean)
floppy                 56156   0
nls_iso8859-2           4092   2  (autoclean)
nls_cp852               4316   2  (autoclean)
vfat                   12588   2  (autoclean)
fat                    39032   0  (autoclean) [vfat]
supermount             16384   2  (autoclean)
ide-cd                 35520   0
cdrom                  33536   0  [sr_mod ide-cd]
ide-scsi               12208   0
scsi_mod               67604   2  [sr_mod ide-scsi]
rtc                     8444   0  (autoclean)
ext3                   64172   2
jbd                    41788   2  [ext3]

rmmod

Program usuwa moduł z pamięci. Jeżeli dany moduł jest wykorzystywany co zależy np.: od innego załadowanego modułu, TO zostanie zgłoszony błąd np.: fat: Device or resource busy. W przypadku pozytywnego wykonania polecenia nie zostanie wyświetlona żadna informacja

Przykład: W powyższych przykładach używać będziemy modułów fat i vfat. Usuńmy je najpierw abyśmy mogli dokonać prezentacji (należy jednak wcześniej odmountować partycje Windowsowe).

[root@localhost /]# rmmod fat
fat: Device or resource busy
[root@localhost /]# rmmod vfat
[root@localhost /]# rmmod fat

insmod

Program służy do ładowania modułu do jądra, nie analizuje zależności.

Przykład: załadujmy moduł vfat potrzebny do obsługi partycji Windowsowych typu FAT16 czy FAT32. Zależy on od modułu fat.

[root@localhost /]# insmod vfat
Using /lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_attach_Rdce1d092
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_new_dir_R5f1614e8
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_mark_buffer_dirty_R00823aea
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_read_super_Rb2424abe
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_brelse_R7fda19d8
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_dir_empty_R7d769431
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_build_inode_Rdf48c608
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat__get_entry_R62bcea02
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_notify_change_R30381a5f
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_detach_Ra32507c7
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_date_unix2dos_Rc49edbc0
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_add_entries_R879a6dff
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_search_long_Rc853726a
/lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o: unresolved symbol fat_scan_Rbdc5be71


[root@localhost /]# insmod fat
Using /lib/modules/2.4.21-0.13mdkcustom/kernel/fs/fat/fat.o
[root@localhost /]# insmod vfat
Using /lib/modules/2.4.21-0.13mdkcustom/kernel/fs/vfat/vfat.o

modprobe

Program służy do ładowania modułu do jądra, analizuje zależności.

Przykład: Zróbmy to samo co powyżej, czyli spróbujmy załadować moduł vfat.

[root@localhost /]# modprobe vfat
[root@localhost /]#

Jak widać obyło się tym razem bez problemów.

modinfo

Program wyświetla informacje o określonym module:

[root@duzy 2.4.20]# modinfo samhain_hide
filename:    /lib/modules/2.4.20/samhain_hide.o
description: "Hide files/processes/modules with MAGIC_HIDE in name."
author:      "Rainer Wichmann"
license:     "GPL"

depmod

Depmod tworzy plik podobny do "Makefile" z zależnościami, bazujący na symbolach, które znalazł w zbiorze modułów podanych w linii komend (lub w standardowym miejscu). Plik zależności może być potem użyty przez modprobe , aby automatycznie załadować odpowiednie moduły.

ksyms

ksyms wypisuje informacje o udostępnianych przez jądro symbolach. Format jest postaci: adres, nazwa, i moduł, w którym go zdefiniowano.

Dodaj komentarz