web-dev-qa-db-ja.com

ターゲット '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  

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

5
ebin

まず、yes '' | make oldconfigの手順は、make olddefconfigを使用する方が簡単です。

そうは言っても、

何が起こるかは、カーネルのMakefiledebian/ディレクトリ内にいくつかのファイルを生成し、それらが完全に spec に従っていないことです。長年にわたってビルドツールでこの仕様が徐々に厳しく施行されていることと組み合わされて、過去に機能していたハッキン​​グ(.debにリストされていないdebian/controlパッケージの生成、またはリストされていますが、詳細は異なります)最近は機能しません。

個人的には、バニラカーネルのDebianパッケージをビルドするmake deb-pkgメソッドに反対することをお勧めします。もしそれをしたいなら、IMEをよりよく機能させる方法は、Debian本体の一部であるkernel-packageパッケージを使用することです:

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

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

5
Wouter Verhelst

私はあなたと同じ問題を見ていて、ツリーにチェリーピッキング このパッチ を付けることで解決しました:

それを行うことでも解決できるようです

rm -f debian/files
0
ndyer