Linuxカーネルは正常にコンパイルされましたが、イメージミラーは作成されませんでした(どこにも見つかりませんでした)。

Linuxカーネルは正常にコンパイルされましたが、イメージミラーは作成されませんでした(どこにも見つかりませんでした)。

Linuxカーネルをコンパイルしようとしています5.12.4./linux-5.12.4/arch/x86/bootkernel.orgから取得され、エラーなしでコンパイルされますが、通常は「Image xyz is Ready」というメッセージが表示されず、他の場所やどこでも画像が見つかりません。私が実行するコマンドは次のとおりです。

cd linux-5.12.4
cp /boot/config-`uname -r` .config
yes '' | make oldconfig
make clean
time make -j`nproc` bzImage

以下は出力の最後の数行です。

  CC      fs/binfmt_elf.o
  CC      fs/compat_binfmt_elf.o
  CC      fs/mbcache.o
  CC      fs/posix_acl.o
  CC      fs/coredump.o
  CC      fs/drop_caches.o
  CC      fs/fhandle.o
  AR      fs/built-in.a

real    0m34.893s
user    14m48.740s
sys 1m36.019s

それでカーネルをコンパイルしたのが今回が初めてではありませんが、カーネルを最後にコンパイルしてから1年ほどになって何か変わったようですが、複数のウェブサイトで見つけた指示に従ったところ、ほぼ同じ結果が出ました。内容、私は何を見逃しているのか分からない。これまでこれを行ったことがあり、過去にも機能しました。

私も試してみましたが、time make -j32 LOCALVERSION=-custom再び画像が生成されませんでした。

私はUbuntu 20.04(AMD Ryzen)を使用しています。

ベストアンサー1

さて、問題を発見し(Stephen Kittのおかげで)、実際に出力にエラーが発生しました。このようにエラーが表示されるのを見たのは今回が初めてです。だから、次のコマンドを実行しました。

time make -j32 bzImage > ~/Desktop/log_std.txt 2> ~/Desktop/log_err.txt

そして…

make[1]: *** No rule to make target 'debian/canonical-certs.pem', needed by 'certs/x509_certificate_list'.  Stop.
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1851: certs] Error 2
make: *** Waiting for unfinished jobs....
arch/x86/hyperv/hv_apic.c: In function ‘hv_send_ipi_mask_allbutself’:
arch/x86/hyperv/hv_apic.c:236:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
  236 | }
      | ^

それから私は見つけました。これGentooフォーラムに投稿してください:

3193   CONFIG_SYSTEM_TRUSTED_KEYS="n"
You specified that additional keys would be found in file n, but no such file exists. Most likely, you should set this field to be empty, not the string n.

私のファイルを探してみると、.config次のような内容がありました。

CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"

私の場合は、何が起こっているのかを確認するためにその行をコメントアウトしました。

#CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"

これがうまくいかない場合、またはエラーが発生した場合は、アドバイスに従います。

Most likely, you should set this field to be empty

それから

`time make -j32 bzImage`

**Kernel: arch/x86/boot/bzImage is ready**  (#2)

real    1m37.761s
user    33m57.677s
sys 4m3.008s

(コンパイル後)設定を見ると、これがわかります。CONFIG_SYSTEM_TRUSTED_KEYS=""

今動作します:)

おすすめ記事