Linux / iwu Unix: insmod

Iwu Linux / Unix insmod na- eme ka otu modul dị na kernel na-agba ọsọ. insmod na- agba mbọ ijikọta usoro modul n'ime kernel na-agba ọsọ site na ịmepụta ihe nnọchianya niile si na tebụl akara ngosi nke kernel.

Ọ bụrụ na a na-enye aha faịlụ modul na-enweghị ndekọ ma ọ bụ ndọtị, insmod ga-achọ nchịkwa ahụ na ụfọdụ akwụkwọ ndekọ ndabara nkịtị. MODPATH gburugburu gburugburu ebe obibi nwere ike iji mee ihe iji dochie ndabara a. Ọ bụrụ na faịlụ nhazi nhazi dị ka /etc/modules.conf dị adị, ọ ga- agbaghasị ụzọ ndị a kọwara na MODPATH .

E nwere ike iji MODULECONF gburugburu ebe obibi họrọ otu faịlụ nhazi site na ndabara /etc/modules.conf (ma ọ bụ /etc/conf.modules (deprecated)). Mgbanwe gburugburu ebe obibi a ga-agbaghasị nkọwa niile dị n'elu.

Mgbe edoziri gburugburu UNAME_MACHINE gburugburu ebe obibi, modutils ga-eji uru ya kama nke ugbo igwe site na uname () syscall. A na-eji nke a mee ihe mgbe ị na-agụkọta modul 64-bit na ebe ọrụ ọrụ 32-bit ma ọ bụ vice versa, debe UNAME_MACHINE ụdị ụdị ahụ. Nhọrọ ndị dị ugbu a adịghị akwado usoro ọkpụkpụ zuru oke maka modul, ọ na-ejedebe na ịhọrọ n'etiti 32 na 64-bit nke nsụgharị ụlọ ọrụ.

Nhọrọ

-e persist_name , --persist = persist_name

Na-akọwa ebe ọ bụla data na-aga n'ihu maka modul ahụ na-agụta site na ibu ma dee ya mgbe ebudatara nzizi nke usoro a. A na-eleghara nhọrọ a anya nke ọma ma ọ bụrụ na modul enweghị data na-aga n'ihu. A na-agụ data na-adịgide adịgide na-agụ na insmod ma ọ bụrụ na nhọrọ a dị ugbu a, site na ndabara insmod adịghị edozi data na-adịgide adịgide.

Dị ka ihe dị mkpụmkpụ , -e "" (eriri efu) bụ nke insmod na-akọwa dị ka uru nke ịnọgide na-adị dị ka akọwapụtara na modules.conf , sụgharịrị aha nke modul ahụ metụtara usoro nchọta nke nchịkọta a chọtara n'ime ya trailing ".gz", ".o" ma ọ bụ ".mod". Ọ bụrụ na modules.conf na- akọwa " persistdir = " (ya bụ, persistdir bụ ubi efu) mgbe ahụ a na-eleghara ụdị edemede a anya. (Lee modules.conf (5).)

-f , --force

Mgbalị na-arụ ọrụ nhazi ahụ ọbụlagodi na ọdịdị nke kernel na-agba ọsọ na nsụgharị nke kernel nke usoro nchịkọta ahụ ejikọtara adịghị adaba. Nanị nke a na-ejide akara nyocha nke kernel, ọ dịghị enwe mmetụta na nlele akara aha. Ọ bụrụ na aha njirimara dị na modul anaghị adaba na kernel ahụ enweghi ụzọ ịmanye insmod iji kwụnye usoro.

-h , --help

Gosi nchịkọta nke nhọrọ ma pụọ ​​ozugbo.

-k , --autoclean

Debe ọkọlọtọ na-acha ọcha na modul. A ga - eji ọkọlọtọ a kerneld (8) wepu ihe modul na-ejighị na oge ụfọdụ - na-abụkarị nkeji.

-L , --lock

Jiri ìgwè atụrụ (2) iji gbochie ibu ọrụ nke otu ụdị ahụ.

-m , --map

Mmepụta map map na stdout, na-eme ka ọ dịkwuo mfe ịbupu usoro ihe omume ahụ na ihe omume nke ụjọ.

-n , --loadload

Egwuregwu zuru ezu, mee ihe ọ bụla ma e wezụga ibudata modul ahụ n'ime kernel. Ọ bụrụ na rịọrọ site na -m ma ọ bụ -O , ọsọ ahụ ga-emepụta map ma ọ bụ faịlụ nchekwa. Ebe ọ bụ na enweghị ọkwa, a ghaghị ịma ezigbo adreesị ọrụ kernel ka map ahụ na faịlụ blob dabere na adreesị ozi-efu nke 0x12340000.

