問題タブ [insmod]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kernel - 自分のモジュールを見つけるために modprobe を設定するにはどうすればよいですか?
起動時にカーネルモジュールをロードしようとしています。
を実行するinsmod /path/to/module.ko
と、正常に動作します。ただし、再起動するたびにこれを繰り返す必要があります。
を実行するmodprobe /path/to/module.ko
と、モジュールが見つかりません。modprobe が構成ファイルを使用することは知っていますが、/path/to/module.ko を /etc/modules に追加した後でもモジュールをロードできません。
適切な構成は何ですか?
linux-kernel - insmod カーネル HID モジュールを追加
隠しモジュールにいくつかの変更を加えました。
私はそれを作成し、カーネル v 2.6.27.14 で正常にロード (insmod) できます
今、カーネル v 2.6.27.11 に同じカーネル モジュールをロードします。
両方のカーネル バージョンの kerbel ソース ファイルに違いはないため、
成功することはできますが、この .11 カーネル バージョンでは /insmod を追加できません。
**
**
よろしく、
android - NexusSのAndroidジンジャーブレッドにwlanモジュールを手動でロードする方法
[設定]でWi-Fiを有効にせずに、コマンドラインを使用してアドホックネットワークに接続しようとしています。'insmod / system / modules / bcm4329.ko'を使用してロードすると、ネクサスSがハングします。'dmesg'は、ファームウェアが見つからないことを示します。fw_bcm4329.binは実際には/system/vendor/firmware/fw_bcm4329.binにあります。
ファームウェアを目的の場所にリンクしても効果はありません。質問:Nexus Sがこのモジュールをロードする方法を誰かが理解するのを手伝ってもらえますか?
ファイル/hardware/libhardware_legacy/wifi/wifi.cには次の行があります。
質問:wifiモジュールへのパスはどこかで再定義されていますか?
ありがとう
init - 起動中の外部メディアからのinsmod
ブートプロセス中にinitramfsスクリプトを介して外部メディアのカーネルモジュールをinsmodしようとしています。
insmodの後、メディアをシステムで利用できるようにするか、システムで一時的にコピーして使用するかを知りたいですか?
結局のところ、外部メディアを介してカーネルモジュールを挿入することは可能ですか?
ありがとう
unix - 特定のモジュールがLinuxカーネルにロードされているかどうかを判断する方法
特定のモジュールがロード/インストールされているかどうかを判断する方法はありますか?
$ lsmodは、すべてのモジュール(ロードされたデバイスドライバー)を一覧表示します。
モジュール名がポーリングされた場合にtrue/falseのブール出力を返すチェックまたはコマンドはありますか。たとえば。Keyboard.oが存在する場合はtrueを返し、そうでない場合はfalseを返します。ドライバーの自動更新プログラムを完了するには、このヒントが必要です。
PS:modinfoを試しました。テストDUTでbusyboxクライアントを使用しているので、modinfo以外の代替手段を提供できますか?
linux - カーネル ドライバーをシステムに永続的にマウントしたい
USB デバイス用の独自のカーネル ドライバーを作成しました。make でコンパイルすると、kernelobejct ファイル usbdriver.ko ができ、sudo insmod usbdriver.ko でインストールして使用できます。しかし、Debian を再起動した場合、それを使用するには insmod を再度実行する必要があります... OS の起動時にロードされるように、そのドライバーをシステムに永続的にマウント/インストールするにはどうすればよいですか? また、root 以外のユーザーにも、/dev/usbdriver0 の下にある関連付けられたデバイス ファイルへのアクセスを許可するにはどうすればよいでしょうか?
c - モジュールを新しいLinuxカーネルに移植する:メモリを割り当てることができません
最近のLinuxカーネル(3.4.4)用にコンパイルしようとしている非常に大きなドライバーモジュールがあります。insmod
2.6.27.25カーネルで同じモジュールを正常にコンパイルできます。GCCのバージョンも異なり、4.7.0と4.3.0です。このモジュールは非常に複雑であり、すべてのコードとすべてのmakefileを単純に調べることはできないことに注意してください。
モジュールを「挿入」するとCannot allocate memory
、次のトレースが表示されます。
明らかな答えは、モジュールが割り当てているメモリが多すぎるということのようですが、次のようになります。
- このモジュールのサイズに関係なく、古いカーネルバージョンには問題はありません。
- このモジュールの一部を整理してメモリ消費量を大幅に削減すると、新しいカーネルでも常に同じエラーメッセージが表示されます。
- 他の多くのモジュールをアンロードできますが、影響はありません(とにかく関連性がありますか?モジュールごとの合計メモリ使用量に関してLinuxにグローバルな制限があります)
したがって、限られたメモリに直接関係しない新しいカーネルに問題があるのではないかと疑っています。
新しいカーネルは約30,000KBvmalloc()
の不満を言っていますが、古いカーネルでは、lsmodは4,800KBのサイズを提供します。これらの数字は直接関連している必要がありますか?ビルド中に問題が発生し、要求されているRAMが多すぎる可能性はありますか?両方のセクションサイズをコンパイルすると、.ko
大きな違いは見られません。
だから私は問題がどこから来ているのかを理解しようとしています。ダンプされたスタックを確認すると、一致するコードが見つかりません。からの障害vmalloc()
は、によって行われsys_init_module()
ているようinit_module()
ですkernel/module.c
。しかし、コードは一致しません。からオブジェクトコードを確認する.ko
と、init_module()
コードも一致しません。
カーネルを十分に理解していないため、多かれ少なかれブロックされており、すべてのビルドシステムとモジュールのロードを理解するのは非常に困難です。一部の関数が欠落していると思われるため、モジュールがロードされる前にエラーが発生insmod
し、この時点ではこれらのエラーは報告されません。
windows - Linux/Windows カーネル モジュールの無限ループ
ubuntu10.04 Linuxカーネルで、実行するモジュールをinsmodすると
一部、init_module
システム全体が停止します。
while(1);
ただし、部分的に実行される Windows 7 で sys ファイルをロードするとDriverEntry
、システムは遅くなりますが、それでも動作します。
2 つのシステムが異なる理由と、カーネル内で何が起こっているのか、誰か説明してもらえますか? ...
init_module
最初のケース(の無限ループ)では、システムが停止する理由はないと思います。で作成while(1);
しても、ユーザーアプリケーションプログラムinit_module
のコンテキストで実行されているためです。insmod
したがって、フローの無限ループは、ハードウェア割り込み信号によってスケジュールする必要があります。
あくまでも個人的な意見ですので、間違っていたら詳しく教えていただきたいです...
linux-device-driver - insmod で add_disk() がハングする
私は Linux ブロック デバイス ドライバーを作成しており、多くの初期化作業が行われています。ただし、最後に を呼び出すadd_disk()
と、モジュールがinsmod
.
問題のあるスニペットは次のとおりです。