組み込みデバイスのカーネルバージョンを選択する際には、どのような要素を考慮する必要がありますか?

組み込みデバイスのカーネルバージョンを選択する際には、どのような要素を考慮する必要がありますか?

私はbuildrootを使用して、組み込みデバイスで実行されるアプリケーションコードを書くことができるカーネル、ルートファイルシステム、およびクロスコンパイラを正常に作成しました。現在、デバイスドライバを書く必要はなく、どうすればいいのかわかりませんが、今後は必要になるかもしれません。研究では、カーネルAPIがバージョン間で変更される可能性があり、ユーザーレベルのアプリケーションの作成とは異なり、デバイスドライバの作成はカーネルのバージョンによって異なることがわかりました。基本的に私は知りたいです:

  1. 上記の内容は正しいですか?
  2. 使用するカーネルのバージョンを決定する際にどのような要素を考慮する必要がありますか?

私がこの質問をする理由は、私がこのトピックについて読んだすべてのもの(そして組み込みLinuxコースを受講したもの)でカーネルの2.6.xバージョンに言及しているからです。 3.6.11カーネルを使用して組み込みシステムを構築していますが、なぜコースや文献でこれらの以前のカーネルを参照しているのか疑問に思います。以前のバージョンのカーネルを使用するとどのような利点がありますか、それとも最新のバージョンを使用するとどのような欠点がありますか?

ベストアンサー1

3.xは2.xの連続です。 Linusはかつてそのバージョンの「x」部分が大きすぎると考えました。一般的に言えば、おそらく次のようなラベルが付いているかなり最新のカーネルが必要です。「長い」。アプリケーションによって多くの部分が異なります。カーネルのリモートセキュリティの脆弱性は非常にまれですが、ローカルの問題はより一般的です。

おすすめ記事