-o module_name , --name = module_name

Kwenye aha ya n'ụzọ doro anya, kama ịhọrọ aha site na isi aha nke faịlụ faịlụ.

-O blob_name , --blob = blob_name

Zọpụta ihe ọnụọgụ na blob_name . Ihe si na ya pụta bụ blob ọnụọgụ (ọ dịghị ELF headers) na-egosi kpọmkwem ihe a na-ebuba n'ime kernel mgbe nhazi na nlọghachi nke mpaghara. A na-atụ aro -m ka m nweta map nke ihe ahụ.

-p , --probe

Nyochaa n'usoro modul ahụ iji hụ ma ọ nwere ike ịrụ ọrụ nke ọma . Nke a gụnyere ịchọta faịlụ ihe na usoro nhazi, ịlele nọmba mbipụta, na ịmepụta akara. Ọ naghị eleba ebe obibi ma ọ bụ na ọ na-emepụta map ma ọ bụ faịlụ folb.

- prefix , --prefix = prefix

Enwere ike iji nhọrọ a nke moded maka otu SMP ma ọ bụ bigmem kernel, ebe ọ bụ na ụdị modulu ndị a nwere ntinye mbịnye agbakwunyere na akara aha ha. Ọ bụrụ na e wuru kernel na nsụgharị nsụgharị mgbe ahụ, insmod ga-ewepụta ngwa ngwa site na nkọwa nke "get_module_symbol" ma ọ bụ "inter_module_get", otu n'ime ha ga-adị na kernel ọ bụla na-akwado modulu. Ọ bụrụ na kernel enweghi nsụgharị nsụgharị mana e wuru usoro a na nsụgharị nsụgharị mgbe ahụ onye ọrụ ga-enyerịrị -P .

-q , --quiet

Ejila ndepụta nke akara ọ bụla edozibeghị. Emela mkpesa banyere mismatch version. Nsogbu a ga-egosipụta na ọnọdụ ọpụpụ nke insmod .

-r , - mgbọrọgwụ

Ndị ọrụ ụfọdụ na-ejikọta modulu n'okpuru onye ọrụ na-enweghị mgbọrọgwụ wee wụnye modulu dị ka mgbọrọgwụ. Usoro a nwere ike ịhapụ pọọlụ nke onye na-abụghị onye ọrụ nchịkwa nwere, ọ bụ ezie na ndekọ ndekọ modules nwere mgbọrọgwụ. Ọ bụrụ na onye ọrụ na-adịghị na-adabere na ya, onye omempụ nwere ike ideghari ụdị modul nke onye ọrụ ahụ na-eji ma ọ bụrụ na ọ na-ahụ bootstrap ka ọ ghara ịnweta ohere.

Site na ndabara, modutils ga-ajụ ịnwa iji usoro nke enweghị mgbọrọgwụ. Ịkọwapụta-ga-agbanwegharị ego na-enye mgbọrọgwụ iji kwụnye ụdị modul nke enweghị mgbọrọgwụ. Rịba ama: uru ndabara maka mgbọrọgwụ mgbọrọgwụ nwere ike gbanwere mgbe a haziri modutils.

Iji nke - iji gbanyụọ mgbọrọgwụ mgbọrọgwụ ma ọ bụ dozie ndabara ka "enweghị mgbọrọgwụ mgbọrọgwụ" n'oge oge nhazi bụ isi nchebe nchebe ma akwadoghị ya.

-s , - syslog

Nmepụta ihe niile na syslog (3) kama nke ọnụ.

-S , --kallsyms

Mee ka modul nwere ike inwe data kallsyms , ọbụlagodi na kernel adịghị akwado ya. Nhọrọ a bụ maka obere usoro ebe eburu kernel n'enweghị data kallsyms kama ịhọrọ mpaghara chọrọ kallsyms maka debugging. Nhọrọ a bụ ndabara na Red Hat Linux.

-v , --verbose

Ghọta verbose.

-V , - mgbanwe

Gosipụta mbipute insmod .

-X , --export ; -x , --noexport

Mee ma ghara mbupụ ụdị akara ngosi niile nke usoro ahụ, n'otu n'otu. Ndabara bụ maka akara ndị a ga-ebupụ. Nhọrọ a bụ naanị irè ma ọ bụrụ na modul ahụ adịghị egosipụta mbupu nke akara ngosi ya, ma si otú a deprecated.

