BuildRoot2015.08.1を使用してRasperryPi C/C++カーネルモジュールの開発を行う予定です。
何が機能するか:
動作しないもの:
Output/staging/usr/includeを確認しました。 linux /net.hなどのLinuxヘッダーを見つけることができます。ただし、linux/module.hなど、他のものはありません。
私が探しているヘッダーは、カーネルソースツリーにあります。ただし、ステージングにはインストールされていないようです。 BuildRootが「makeheaders_install」と呼んでいることを100%確信しているわけではありませんが、それは合理的な仮定のようです。 「makeheaders_install」がインストールするヘッダーを選択する方法へのポインタはありますか?それとも私は何か他のものが欠けていますか?
Linux/module.hなど、一部のカーネルヘッダーを含めることはできません。ツールチェーンはこのヘッダーファイルを見つけられません。
カーネルモジュール:「make」コマンドには、それを行うための「内部」があります。特別な"カーネルモジュールMakefile"→→を使用している場合にのみ機能します
→ https://stackoverflow.com/questions/33589276/linux-kernel-module-compilation/33589361#33589361
カーネルモジュールの完全に自動化されたツリー外セットアップは次のとおりです。 https://github.com/cirosantilli/linux-kernel-module-cheat/blob/b89ba9b799480e4eb1975f0a704409efb7d667d1/kernel_module/external.mk
私はそれの最小バージョンを次の場所で説明しました: https://stackoverflow.com/questions/40307328/how-to-add-a-linux-kernel-driver-module-as-a-buildroot-package/43874273#4387427
パッケージタイプ$(eval $(kernel-module))
は、基本的にすべてをセットアップします。