This service is available only in Japanese-language.

起動情報の詳細ログを確認する方法

独自ファイルシステムをYoctoでビルドしU-boot下での起動を試みたのですが、「Starting Kernel...」で停止している状況です。
原因となっているハードウェア設定を明らかにしようと考え、以下の二つのサイトを参考に、earlyprintkでの詳細デバッグ情報の取得を試みました。
 参考資料1: https://japan.renesasrulz.com/cafe_rene/f/103__-_forum/4277/thread?pi4368=2
 参考資料2: https://japan.xilinx.com/support/answers/60666.html

earlyprintkを導入するために、以下の流れで設定を試みたのですが、menuconfig上にearlyprintkに関係する項目が表示されず、苦戦しております。
 ① U-bootでsetenvを用いて、earlyprintk=serial,ttyS0,115200を設定
 ② bitbake -c menuconfig <virtual/linux(linux-×××)>
 ③ Kernel hackingを選択
 ④ "Kernel low-level debugging functions"と"Early printk"を調べるが存在しない

二点質問させてください。
質問1: menuconfigにearlyprintkを表示させるには、Kconfigにearlyprinkに関する内容を追記すればよろしいのでしょうか?
    また、Kconfig以外で、earlyprintkが表示されていない要因はございますでしょうか?
質問2: カーネル起動の詳細デバッグ情報を取得するには、earlyprintk以外にはございませんでしょうか?
   (カーネルが起動した後の詳細デバッグ情報については、コンソールログレベルを上げればよいとの認識です)

質問1のみ先に回答となりますが、linux-yoctoの場合、eraryprintkに関するシンボルはearly_printk となっておりますので、こちらで検索をおこなうと、
Depends on: DEBUG_LL と表示され、Kernel low-level debugging functions に依存することが判明します。
Kernel low-level debugging functions を有効にすることで、Early_printk の設定が可能となります。
但し、arm64の場合、以前は有ったearly_printkのソースが無くなっており、指定も出来ない状況ですね。
お使いのBSPは、arm64でしょうか?

ご対応ありがとうございます。
arm64の場合なくなってしまっているのですね。

はい、arm64となります。
補足ですが、ターゲットBSPはhttps://github.com/renesas-rcar/meta-renesasとなります。

linux-renesasのkernel configを確認しましたが、earlycon は有効な構成となっていました。
dtsファイル(dtiも含む)の中で、stdout-path にシリアルで使用するデバイスが適切に設定されていれば
kernel起動のごく初期段階からの表示は可能ではないかと。

迅速にご対応頂き、誠にありがとうございます。

bitbake -c menuconfig <virtual/linux>でカーネルコンフィグの設定を行おうと考えたのですが、earlyconに関する設定らしき部分を見つかられませんでした。さらに/build/tmp/work/<target arch>/linux-renesas/<version>/.../source/device/tty/serialを確認してみたのですが、earlycon.cファイルは存在しませんでした。

また、menuconfig上で見つかれらなかったため、https://japan.xilinx.com/support/answers/69143.htmlサイト記載のU-bootでsetenv bootargs 'console=ttyPS0,115200n8 earlyconの設定をしてみたのですが、出力ログに変化は見られませんでした。

恐縮ですが、earyconの設定方法があれば、ご教授頂けないでしょうか。

ソースコードは、drivers/tty/serial/earlycon.c に有ります。
コンフィグレーションに関しては
build/tmp/work/<target arch>/linux-renesas/<version>/defconfig 及び
build/tmp/work/<target arch>/linux-renesas/<version>/linux-<MACHINE>-standard-build/.config
の中でCONFIG_SERIAL_EARLYCON は有効となっており、
build/tmp/work/<target arch>/linux-renesas/<version>/linux-<MACHINE>-standard-build/drivers/tty/serial/earlycon.o
が存在しています。
コンソールで使用しているシリアルデバイスですが、dtsファイルの中でstdout-path = "" で指定されているものと同等でしょうか?

/linux-<MACHINE>-standard-build/drivers/tty/serial以下を確認したのですが、ealycon.cが存在せず、built-in.o modules.builtin modules.orderが入っておりました。
また、defconfig及び.configの中身を確認したのですが、CONFIG_SERIAL_EARYCONの表記が存在しませんでした。

ちなみに、/linux-<MACHINE>-standard-build//source/drivers/tty/serial以下に、earlycon.c及び、earlycon-arm-semihost.cがあることは確認できております。
基本的な質問で申し訳ありませんが、defconfigに直接CONFIG_SERIAL_EARLYCON=yを追加すれば有効となるのでしょうか?

bitbake linux-renesas -c menuconfig
を実行し、表示された端末の中で "/" でhelp 画面に遷移し、EARLYCON をキーワードに設定することで
必要な設定が判明します。
設定の変更を行い、変更を保存後
bitbake linux-renesas -f -c compile
で、コンフィグレーションが変更されたカーネルの構築が可能となります。

因みに、/linux-<MACHINE>-standard-build/ 以下のディレクトリはbuildを実行した際のファイルの出力先となり、
ソースコードは、buildディレクトリの tmp/work-shared/<MACHINE>/kernel-source 以下となります。
CONFIG_SERIAL_EARYCON が有効な場合、linux-<MACHINE>-standard-build/drivers/tty/serial/ 以下に
earlycon.o が生成されています。