-Y , --ksymoops ; -y , --noksymoops

Mee ma tinye mgbakwunye ssymoops na ksyms. A na-eji akara ngosi ndị a eji ksymoops iji mee ka ọ dị mma ịwụda ma ọ bụrụ na e nwere Oops na modul a. Ndabere bụ maka akara nke ksymoops ka a kọwaa. Nke a na-adabere na nhọrọ -X / -x .

akara ngosi ksymoops tinye ihe dị ka 260 octets kwa nke a kwadoro. Ọ gwụla ma ị dị mkpụmkpụ na oghere kernel ma na-agbalị iji belata ksyms ruo nke kachasị dị elu, were ndabara ma nweta ihe ziri ezi Oops debugging. A chọrọ akara akara ksymoops iji chekwaa data ntanetị.

-N , --numeric-naanị

Naanị nyochaa akụkụ nke usoro modul ahụ megide usoro kernel, yabụ na-eleghara Ọpụpụ anya mgbe ị na-ekpebi ma ọ bụrụ na modul bụ kernel. A na-edozi ọkọlọtọ a maka kernel 2.5 na-aga, ọ bụ nhọrọ maka mkpụrụ ndụ mbụ.

Ngalaba Nhọrọ

Ụfọdụ modulu na-anabata oge ọrụ oge iji hazie ọrụ ha. Ndị a na-abụkarị I / O ọdụ ụgbọ mmiri na nọmba IRQ nke dị iche na igwe na igwe na enweghị ike kpebisie ike site na ngwaike.

Na modul wuru maka mkpụrụ ndụ nsonye 2.0, enwere ike igosi ụdị ọnụọgụ ma ọ bụ agwa okwu pointer dị ka ihe dị elu ma gbanwee. Malite na mkpụrụ ndụ usoro 2.1, a na-egosipụta akara dị iche iche dị ka afọ nke mere na ọ bụ naanị ụkpụrụ ụfọdụ nwere ike gbanwere. Ọzọkwa, a na-enye ụdị ozi maka ịlele ụkpụrụ enyere na oge ọrụ.

N'ihe banyere ọnụọgụ, ọnụọgụ niile nwere ike ịdị na ụda, octal ma ọ bụ hexadecimal a la C: 17, 021 ma ọ bụ 0x11. Ihe ndị na-ekpuchi bụ usoro nke akọwapụtara site na commas. E nwere ike ịmegharị ihe ndị ọzọ site na ịhapụ njirimara.

