2010-12-04 18 views
13

Hello.koという名前のカスタムモジュールを作成しました "insmod hello.ko"というコマンドでモジュールをインストールしました。 "dmesg"でチェックしていますが、システムを再起動すると手動でロードします。では、カスタムモジュールを自動的にロードするにはどのようにすればよいですか?hello.koをどこに置く必要がありますか? モジュールをロードした後、Enterキーを押すまでHello Worldというメッセージを表示したいと思います。誰か助けてくれますか?Ubuntuの起動時にカスタムモジュールを読み込む方法は?

+0

キーを一時停止して待っているとしたら、低レベルの起動メッセージの中でテキストモードで、またはXウィンドウシステムが起動してからログインする前にこれをしますか?あなたは本当にこれを行う必要がありますか、それとも、あなたのモジュールが始まっていることを確認するだけですか?後者の場合は、いくつかのメッセージを出力してdmesgをチェックし、適切なタイミングでロードされていることを確かめてください。 –

答えて

8

モジュールを/ etc/modulesファイルに追加します。

そして、モジュールを/ lib/modules/kernelnameカタログに置きます。

+0

mmmmその場所に貼り付けるだけのフォルダを作成する必要がありますか? – Gonzalo

+0

正しい名前のフォルダ(/lib/modules/2.6.32-26-genericのようなもの)を置くだけです。 – Swind

+5

このパスを参照する移植可能な方法は、/ lib/modules/\ 'uname -r \'/ – ctuffli

11

この手法は、Ubuntu 13.10では動作しませんでした。だからいくつか試行錯誤してみると、私はこれで終わりました。

カーネルモジュールをdriversディレクトリにコピーします。

$ sudo cp mymodule.ko /lib/modules/$(uname -r)/kernel/drivers/ 

私のモジュールの単純な名前を/ etc/modulesファイルに追加します。ここに示すように、ファイルを編集するか、ファイルに追加するだけです。

$ echo 'mymodule' | sudo tee -a /etc/modules 

モジュールの依存関係のリストを更新します。

$ sudo depmod 

コンピュータを再起動すると、正常に動作します。

+1

です。これも私のために働いた。しかし、私は/ kernel/driversディレクトリに置く必要はありませんでした。私は/ lib/module/$(uname - )/ initrdに置いた。 – Bilthon

関連する問題