ターゲット「deb-pkg」のカーネルコンパイルエラーレシピが失敗しました。

ターゲット「deb-pkg」のカーネルコンパイルエラーレシピが失敗しました。

私は挑戦のためにLinusのgitリポジトリから複製された最新のカーネルをコンパイルしています。
1. クロスコンパイルツールのインストール

sudo apt-get install git build-essential kernel-package fakeroot libncurses5-dev  

2. 最新の Git リポジトリを複製します。

$ git clone https://github.com/torvalds/linux.git  

3. 現在のビルド構成をソースツリーのルートにコピーし、構成ファイルを更新します。

yes '' | make oldconfig  

4. make clean
5. Linuxイメージと.debヘッダファイルの作成

make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION=-custom  

数分間コンパイルするとエラーが表示されます。

dpkg-genchanges: warning: package linux-firmware-image-4.2.0-rc3-custom listed in files list but not in control info
dpkg-genchanges: warning: package linux-headers-4.2.0-rc3-custom listed in files list but not in control info
dpkg-genchanges: warning: package linux-headers-4.3.0-rc1-eudyptula listed in files list but not in control info
dpkg-genchanges: warning: package linux-image-4.2.0-rc3-custom-dbg listed in files list but not in control info
dpkg-genchanges: warning: package linux-image-4.3.0-rc1-eudyptula listed in files list but not in control info
dpkg-genchanges: warning: package linux-image-4.2.0-rc3-custom listed in files list but not in control info
dpkg-genchanges: warning: package linux-image-4.3.0-rc1-eudyptula-dbg listed in files list but not in control info
dpkg-genchanges: warning: package linux-firmware-image-4.3.0-rc1-eudyptula listed in files list but not in control info
dpkg-genchanges: error: package linux-image-4.2.0-rc3-custom-dbg has section kernel in control file but debug in files list
scripts/package/Makefile:91: recipe for target 'deb-pkg' failed
make[1]: *** [deb-pkg] Error 255
Makefile:1226: recipe for target 'deb-pkg' failed
make: *** [deb-pkg] Error 2 

.debパッケージの作成中にエラーが発生したようです。エラーメッセージは本当に理解していません。

 linux-image-4.2.0-rc3-custom-dbg has section kernel in control file but debug in files list  

どういう意味ですか?助けてください!

答え1

まず、yes '' | make oldconfigこのステップはより簡単に行うことができますmake olddefconfig

それでも、

何が起こるかは、カーネルがディレクトリに正確に従わないMakefile多くのファイルを生成することです。debian/仕様。これは、長年にわたってビルドツールでこの仕様が徐々に厳しく適用されているものと組み合わせて、過去に機能していたハッキン​​グ(に記載.debされていないパッケージdebian/controlまたはリストされているが他の詳細を含むパッケージの作成)が最近機能しなくなったことを意味します。意味します。 。

make deb-pkg個人的には、一般的なカーネル用のDebianパッケージを構築する方法に反対することをお勧めします。これを行うには、kernel-packageDebian 独自のパッケージを使用する方が効率的な IME アプローチです。

apt install kernel-package fakeroot
cd /path/to/git/checkout
make defconfig
make-kpkg --rootcmd fakeroot kernel_image

.configこれにより、Debian システムにインストールできるパッケージ (生成されたファイルを含む) が提供されます。

答え2

私も同じ問題がありましたが、チェリーピッキングで解決しました。今回のパッチ私の木を入力してください:

をすることで解決できるかもしれません。

rm -f debian/files

関連情報