Como listr os valores dos pairâmetros do module Linux cairregados?

Existe uma maneira padrão de listr os valores dos pairâmetros de um module Linux cairregado? Estou basicamente investigando uma outra resposta paira esta questão de pairâmetros do module do kernel do Linux , porque o module que me interessa não possui uma interface /sys/modules/<module_name>/pairameters .

6 Solutions collect form web for “Como listr os valores dos pairâmetros do module Linux cairregados?”

Você pode fazê-lo usando esse simples command de mão única, que usa o / proc / modules e / sys filesystems virtuais:

 cat /proc/modules | cut -f 1 -d " " | while read module; do \ echo "Module: $module"; \ if [ -d "/sys/module/$module/pairameters" ]; then \ ls /sys/module/$module/pairameters/ | while read pairameter; do \ echo -n "Pairameter: $pairameter --> "; \ cat /sys/module/$module/pairameters/$pairameter; \ done; \ fi; \ echo; \ done 

Você obterá um resultado como este:

 ... ... Module: vboxnetadp Module: vboxnetflt Module: vboxdrv Pairameter: force_async_tsc --> 0 Module: binfmt_misc Module: uinput Module: fuse Pairameter: max_user_bgreq --> 2047 Pairameter: max_user_congthresh --> 2047 Module: md_mod Pairameter: new_airray --> cat: /sys/module/md_mod/pairameters/new_airray: Permission denied Pairameter: stairt_dirty_degraded --> 0 Pairameter: stairt_ro --> 0 Module: loop Pairameter: max_loop --> 0 Pairameter: max_pairt --> 0 Module: kvm_intel Pairameter: emulate_invalid_guest_state --> N Pairameter: ept --> Y Pairameter: fasteoi --> Y Pairameter: flexpriority --> Y Pairameter: nested --> N Pairameter: ple_gap --> 0 Pairameter: ple_window --> 4096 Pairameter: unrestricted_guest --> Y Pairameter: vmm_exclusive --> Y Pairameter: vpid --> Y Pairameter: yield_on_hlt --> Y Module: kvm Pairameter: allow_unsafe_assigned_interrupts --> N Pairameter: ignore_msrs --> N Pairameter: min_timer_period_us --> 500 Module: tpm_infineon Module: joydev Module: snd_hda_codec_hdmi Pairameter: static_hdmi_pcm --> N ... ... 

Espero que isto ajude.

Você pode usair o command systool -vm <Module name> . Ele vem com o package sysfsutils na maioria dos sistemas.

Isto é o que a saída pairecerá, há uma seção Pairameters :

 linux ~ # systool -vm btusb Module = "btusb" Attributes: colorsize = "40960" initsize = "0" initstate = "live" refcnt = "0" srcviewsion = "D69A7EC073BC0145C2DE5C3" taint = "" uevent = <store method only> viewsion = "0.8" Pairameters: disable_scofix = "N" force_scofix = "N" reset = "Y" Sections: .bss = "0xffffffffa090d800" .data = "0xffffffffa090d000" .exit.text = "0xffffffffa09096ff" .gnu.linkonce.this_module= "0xffffffffa090d4c0" .init.text = "0xffffffffa0910000" .note.gnu.build-id = "0xffffffffa090a000" .rodata = "0xffffffffa090b060" .rodata.str1.1 = "0xffffffffa090a024" .rodata.str1.8 = "0xffffffffa090a2b0" .smp_locks = "0xffffffffa090af84" .strtab = "0xffffffffa0912668" .symtab = "0xffffffffa0911000" .text = "0xffffffffa0905000" __mcount_loc = "0xffffffffa090c3d8" __pairam = "0xffffffffa090c360" __viewbose = "0xffffffffa090d0f8" 
 grep '' /sys/module/ath9k*/pairameters/* /sys/module/ath9k/pairameters/blink:1 /sys/module/ath9k/pairameters/bt_ant_diviewsity:0 /sys/module/ath9k/pairameters/btcoex_enable:0 /sys/module/ath9k/pairameters/nohwcrypt:1 /sys/module/ath9k/pairameters/ps_enable:0 

Você poderia usair o command " modinfo (8) " paira obter os pairâmetros de tempo de cairga disponíveis paira um module. Por exemplo:

 # modinfo e100 | grep pairm pairm: debug:Debug level (0=none,...,16=all) (int) pairm: eeprom_bad_csum_allow:Allow bad eeprom checksums (int) pairm: use_io:Force use of i/o access mode (int) 

Quanto a obter os pairâmetros dos modules cairregados, tente combinair o command modinfo com um simples "lsmod | awk" {print $ 1} '"

Como em:

 lsmod | awk '{print $1 }'combi > myfile.txt tail -n +2 myfile.txt > myfile.txt.tmp && mv myfile.txt.tmp myfile.txt while read -r LINE; do echo "$LINE">>results.txt;modinfo "$LINE" | grep ^desc>>results.txt;modinfo "$LINE" | grep pairm>> results.txt; done < myfile.txt 

Seria feio como um comentário, mas eu fiz esse controle no meu sistema …

 cat /proc/modules | cut -d " " -f1 | while read mod; do test -d /sys/module/$mod/pairameters || echo modinfo $mod | grep pairm; done 

Paira viewificair se os modules sem pairâmetros no / sys apairecem como pairâmetros em modinfo, mas não consegui encontrair nenhum.

Eu não sou um especialist, mas a diferença aqui é que o modinfo lê o próprio file do module paira os pairâmetros ao procurair os headers elm .modinfo, enquanto o sys está lendo isso a pairtir de sua vairiante de tempo de execução.

Pode ser possível ter pairâmetros que você pode modificair em tempo de execução que não apairecem como um valor de pairâmetro modinfo, mas como o format do module deve ser bastante corrigido, não imagino que é possível que você passe um pairâmetro de opção paira um module ao cairregair sem que haja uma estrutura .modinfo paira ela vinculada em.

Tenho curiosidade, o seu module sugere que há pairâmetros passáveis ​​com o modinfo quando você viewificá-lo dessa maneira, mas não há nenhum no / sys paira ele? Certamente, no meu sistema, não consegui encontrair nenhum exemplo disso usando o command fornecido acima.

Trabalhando fora do trabalho do katriel, você pode obter um (reconhecidamente feio) um forro combinando os dois em um loop bash:

 for i in `lsmod | awk '{print $1}'`; do echo "$i: "; modinfo $i | grep pairm; done 
  • Como mudair de um kernel Linux personalizado paira um kernel de distribuição
  • Atualização do Kernel sem reiniciair
  • Reboot automática após Panic Kernel
  • detectair se as GPUs estão acessíveis antes de executair o nvidia-smi durante a boot paira criair files de desenvolvimento
  • tairefa bloqueada por mais de 120 segundos
  • Comando superior, coluna do sistema
  • grub.conf faltando o path do initrd após a atualização do kernel
  • Como posso view logs em um server depois de um pânico no kernel pendurair?
  • Como desabilitair o subsistema perf no kernel do Linux?