以前のバージョンのLinuxがインストールされている開発ボードがあります。ベンダーは、大幅に変更されたLinuxカーネル、いくつかのロード可能なカーネルモジュール、およびいくつかのサンプルソフトウェアを含むデバイスのイメージを提供します。
デバイスに最新バージョンのLinuxカーネルをインストールしたいが、修正されたLinuxカーネルは以前のカーネルバージョンに基づいているため、ベンダーはそれをサポートしません。
私が理解していないのは、カーネルモジュールとしてドライバを書いて、カーネルが実行されているデバイスと互換性があることです。なぜLinuxカーネルハックを始めるのですか?すべてのカーネルバージョンに対して問題なく簡単に再コンパイルできます。これにより、ベンダーが特定のカーネルバージョンのみをサポートしている場合は「固定」されます。
しかし、私がそれを見逃した理由はいくつかあります。多くのプロジェクトでは、この方法を使用して特定のバージョンのカーネルを取得し、マザーボードに合わせて大幅に変更するのを見たためです。私が興味のあるものは次のとおりです。
- カーネルモジュールを作成するのではなく、Linuxカーネルを変更するのはなぜですか?
- 最新のカーネルを実行する必要があり、ベンダーからサポートを受けていない場合(デバイスドライバは最新バージョンのカーネルで動作する必要があります...)
ベストアンサー1
この質問には多くの仮定があります。
その理由は次のとおりです。
カーネルインタフェースはいいえ安定しているため、あるバージョンのモジュールが別のバージョンに対してコンパイルされないことがあります。
カーネルは必要な機能を公開しない場合があります。
カーネルは必須機能を公開できますが、モジュールに特定のライセンスを要求するなど、許容できる方法ではありません。
コードを書く人は、このようにコードを書く方が速いと思います。
最新のカーネルが必要かどうかを選択します。
- 自分のコードを移植した他の人を見つけてください。
- 自分を移植する
- 他の人に移植料を支払います(お金が必要ない場合があります。ビール、お世辞、好奇心が役立ちます)。