Linux / UNIX Kòmandman: insmod

Lòd insemination Linux / UNIX enstale yon modil chargeable nan du la kouri. insid ap eseye konekte yon modil nan duèl la kouri pa rezoud tout senbòl soti nan tab ekspòte kalite nwayo a.

Si non an fichye modil yo bay san yo pa repèrtwar oswa ekstansyon, insmod ap fè rechèch pou modil la nan kèk repèrtwar default komen. Anviwònman varyab MODPATH ka itilize pou deplase default sa a. Si yon dosye konfigirasyon modil tankou /etc/modules.conf egziste, li pral pase sou desen ki defini nan MODPATH .

Anviwònman varyab MODULECONF la kapab itilize tou pou chwazi yon dosye konfigirasyon diferan de default /etc/modules.conf (oswa /etc/conf.modules (deprecated)). Varyab anviwònman sa a pral pase sou tout definisyon ki anwo yo.

Lè anviwònman varyab UNAME_MACHINE yo mete, modutils pral sèvi ak valè li yo olye pou yo jaden an jaden soti nan uname () syscall la. Sa a se sitou nan itilize lè w ap konpile 64-ti jan modil nan 32-ti jan itilizatè espas oswa vis vèrsa, mete UNAME_MACHINE nan kalite modil yo. Moditil aktyèl pa sipòte tout mòd kwa bati pou modil, li limite pou chwazi ant 32- ak vèsyon 64-ti jan nan achitekti a lame.

Opsyon

-e persist_name , --persist = persist_name

Espesifye kote nenpòt ki done ki pèsistan pou modil la li soti nan sou chaj ak ekri nan lè sa a enjenyasyon nan modil la se chaje. Opsyon sa a an silans inyore si modil la pa gen okenn done ki pèsistan. Done ki pèsistan se sèlman li pa ensmod si opsyon sa a prezan, pa default insmod pa pwosesis done ki pèsistan.

Kòm yon fòm steno , -e "" (yon fisèl vid) entèprete pa insmod kòm valè a persistdir jan sa defini nan modules.conf , ki te swiv pa fichye a nan modil la relatif nan chemen an rechèch modil li te jwenn nan, mwens nenpòt ki fin ".gz", ".o" oswa ".mod". Si modules.conf espesifye " persistdir = " (sa vle di persistdir se yon jaden vid), lè sa a fòm shorthand sa a an silans inyore. (Gade modules.conf (5).)

-f , - fòse

Eseye chaje modil la menm si vèsyon an nan du a kouri ak vèsyon an nan du a pou ki modil la te konpile pa matche ak. Sa a sèlman anile chèk vèsyon an Kernel, li pa gen okenn efè sou chèk non senbòl. Si non yo senbòl nan modil la pa koresponn ak Kernel a Lè sa a, pa gen okenn fason yo fòse insmod chaj modil la.

-h , - ede

Montre yon rezime opsyon ak imedyatman sòti.

-k , --autoclean

Mete drapo oto-pwòp la sou modil la. Yo pral itilize drapo sa a pa kerneld (8) pou retire modil ki pa te itilize nan kèk peryòd tan - anjeneral yon minit.

-L , -

Sèvi ak bann mouton (2) pou anpeche charj similtane menm modil la.

-m , --map

Sòti yon kat jeyografik chaj sou stdout, ki fè li pi fasil yo debug modil la nan evènman an nan yon panik Kernel.

-n , --noload

Enbesil kouri, fè tout bagay eksepte chaj modil la nan du a. Si yo mande nan yon -m oswa -O , kouri a pral pwodwi yon kat jeyografik oswa dosye blob. Depi modil la pa chaje, adrès la chaje reyèl se enkoni pou kat jeyografik la ak dosye blob yo baze sou yon adrès chay abitrè nan 0x12340000.

-o module_name , -name = module_name

Eksplisite non modil la, olye ke derive non an nan non baz la nan dosye a objè sous.

-O blob_name , - blob = blob_name

Sove objè a binè nan blob_name . Rezilta a se yon blob binè (pa gen Tèt ELF) ki montre ekzakteman ki sa ki chaje nan du a apre manipilasyon seksyon ak demenajman. Opsyon -m rekòmande pou jwenn yon kat jeyografik objè a.

-p , - pwoblem

Probe modil la yo wè si li ta ka avèk siksè chaje . Sa a gen ladan lokalize dosye a objè nan chemen an modil, tcheke nimewo vèsyon, ak rezoud senbòl. Li pa tcheke relokasyon yo ni li pwodui yon kat jeyografik oswa dosye blob.

-P prefiks , --prefix = prefiks

Opsyon sa a ka itilize ak modil vèsyonèl pou yon Kernel SMP oswa bigmem, depi modil sa yo gen yon prefiks siplemantè te ajoute nan non senbòl yo. Si du a te konstwi ak vèsyon senbòl lè sa a insmod pral otomatikman ekstrè prefiks la nan definisyon an "get_module_symbol" oswa "inter_module_get", youn nan ki dwe egziste nan nenpòt ki Kernel ki sipòte modil. Si Kernel la pa gen okenn vèsyon senbòl men modil la te bati ak vèsyon senbòl Lè sa a, itilizatè a dwe bay -P .

