SPRADD1A August 2023 – September 2024 AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM625SIP , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM62P-Q1
Early on in the board bring up process, it can be difficult to detect the root cause of a boot failure if the kernel fails prior to bootlogs being printed. Additionally, kernel bootlogs can be difficult to interpret. Adding kernel debug features to the kernel image through menuconfig selection helps isolate the cause of the failure.
Enabling additioanl debug features requires building a custom kernel image. These steps come from the AM62x Processor SDK Guide. These commands are run from the root of the SDK Linux kernel repository.
sudo apt install git xz-utils build-essential flex bison bc libssl-dev libncurses-dev
make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" distclean
To enable extra debugging features, enable additional config options. This is done by using menuconfig. To apply the menuconfig settings over the recommended configuration file fragment, use the following command.
make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" defconfig ti_arm64_prune.config menuconfig
Navigate to "Kernel hacking" to view the kernel debug options. Enable debugging features in menuconfig sets them to be built into the kernel image. A description of these debug configuration options is found at TI_LINUX/lib/Kconfig.debug. After enabling debug features, save the configuration and exit the configuration menu. Build the kernel image using the following command.
make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64"
The resulting image is found in TI_LINUX/arch/arm64/boot/Image. Using this image enables access to the added debug features.