Fermana Linux / Unix:

Desteya Linux / Unix- insmod di moda kernel a running module loadable . insmod dixebitin ku modulek di nav kernelê de bi girêdana hemî sembolên ji sifreya nîşana sembola kernel ve girêdayî bikin.

Ger navê navnîşa pelê bêyî derhênar an pêşveçûnê tê dayîn, insmod ê ji bo rêberên dîplomatîfên hinek yên gelemperî lêgerîn dê modulê bigerin. Hînbûna hawirdorê MODPATH dikare bikar bîne ku ji bo vê defaultê ve bêtir veguhestin. Heke pelê veguherîna module, wekî /etc/modules.conf heye, ew ê rêyên ku di MODPATH de hatiye diyarkirin.

MODULECONF pevçûnê jî dikarin bikar bînin ku ji pelê veguhastineke cuda vebijêre ji default /etc/modules.conf (an / et //conf.modules ) (. Ev pîvana hawîrdorê dê ji hemû jûrgavên jorîn sererast bikin.

Dema ku hawirdora hawirdorê UNAME_MACHINE ve hatiye çêkirin, modulîl wê dê di binê mifteya mifteyê de ji hêla unys (syscall) bikar bînin. Ev yek pir karûbar e dema ku hûn di asta 32-bit bikarhêner de 64-bit têkildar dikin an jî versa versa, UNAME_MACHINE bi cure modela veguherînin. Modulên heyî yên ku ji modulên mûzîkê yên tevlihev re piştgirî dikin piştgirî dikin, ev vala vala di nav 32-û 64-bit de ya mîmarê mêvandar hilbijêrin.

Vebijêrkên

-e persist_name , -sivist = persist_name

Di navnîşan de ku dane ku ji bo moduleke berdewam ji bo module ve li barkirinê û nivîskî ve tê xwendin, dema ku ev pêvajoyê ya module bê vekirî ye. Vebijêrk danûstendina danûstendinê tune ye ku ev bijare bêdeng e. Daneyên dûrtirîn tenê tenê bi insmod xwendin heke ev bijarte heye, bi hêla insmod nayê daneyên danûstendinê berdewam dike.

Wekî wekî formek şehrezayî , -e "" ( stingek vala) tête ku bi nirxa persistdir re wekî modules.conf hate diyarkirin, ji hêla pelê ya modela xizmetê ya riya lêgerînê ya module ve hate dîtin. trailing ".gz", ".o" an ".mod". Heke module.conf diyar dike " persistdir = " (ango ristirir a zeviyek valah e) hingê ev formê hûrgelê bi bêdeng neyê dîtin. (Binêrin modules.conf (5).)

-f , -force

Heke ku versiyonê kernel û guhertoya kernel ji bo ku module hatiye damezirandin module barkirin, module barkirin. Vê tenê tenê kontrola kernelê, li ser kontrolên navekî sembol tune ye. Heke navên sembol di modulê de neynin kernel nebin, hingê rêbazek nehêle ku amadekirina hêza module zêde bike.

-h , --help

Vebijêrkek hilbijêre û zû vekişîn.

-k , --autoclean

Li ser modulê otomalî ya paqij bike. Ev ala dê ji aliyê kerneld (8) ve tê bikaranîn ku ji modulên ku jê re di demeke dirêj de nehate bikaranîn - bi gelemperî reqîqe.

-L , -lock

Ji bo pêşniyarên heman mûzulek bi pêşîgirtina bendê (2) bikar bînin.

-m , -map

Hilbijêre ku nexşeya barkirinê li ser stdout, çêkirina hêsantir di dema bûyera kernel de debug bike.

-n , --noload

Dummy run, her tişt ji bila barkirinê module di nav kernel de bikin. Heke ku ji an -m an- O daxwaza daxwaza, wê dravê pelê an pelê blob bike. Ji ber ku module nehat nagire, navnîşa nimûneya kernel nenas e ku soz û nexşeya pelê li ser navnîşa 0x12340000 barkirina arbitrîkî ye.

-o module_name , --name = module_name

Bişkojk navê module, ji bila nav navê navnîşa navenda bingeha çavkaniya pelê object object.

-O blob_name , --blob = blob_name

Hilbijêre binary in blob_name . Di encamê de, encama biyanî blob e (header no ELF) nîşan dide ku tiştê ku ji hêla pergalê veguhastin û veguherînan ve tête kernel tête. Hilbijêre -m pêşniyar kirin ku nexşeya objectê bibînin.

-p , -probe

Pirsgirêka module ku hûn bibînin serkeftî bibin ku bibînin . Di nav vê riya pelê de peldanka objectê de, hejmarên pirtirkêmtirîn, û sembolên çareserkirinê hene. Ew ne veguhastin kontrol dike û ne pelê an pelê blob bike.

-P prefix , -prefix = prefix

Vebijêrk ev modulator ji bo SMP an kernel bigmem tê bikaranîn, ji ber ku ev modulên ku di navên sembolên xwe de zêdekirî zêde bûne werin bikaranîn. Heke kernel bi versiyonên sembol hate çêkirin, paşê xilas bike ji "get_module_symbol" an "inter_module_get", ji yek ji kîjan kernel heye ku modulên piştevanî ye. Heke kernel versiyonên sembol hene lê module bi versiyonên sîmbolê ava kirin, divê bikarhêner divê pêwist -P .

-q , --quiet

Lîsteya sembolên neyên unresolved print print. Di derbarê versiyonê de nerazî nakin. Pirsgirêka tenê di statuya nerazîbûnê de nîşan bide .

-r , - root

Hinek bikarhênerên modulalên jêr bikarhênerên ne-root têne sazkirin û paşê modulên wekî rootê saz bikin. Ev pêvajoyê dikare modules ku ji hêla bikarhênerên ne-root re dimîne, tevî ku tevlî peldanka rêbazê bi riya xwedan e. Heke bikarhêner anîn root bihevrekêşî ye, an intruder dikare modulên heyî hene ku bikarhêner bikar anîn û xwediyê bikarhênerên heyî bikar bînin û destnîşan bikin ku boot destnîşan bikin bi rêjeya root re.

Bi rêkûpêk, modulîlan dê hewldanên ku ji hêla roya ne xwediyê modulek bikar bînin hewl bikin. Bi taybetmendiyê -r dê dê kontrolkirina kontrola û root hilbijêre ku moduleên ku ne bi riya xwedan ne. Têbînî: nirxa default default ji bo modulîlan veguherandin guherîn dikare guhertin.

Bikaranîna ya -r ji bo kontrolkirina zeviya rûya an veguherîna navekî "kontrola root root" di dema demê de veguhestina ewlehiya sereke girîng e û pêşniyar ne.

-s , - syslog

Li her tiştî binivîse ku syslog (3) bi şûna termînalê.

-S , --kallsyms

Heke kernel piştevanîya wê piştgirî nabe moduleya barkirinê hêz bikin. Vebijêrk ji bo sîstemên biçûk e ku kernel bêyî daneyên kulmînan tête tête kirin lê belê modulên bijartî ji bo ji bo debugê hewce ne . Vebijêrk li ser Red Hat Linux vekirî ye.

-v , -verbose

Be verbose.

-V , -version

Guhertoya insmod nîşan bide .

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

Doza û sembolên derveyî hemî module bistînin, nirxandin. Pêşniyar ji bo sembolên ku ji bo veguhestinê ye. Vebijêrk tenê tenê bandor be ye ku module ku bi eşkere veguhestina xwe ya sembola kontrola xwe veşartî veguhestin, û ji ber vê yekê şaş dike.

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

Doza û sembolên ksymoops naxwazin kişand. Ev sembolan ji hêla ksymoops têne bikaranîn ku ji bo vê moduleê de li derveyî oksyonek çêtirîn çêtir bikin. Pêşniyar ji bo sembolên ksymoops e ku bêne diyarkirin. Ev bijare ji serbixwe -X / -x alternatîf e.

Sembolên ksymoops bi tevahî 260 bites per moded loaded add add. Heta ku hûn li qada kernelê kurt in kurt in û hewl didin ku kêşeyên herî kêmî kêm bikin, hewceyê xwe binivîsin û lêbigere Oops debating more. Sembolên ksymoops hewce ne ku ji bo daneyên berdewam a module berdewam bikin.

-N , --numeric-tenê

Tenê beşa nimûne ya nimûne ya versiyona modul ya li dijî kernelê, lêgerîna ku dema ku modulekek kernel e, lêgerînek berbiçav binêrin. Ev ala xwe ji bo kernel 2.5 ji bo kernel vekirî ye, ew ji bo kernelên berê vebijarte ye.

Parameters Module

Hin modulên pîvana demjimêrên bend-time qebûl dikin ku ji bo operasyonê xweş bikin. Ev parameteran pir caran I / O port û hejmareke IRQ hene ku ji alî pisporê pisporê veguherîne û ji hêla pargîdaniyê ve nabe.

Di modulên 2.0-ê deverên çêkirî de, modulules ji bo sembolê an jî nîşaneya namzerek dikare wek parametrek tête kirin û guhertin. Di destpêka 2.1-ê de rêzikên destpêkê de, sembolan bi eşkere bi pîvanan têne nîşankirin, da ku tenê nirxên taybetî yên ku bêne guhertin. Wekî din, agahdariya cûda ji bo nirxên barkirî têne kontrol kirin.

Di rewşê de, hemî hemî nirxan di di decimal, octal an hexadecimal de c: 17, 021 an jî xx11 be. Elektrîkên taybet têne diyar kirin ji hêla commas vekirî ye. Elements dikare ji hêla nirxê xwe vebikin.

Di modulên 2.0-ê de, modên ku bi hejmarek dest bi dest pê dike têne nirxandin. Di destpêka 2.1 de, agahdariya cureyê parameterê nîşan dide ku ka wateya wateya wateya wergirtinê. Heke ku nirx bi du-quotes ( " ) dest pê dike, string tête C di nav de, nirxên revevan û hemî hemî. Ji bîr bêjin ku ji hêvê ve, lewma xwe bi xwe re hewce dike ku ji şirovekirina şehrê biparêze.

GPL Module û Symbolên Lîsansê

Destpêk bi kernel 2.4.10, modulên pergala lîsansê heye, bikaranîna MODULE_LICENSE () . Gelek strûmet wekî wekî GPL tête naskirin; ti lîsansek din an jî lîsans ne ku her wateya ku module wekî xwedan xwedan e.

Heke kernel piştevanîya alikariya / proc / sys / kernel / tengkirî ya pişta wê paşê bikişîne yan jî ala tengî an '1' bi xistina dema modela GPLê ya ku modela barkirinê bistîne. Hişyariyek ku eger kernel piştgirî dike û moduleke bêyî lîsansek bête barkirin. A hişyar herdem herdem ji bo modulên ku MODULE_LICENSE () hene, ku GPL ne tête peyda kirin, heta li ser kernelên ku nehêle piştgiriyê dikin. Vê gavê ku modulên nû li ser kernelên kevnkirî têne bikaranîn.

insmod -f (hêza hêz) wê an jî li ala kernelê ku bi bêdengî piştgirî bi '2' ala tengkirî vekirî. Ew herdem hişyariyek dike.

Hin pêşxistin pêşniyarên kernel hewce dike ku sembolên ku ji hêla hêsankirina xwe vexwendin divê tenê bi modulên ku bi lîsansek peymana GPL-ê re bikar tînin bikar bînin. Ev sembolên bi EXPORT_SYMBOL_GPL bi normal ya EXPORT_SYMBOL ve têne vexwendin. GPL-tenê sembolên ku ji aliyê kernel vexwendin û ji hêla modulên din ve tenê lîsansek GPL-peywendîdar re modulîst têne xuya ye, ev sembolên di / pêşdibistan / / ksymsê de bi pêşniyara ' GPLONLY_ ' tê xuya kirin. insodê GPLONLY_ pêşniyarên li ser sembolên berbiçav dikin dema modela GPL-lîsansê barkirin, da ku module tenê navê navekî normal nîşan dide, bêyî pêşnivîsa. GPL tenê tenê sembolên ku ji bo GPL-ê peywendîdar bêyî modulûlan ne peyda ne, ev module hene ku bi tevahî lîsans hene.

Ksymoops Alîkarî

Ji bo ku bi debugkirina kernel re, dema ku modulên bikar bînin, alîkarî dakêşandina insmod dixwaze hin sembolên ku ji bo ksyûman digerin, bibînin -Y option. Ev sembol dest bi __insmod_modulename_ . Modulename pêwîst e ku sembolên bêhempa bikin. Ew qanûnî ye ku ji heman navên mîhengên cuda yên nav modulên cuda cuda bikişîne. Niha, sembolên wesayît in:

__insmod_modulename_Oobjectfile_Mmtime_Vversion

objectfile Navê navê pelê ku object jê ji hêla tê vekirî ye. Vê gav dike ku ksymoops dikare koda kodê bi object object. Di dema pelê de hex, şeş heger stat stat nayê guherînîn e. guhertoya vîdyoyê ya kernel e ku module hatiye ji bo, 1-heke versiyonek peyda ne. Şîfreyek _O navnîşa heman destpêkê wekî wekî modêlekê module heye.

__insmod_modulename_Ssectionname_Llength

Ev sembol di destpêka hilbijartinên ELF de têne dîtin, niha .text, .rodata, .data, .bs û .sb. Ew tenê dibe ku eger beşek nîv-sîvek heye. beşname navê navê beşa ELF e, dirêjahiya dirêjahiya beşa di decimal de ye. Ev sembolên ku di dema ku sembolên peyda ne.

__insmod_modulename_Ppersistent_filename

Tenê ji hêla hilberînê ve tê çêkirin, ku module yek an pîvanên ku hejmara danûstandinên dewlemendî û pelê ye ku ji bo daneyên danişîna berdewam bike (binêrin, li jorê) heye.

Pirsgirêka din ya kernelkirina kernel Oops di modulûlan de ew e ku materyalên / proc / ksyms û / pêşîn / modules dikare di navbera Oops û dema ku hûn pelê têketinê de biguhere biguherînin. Ji bo ku pirsgirêka vê pirsgirêkê derxistin çareser bike, eger peldanka / var / log / ksymoops wê paşê heye û romodê wê bixweberê / êk / ksyms û / pêş / modulên bi / var / log / ksymoops bi pêşniyara `date +% Y% m ve bişopînin. % d% H% M% S`. Rêveberê pergalê dikare ksymoops ku pelên snapshot bikar bîne dema ku deynkirina deynkirinê de bikar bîne. Vê veguherîna vê kopê otomatîk tune ye. Heke hûn naxwazin ku ev pêk bên, nabe / var / log / ksymoops biafirînin . Heke peldanka wê heye, ew divê bi riya xwedan be û moda 644 an jî 600 be û hûn her roj an vê yekê şopî bistînin. Di binivîsa jêrîn de wekî insmod_ksymoops_clean saz kirin.

Agahiyên Bingehî Agahdarî

NAV

îlan - modela kernel hilbijêre saz bikin

SYNOPSIS

insmod [-fhkLmnpqrsSvVxXyYN] [-e persist_name ] [-o module_name ] [-O blob_name ] [-P prefix ] module [ symbol = value ...]