-q , -

Pa enprime yon lis tout senbòl ki pako rezoud. Pa pote plent sou dezekilib vèsyon. Pwoblèm nan pral sèlman reflete nan estati a sòti nan insmod .

-r , - rasin

Gen kèk itilizatè yo konpile modil anba yon userid ki pa rasin Lè sa a, enstale modil yo kòm rasin. Pwosesis sa a ka kite modil ki posede pa itilizatèid la ki pa rasin, menm si anyè modil la ki posede pa rasin. Si itilizatèid la ki pa rasin konpwomèt, yon entru ka redwi modil ki egziste deja ki itilizatèid epi sèvi ak ekspoze sa a nan bootstrap jiska aksè rasin.

Pa default, modutils yo pral rejte tantativ yo sèvi ak yon modil ki pa posede pa rasin. Espesifye -r pral aktive chèk la epi pèmèt rasin chaj modil ki pa posede pa rasin. Nòt: ka valè default la pou chèk rasin ka chanje lè moditil yo configuré.

Sèvi ak -r pou enfim rasin tcheke oswa mete default la nan "pa gen okenn chèk rasin" nan tan konfigirasyon se yon ekspozisyon sekirite pi gwo epi yo pa rekòmande.

-s , - syslog

Sòti tout bagay nan syslog (3) olye pou yo tèminal la.

-S , - kallsyms

Fòse modil la chaje gen kallsyms done, menm si Kernel a pa sipòte li. Opsyon sa a se pou sistèm ti kote se Kernel a chaje san done kalssym men modil chwazi bezwen kallsyms pou debogaj. Opsyon sa a se default la sou Red Hat Linux.

-V , --verbose

Fè vèbal.

-V , --version

Montre vèsyon an nan insmod .

-X , - ekspòte ; -x , - ekspòtasyon

Fè epi pa ekspòtasyon tout ekstèn ekstèn modil la, respektivman. Default la se pou senbòl yo dwe ekspòte. Opsyon sa a se sèlman efikas si modil la pa eksplisitman ekspòte pwòp li yo kontwole tab senbòl, e konsa se deprecated.

-Y , - ksymoops ; -y , - noksymoops

Èske epi pa ajoute senbòl ksymoops pou ksym. Sa yo senbòl yo itilize pa ksymoops bay pi bon debogaj si gen yon Oops nan modil sa a. Default la se pou senbòl yo ksymoops yo dwe defini. Opsyon sa a se endepandan de -X / -x opsyon yo.

senbòl ksymoops ajoute apeprè 260 bytes pou chak modil chaje. Sòf si ou se reyèlman kout sou espas Kernel epi yo ap eseye redwi ksyms nan minimòm gwosè li, pran default la epi pou yo jwenn pi egzak Debou debouche. senbòl ksymoops yo oblije sove done modil ki pèsistan.

-N , - nimerik-sèlman

Sèlman tcheke pati nan nimerik nan vèsyon an modil kont vèsyon an Kernel, sa vle di inyore EXTRAVERSION lè n ap deside si yon modil ki dwe nan yon Kernel. Sa a se drapo otomatikman mete pou Kernel 2.5 sou, li se si ou vle pou pi bonè nwayo.

Modil paramèt

Gen kèk modil aksepte paramèt chaj-tan yo Customize operasyon yo. Paramèt sa yo souvan se I / O pò ak nimewo IRQ ki varye de machin nan machin epi yo pa kapab detèmine nan pyès ki nan konpitè.

Nan modil bati pou 2.0 seri nwayo, yo ka trete nenpòt senbòl konsèy entèger oswa karaktè pou trete kòm yon paramèt ak modifye. Kòmanse nan nwayo yo seri 2.1, senbòl yo klèman make kòm paramèt pou ke sèlman valè espesifik ka chanje. Anplis de sa, se tip enfòmasyon bay pou tcheke valè yo bay nan moman chaj.

Nan ka nonm antye, tout valè yo ka nan desimal, octal oswa ekzadesimal yon la C: 17, 021 oswa 0x11. Eleman eleman yo se sekans espesifye ki separe pa koma. Eleman yo ka sote pa omize valè a.

