web-dev-qa-db-ja.com

カーネルモジュールのDebianパッケージを構築するにはどうすればよいですか?

具体的には、最新のuvcドライバーを使用してdebian/lenny用のパッケージを作成したいと思います。コンパイルしてインストールすることはできますが、通常のDebian形式でパッケージ化したいと思います。どういうわけかmake-kpkgを使いたいと思いますが、どうすればいいのかわかりません。 module-assistantは、debianで利用可能なソースのみを使用しているように見えるため、良くないようです。

5
Jayen

M-aよりも優れた解決策があります: dkms

実際には、外部カーネルモジュールの配布が容易になり、新しいカーネルバージョン用に自動的にコンパイルされます(linux-headersの新しいパッケージをインストールすることを検討してください)。

7
Fladi

簡単な答えはありません。実際のDebianパッケージを最初から作成するには、ファイルをアーカイブに貼り付けるだけではなく、制御ファイルとインストールスクリプト、およびそれを単なるtarballではなくパッケージにするその他すべてのものが必要になります。

Dh-makeとdebhelperを使用してパッケージを作成する方法については、 新しいメンテナガイド から始めて、 パッケージ化の「ベストプラクティス」 に関する開発者ガイドをお読みください。

次に、/usr/share/doc/module-assistant/README.gzおよびHOWTO-DEVEL.gzは、パッケージツールを使用して、モジュールアシスタントが理解できるソースパッケージを作成する方法について説明しています。

デフォルトのカーネルパッケージに存在するモジュールをパッケージ化する場合は、競合を防ぐための作業が増えると思います。自分でこれを行う場合は、ファイルが競合しないように、「古い」ドライバーを無効にしてカスタムカーネルパッケージをビルドしてインストールするのがおそらく最善です(KVERSに関するREADME.gzの手順に注意してください)。

2
DerfK

そのためにモジュールアシスタントを使用できます。 http://wiki.debian.org/ModuleAssistant を参照してください

0
ℝaphink