私は他のホストにコンパイルしたい単純な「hello world」Linuxカーネルモジュールを持っています。私のホストは5.xカーネルバージョンで、ターゲットは4.xです。
カーネルバージョンを更新したくありません。これはテスト目的で使用される仮想化ラボ環境です。
ターゲットカーネルバージョンのヘッダーがリポジトリにある場合、これは簡単な操作です。一般的には1つだけapt install linux-headers-$(uname -r)
が必要ですmake -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
。そうでなければ簡単ではないようです。
最初から始めようとしてもDebian アーカイブ古いバイナリに依存関係の問題があり、最新のバイナリをこれらの古いバイナリで上書きしたくありません。でも完全なコンパイルを試みました。Linuxカーネルのソースコード同様の問題がありました。
私は自分のカーネルヘッダを使って単純なモジュール以外のカーネルモジュールを構築した経験がありません。助けが必要ですか?
答え1
「フルLinuxカーネルソース」を使用してダウンロードしたバージョンを指すように環境変数を調整する必要があるかもしれません。