Nan modil seri 2.0, valè ki pa kòmanse ak yon nimewo yo konsidere kòm strings. Kòmanse nan 2.1, enfòmasyon kalite paramèt la endike si wi ou non pou entèprete valè a kòm yon kòd. Si valè a kòmanse ak doub-quotes ( " ), se fisèl la entèprete tankou nan C, sekans chape ak tout. Fè nòt ki soti nan èd memwa yo koki, quotes yo tèt yo ka bezwen pwoteje soti nan entèpretasyon koki.

GPL Licensed modil ak senbòl

Kòmanse ak Kernel 2.4.10, modil yo ta dwe gen yon kòd lisans, defini lè l sèvi avèk MODULE_LICENSE () . Plizyè plenn yo rekonèt ke yo te GPL konpatib; nenpòt ki lòt kòd lisans oswa pa gen okenn lisans nan tout vle di ke modil la trete kòm propriétaires.

Si nwayo a sipòte dra / proc / sys / kernel / tache dra a, insmod pral OSWA drapo a tache ak '1' lè chaje yon modil san yon lisans GPL. Yon avètisman bay si nwayo a sipòte tainting ak yon modil chaje san yon lisans. Yon avètisman toujou bay pou modil ki gen yon MODULE_LICENSE () ki pa GPL konpatib, menm sou pi gran nwayo ki pa sipòte tainting. Sa a minimize avètisman lè yon nouvo moditil yo itilize sou pi gran nwayo.

insmod -f (fòs) mòd pral OSWA drapo a tache ak '2' sou nwayo ki sipòte tainting. Li toujou bay yon avètisman.

Gen kèk devlopè Kernel mande pou senbòl ki ekspòte pa kòd yo dwe itilize sèlman pa modil ki gen yon lisans konpatib GPL. Sa yo senbòl yo ekspòte pa EXPORT_SYMBOL_GPL olye de EXPORT_SYMBOL nòmal la. GPL-sèlman senbòl ekspòte pa du ak lòt modil sont vizib pou modules ki gen yon lisans GPL-konpatib, senbòl sa yo parèt nan / proc / ksyms ak yon prefix de ' GPLONLY_ '. insmod inyore prefiks la GPLONLY_ sou senbòl pandan y ap loading yon GPL ki gen lisans modil konsa modil la jis refere a non an senbòl nòmal, san yo pa prefiks la. GPL senbòl sèlman pa disponib pou modil san yon lisans konpatib GPL, sa gen ladann modil ki pa gen okenn lisans nan tout.

Ksymoops Asistans

Pou ede ak debogaj nan Kernel Soti lè w ap itilize modil, défaut insmod pou ajoute kèk senbòl pou ksyms, gade opsyon -Y la. Senbòl sa yo kòmanse ak __insmod_modulename_ . Modulename a oblije fè senbòl yo inik. Li se legal chaje objè a menm plis pase yon fwa anba non modil diferan. Kounye a, senbòl defini yo se:

__insmod_modulename_Oobjectfile_Mmtime_Vversion

objectfile se non an nan dosye a ki te objè a chaje nan. Sa a asire ke ksymoops ka matche ak kòd la nan objè ki kòrèk la. mtime se dènye modifye timestamp a sou dosye sa a nan hex, zewo si stat echwe. vèsyon se vèsyon an Kernel ki modil la te konpile pou, -1 si pa gen okenn vèsyon ki disponib. Senbòl _O a gen menm kòmanse adrès la kòm header nan modil.

__insmod_modulename_Ssectionname_Llength

Senbòl sa a parèt nan kòmansman chwazi seksyon ELF yo, aktyèlman .text, .rodata, .data, .bss ak .sbss. Li sèlman parèt si seksyon an gen yon gwosè ki pa zewo. seksyonname se non seksyon ELF la, longè se longè seksyon an nan desimal. Sa yo senbòl ede ksymoops kat jeyografik adrese nan seksyon lè pa gen okenn senbòl ki disponib.

__insmod_modulename_Ppersistent_filename

Se sèlman kreye pa insmod si modil la gen youn oswa plis paramèt ki make kòm done ki pèsistan ak yon fichier pou konsève pou done ki pèsistan (gade -e , pi wo a) ki disponib.

Pwoblèm nan lòt ak debugging Kernel Soti nan modil se ke sa ki nan / proc / ksyms ak / proc / modil ka chanje ant Oops yo ak lè ou travay sou dosye a boutèy demi lit. Pou ede simonte pwoblèm sa a, si anyè / var / log / ksymoops egziste Lè sa a, insmod ak rmmod pral otomatikman kopi / proc / ksyms ak / proc / modules / var / log / ksymoops ak yon prefiks nan dat dat% % H% M% S`. Administratè sistèm lan ka di ksymoops ki dosye snapshot yo itilize lè debogaj yon Oops. Pa gen okenn chanjman nan enfim kopi otomatik sa a. Si ou pa vle li rive, pa kreye / var / log / ksymoops . Si ke anyè sa a egziste, li ta dwe posede pa rasin epi yo dwe mòd 644 oswa 600 epi ou ta dwe kouri script sa a chak jou oswa konsa. Script ki anba a enstale kòm insmod_ksymoops_clean .

Enfòmasyon debaz pou yo konnen

NON

insmod - enstale modil Kernel chaje

SYNOPSIS

insmod [-fhkLmnpqrsSvVxXyYN] [-e persist_name ] [-o modil_name ] [-O blob_name ] [-P prefix ] modil [ senbòl = valè ...]