8

カーネルモジュールのプログラミングをしたいです。しかし、すべての情報源は、Linux ディストリビューションが元のカーネルにパッチを当てており、モジュール コードが実行されない可能性があることを示しています。これが本当ならどうすればいいですか? ubuntu を使用して lfs を作成しようとしましたが、ほぼすべてのステップでエラーが発生しました。インストール時にパッケージが選択されていない Arch、gentoo、Ubuntu Server、slackware、susestudio などがバニラ ディストリビューションであることをどこかで見ました。それで、モジュールプログラミングに使用できますか?

ディストリビューションに GUI が必要であることを覚えておいてください。

これに従うことはできますか?
PS: Intel Core i3 プロセッサを使用しており、VMware ワークステーションでディストリビューションを実行します。

4

1 に答える 1

8

カーネル モジュールをプログラムする場合は、どのディストリビューションを選択してもかまいません。ソースからカーネルを再コンパイルし、新しいカーネルを自分でインストールできる必要があります。カーネルモジュールだけでも、最新のカーネルをコンパイルしてそれに対して開発できるようにする必要があります。そうしないと、モジュールをメインラインに受け入れることができません。

モジュールをリリースしない場合の代替手段は、特定のカーネル バージョンに対して開発することです。この場合、ディストリビューションの選択は、開発環境ではなく、モジュールのターゲットに基づいて選択する必要があります。

1) デスクトップ - (GNOME、KDE、その他) 2) 使いやすさ - (Ubuntu、Fedora など vs Arch、Gentoo) 3) 最先端 vs 安定 (Arch、Fedora vs Ubuntu) vs Debian、Red Hat、CentOS)

次に、kernelbewbiesにアクセスして、カーネル プログラミングの開始方法 (ソースの入手先、コンパイル方法) について少し学びます。次に、Linux デバイス ドライバに関する Greg Kroah-Hartman の優れた本を読んでください。インターフェイスは変更されます (カーネルのバージョン 2.6 について書かれており、バージョン 3.6 は現在作業中です)。ここでオンラインで見つけることができます

また、git の使用方法についても学習する必要があります。さらに重要なことは、git を使用してパッチを生成し、めちゃくちゃにすることなくメールで送信する方法です! 私はこれに関するウェブサイトを持っていませんが、ちょっとしたグーグルが役に立ちます。

于 2012-09-26T01:37:39.790 に答える