Na nchịkwa usoro 2.0, ụkpụrụ ndị na-adịghị amalite site na ọnụ ọgụgụ na-atụle ụdọ. Malite na 2.1, ozi ụdị ihe dị elu na-egosi ma ị ga-akọwa uru dị ka eriri. Ọ bụrụ na ọnụọgụ ahụ na-amalite site na mkpịsị abụọ ( " ), a na-akọwa eriri ahụ dị ka C, gbanahụ usoro na ihe nile.

GPL Licensed Modules and Symbols

Malite na kernel 2.4.10, modul kwesịrị inwe eriri ikike, akọwapụtara MODULE_LICENSE () . A na-amata ọtụtụ ụdọ dị ka ihe gbasara GPL; ọ bụla ikikere ikike ma ọ bụ enweghị ikikere ọ bụla pụtara na modul na-emeso dị ka onye nwe ụlọ.

Ọ bụrụ na kernel na-akwado ọkọlọtọ / proc / sys / kernel / drained ọkọlọtọ ahụ, ga - abụ ma ọ bụ akara ọkọlọtọ na '1' mgbe ị na - ebufe otu modul n'enweghị ikike GPL. A na-enye ịdọ aka ná ntị ma ọ bụrụ na kernel na-akwado ọnyá na modul na-ebu ụgwọ na-enweghị ikikere. A na-enye ịdọ aka ná ntị mgbe niile maka modul nke nwere MODULE_LICENSE () nke na-abụghị GPL dakọtara, ọbụlagodi na kịtịkpa ndị na-akwadoghị ikpocha. Nke a na-ebelata ịdọ aka ná ntị mgbe a na-eji ụdị ọgbara ọhụrụ mee ihe na mkpụrụ ndụ agadi.

ọnọdụ admod -f (ike) ga- ABỤ ọfụma na- eme ka ọ bụrụ '2' na mkpụrụ ndụ nke na-akwado ọnyá. Ọ na-enye ịdọ aka ná ntị mgbe nile.

Ụfọdụ ndị mmepe kernel chọrọ ka akara akara ndị a na-ebupụ site na koodu ha ga-eji ya rụọ ọrụ site na ikikere GPL. A na-emepụta akara ngosi ndị a site EXPORT_SYMBOL_GPL kama nke nkịtị EXPORT_SYMBOL . GPL-naanị akara a na-ebugharị site na kernel na site na modul ndị ọzọ ka a na-ahụ anya na modules na ikikere GPL, ndị a na-apụta na / proc / ksyms na prefix nke ' GPLONLY_ '. insmod na- eleghara ihe ndekọ GPLONLY_ anya na akara mgbe ọ na-ebufe otu ngwanrọ ikikere GPL ka ngwanrọ ahụ na-ezo aka n'aha akara aha, na-enweghị prefix. GPL naanị akara anọghị na modulu na-enweghị ikikere GPL dakọtara, nke a na-agụnye modul na enweghị ikikere ọ bụla.

Enyemaka aka na-akwalite mgbakọ

Iji nyere aka na mbubata nke kernel Oma mgbe ị na-eji modulu, insmod na- emejọ iji tinye ụfọdụ akara na ksyms, lee nhọrọ -Y . Ihe akara ndia na-amalite na __insmod_modulename_ . A chọrọ aha njirimara iji mee ka ihe nnọchianya dị iche iche. Ọ bụ ihe iwu kwadoro otu ihe ahụ karịa otu ugboro n'okpuru aha modulu dị iche iche. Ugbu a, akara akara bụ:

__insmod_modulename_Oobjectfile_Mmtime_Vversion

objectfile bụ aha faịlụ ahụ na-eburu ihe ahụ. Nke a na-achota na ksymoops nwere ike ime ka koodu ahụ dokwuo anya. Oge ntanetị bụ oge ikpeazụ a gbanwere na faịlụ ahụ na hex, efu ma ọ bụrụ na stat adaghị. mbipute bu kernel version nke achikota usoro a, -1 ma oburu na o nweghi uzo. Ihe ngosi _O nwere otu mmalite mmalite dị ka nkụnye isiokwu nkụzi.

__insmod_modulename_Ssectionname_Llength

Ihe oyiyi a na-egosi na mmalite nke ngalaba ELF ahọpụtara, ugbu a .text, .rodata, .data, .bss na .sbss. Ọ na-egosi naanị ma ọ bụrụ na ngalaba ahụ nwere nha efu. namename bụ aha nke ELF ngalaba, ogologo bụ ogologo nke ngalaba na decimal. Ihe ndị a na-enyere ksymoops map adreesị aka na ngalaba mgbe enweghị akara.

__insmod_modulename_Ppersistent_filename

Naanị site na insmod ma ọ bụrụ na modul nwere otu ma ọ bụ karịa njikwa ndị akara dị ka data na-aga n'ihu na aha njirimara iji chekwaa data na-aga n'ihu (lee -e , n'elu) dị.

Nsogbu nke ọzọ na kernel debugging Oops in modules bụ na ọdịnaya nke / proc / ksyms na / proc / modules nwere ike ịgbanwe n'etiti Oops na mgbe ị haziri faịlụ log. Iji nyere aka imeri nsogbu a, ọ bụrụ na ndekọ / var / log / ksymoops dị adị mgbe ahụ, insmod na rmmod ga-edepụta onwe ha / proc / ksyms na / proc / modules na / var / log / ksymoops na prefix nke 'ụbọchị +% Y% m % d% H% M% S`. Onye nchịkwa usoro nwere ike ịgwa ksymoops nke faịlụ ntanetị iji mee ihe mgbe ị na-ebudata otu Oops. Enweghị mgbanwe ọ bụla iji gbanyụọ mpempe akwụkwọ a. Ọ bụrụ na ịchọghị ka ọ bịa, emela / var / log / ksymoops . Ọ bụrụ na ndekọ ahụ dị, ọ ga - enwe mgbọrọgwụ ma bụrụ mode 644 ma ọ bụ 600 na ị ga - agba akwụkwọ a kwa ụbọchị ma ọ bụ ya. Edebere edemede dị n'okpuru ebe a dịka insmod_ksymoops_clean .

Ozi Nhazi Iji Mara

Aha

insmod - wụnye modul nke kernel

SYNOPSIS

insmod [-fhkLmnpqrsSvVxXyYN] [-e persist_name ] [-o module_name ] [-O blob_name ] [-Pfiji] modul [ symbol = value ...]