menuconfigの"/"でEARLYCONでヒットした、
FIX_EARYCON_MEM、SERIAL_EARYCON、SERIAL_EARYCON_ARM_SEMIHOST、SERIAL_SH_SCI_EARLYCON
については設定ができたのですが、MIPS_EJTAG_FDC_EARLYCONの設定に難航しております。

MIPS_EJTAG_FDC_EARLYCONの配置場所が、menuconfig上で
Device Drivers - > Character devices -> Enable TTY -> MIPS EJTAG Fast Debug Channel TTY
と指定されているのですが、実体としてはEnable TTYより下の階層は存在していないため、どこを参照すればよいのか困っております。

大変恐縮ですが、MIPS_EJTAG_FDC_EARLYCONの設定についてアドバイス頂けないでしょうか?

以下、menuconfigでEARLYCONと検索した際の結果:
Symbol: FIX_EARLYCON_MEM [=y]
Type : boolean
Defined at arch/arm64/Kconfig:239

Symbol: MIPS_EJTAG_FDC_EARLYCON [=n]
Type : boolean
Prompt: Early FDC console
Location:
-> Device Drivers
-> Character devices
(1) -> Enable TTY (TTY [=y])
-> MIPS EJTAG Fast Debug Channel TTY (MIPS_EJTAG_FDC_TTY [=n])
Defined at drivers/tty/Kconfig:436
Depends on: TTY [=y] && MIPS_EJTAG_FDC_TTY [=n]

Symbol: SERIAL_EARLYCON [=y]
Type : boolean
Defined at drivers/tty/serial/Kconfig:10
Depends on: TTY [=y] && HAS_IOMEM [=y]
Selected by: GOLDFISH_TTY_EARLY_CONSOLE [=n] && TTY [=y] || SERIAL_8250_CONSOLE [=n] && TTY [=y] && HAS_IOMEM [=y] && SERIAL_8250 [=n]=y || SERIAL_AMBA_PL011_CONSOLE [=n] && TTY [=y] && HAS_IOMEM [=y] │

Symbol: SERIAL_EARLYCON_ARM_SEMIHOST [=y]
Type : boolean
Prompt: Early console using ARM semihosting
Location:
-> Device Drivers
-> Character devices
(2) -> Serial drivers
Defined at drivers/tty/serial/Kconfig:76
Depends on: TTY [=y] && HAS_IOMEM [=y] && (ARM64 [=y] || ARM)
Selects: SERIAL_CORE [=y] && SERIAL_CORE_CONSOLE [=y] && SERIAL_EARLYCON [=y]

Symbol: SERIAL_SH_SCI_EARLYCON [=y]
Type : boolean
Prompt: Support for early console on SuperH SCI(F)
Location:
-> Device Drivers
-> Character devices
-> Serial drivers
(3) -> SuperH SCI(F) serial port support (SERIAL_SH_SCI [=y])
Selects: SERIAL_CORE_CONSOLE [=y] && SERIAL_EARLYCON [=y]
Defined at drivers/tty/serial/Kconfig:779
Depends on: TTY [=y] && HAS_IOMEM [=y] && SERIAL_SH_SCI [=y]=y

以下の設定で有効になると考えます。
Symbol: SERIAL_EARLYCON_ARM_SEMIHOST [=y]
Type : boolean
Prompt: Early console using ARM semihosting
Location:
-> Device Drivers
-> Character devices
(2) -> Serial drivers
Defined at drivers/tty/serial/Kconfig:76
Depends on: TTY [=y] && HAS_IOMEM [=y] && (ARM64 [=y] || ARM)
Selects: SERIAL_CORE [=y] && SERIAL_CORE_CONSOLE [=y] && SERIAL_EARLYCON [=y]

FIX_EARYCON_MEM、SERIAL_EARYCON、SERIAL_EARYCON_ARM_SEMIHOST、SERIAL_SH_SCI_EARLYCONを全てyにし、diffcnfig及びlinux-renesas_%.bbappendでカーネル設定を有効としたカーネルイメージをbitbakeでコンパイル致しました。

その後動作確認を行ってみたのですが、「Starting Kernel...」で停止したままと表示状況に変化はみられませんでした。
カーネルコンフィグ以外に何か設定が必要な項目がございましたら、アドバイス頂けないでしょうか。

dtsの内の記述は、
serail0 = &scif0;
stdout-path = "serial0:115200n8";
といった設定が必要となります。
当該ボード向けのdtsに記載がない場合は、記述されている他のボードの記述を参考にしていただければ良いかと。
なお、コンソール向けのシリアルデバイスを他のものに指定している場合は、aliasで指定しているserial0に設定する
ポートを実際にコンソールで使用しているものに指定する必要があります。

u-boot は、console で指定したデバイスが、実際に使用するものと一致しているか確認お願いします。

dts内の記述で、
aliases{
serial = &scif2;
}
chosen{
stdout-path = "serial0: 115200n8";
}
というように設定は現在利用しているdtsに記載済みです。

u-bootの環境変数設定は、bootargs=console=ttySC0,115200 root=/dev/mmcblkp1 rootwait ro rootfstype=ext4 mlddebug=y
と設定しております。
基本的な質問で申し訳ありませんが、console=serial0と設定すればよろしいのでしょうか?

aliasesでserial0に設定するデバイスが scif2 となった場合、bootargsで指定するttySCのマイナー番号が 0 で良いのか確認が必要です。