Debian 11 の /lib/linux-kbuild でスクリプトを修正する方法: pahole-flags.sh が見つかりません。

Debian 11 の /lib/linux-kbuild でスクリプトを修正する方法: pahole-flags.sh が見つかりません。

現在ネットマップをインストールしようとしていますが、カーネルを変更する必要があります。しかし、カーネルヘッダーをインストールした後に期待/lib/linux-kbuild-5.10/scriptsしていたいくつかのスクリプトが欠落していることがわかりました。これには、「見つかりません」エラーと「対応するファイルなし」エラーが含まれており、pahole-flags.shそのmkmakefile結果、それぞれエラーが発生します。

私が見つけたこれ最近のバグ報告によると、これが安定版に戻ったことがわかりました。また、以前のバージョンを修正したと記載されています。これ犯罪。しかし、このコミットがすることはmakeファイルを修正するだけです。

「repo xyのスクリプトをこのディレクトリにコピーする」などの簡単な修正方法はありますか?それとも、どういうわけかカーネルの一部を再コンパイル/アップグレードする必要がありますか?私はまだLinuxシステムに精通していないので、助けてくれてありがとう。

答え1

あなたが言及したコミットDebian カーネルヘッダーパッケージの構築に使用される Makefile の一部を変更します ( linux-headers-<kernel version>-<package version>_<arch>.deb)。つまり、pahole-flags.sh将来のカーネルバージョンの適切なパッケージに含まれるスクリプトをコミットします。

カーネルの構成とビルドプロセスがスクリプトを変更しないように見えるので、適切なバージョンのLinuxカーネルソースからスクリプトを取得できます(例:これは5.10シリーズカーネルに適用されます。/lib/linux-kbuild-5.10/scripts)ネットマップが見つかると予想される場所に配置します。

mkmakefileスクリプトにも同じことが当てはまります(これは5.10シリーズカーネルに適用されます。)。

ただし、mkmakefileカーネルを構築するために必要な機能は5.15カーネルシリーズ(これが違いです)これはmkmakefile別のスクリプトとして存在しません。したがって、ネットマップが依然としてそれに依存している場合は、必要な機能自体を実装する必要があります。しかし、カーネルバージョン5.10でもmkmakefile2行のMakefileだけが出力されるようですが、そのうちの1つはただ注釈だけなのでmkmakefile

関連情報