diff --git a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh index ce8137af2b..9d63b12b24 100755 --- a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh +++ b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh @@ -60,6 +60,7 @@ KERNEL_HEADERS_PKG_TYPE="${KERNEL_HEADERS_PKG_TYPE:-deb}" RELEASE="${RELEASE:-"no"}" KBUILD_SIGN_PIN="${KBUILD_SIGN_PIN:-}" RUNTIME_CHOICE="${RUNTIME_CHOICE:-both}" +KERNEL_DEBUG_ENABLED=${KERNEL_DEBUG_ENABLED:-"no"} workdir="${WORKDIR:-$PWD}" diff --git a/tools/packaging/kernel/build-kernel.sh b/tools/packaging/kernel/build-kernel.sh index c9a033d987..f08a5d4e30 100755 --- a/tools/packaging/kernel/build-kernel.sh +++ b/tools/packaging/kernel/build-kernel.sh @@ -33,6 +33,7 @@ readonly default_initramfs="${script_dir}/initramfs.cpio.gz" readonly VENDOR_INTEL="intel" readonly VENDOR_NVIDIA="nvidia" readonly KBUILD_SIGN_PIN=${KBUILD_SIGN_PIN:-""} +readonly KERNEL_DEBUG_ENABLED=${KERNEL_DEBUG_ENABLED:-"no"} #Path to kernel directory kernel_path="" @@ -315,6 +316,12 @@ get_kernel_frag_path() { all_configs="${all_configs} ${sign_configs}" fi + if [[ ${KERNEL_DEBUG_ENABLED} == "yes" ]]; then + info "Enable kernel debug" + local debug_configs="$(ls ${common_path}/common/debug.conf)" + all_configs="${all_configs} ${debug_configs}" + fi + if [[ "$force_setup_generate_config" == "true" ]]; then info "Remove existing config ${config_path} due to '-f'" [ -f "$config_path" ] && rm -f "${config_path}" diff --git a/tools/packaging/kernel/configs/fragments/common/debug.conf b/tools/packaging/kernel/configs/fragments/common/debug.conf index c8c5e5b127..a44fbc9675 100644 --- a/tools/packaging/kernel/configs/fragments/common/debug.conf +++ b/tools/packaging/kernel/configs/fragments/common/debug.conf @@ -4,3 +4,9 @@ # configuration used for the running kernel. CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y + +# Enable debugging features for the kernel +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_FS=y +CONFIG_DEBUG_INFO_DWARF4=y diff --git a/tools/packaging/static-build/kernel/build.sh b/tools/packaging/static-build/kernel/build.sh index 889283663b..50dbf64591 100755 --- a/tools/packaging/static-build/kernel/build.sh +++ b/tools/packaging/static-build/kernel/build.sh @@ -24,6 +24,7 @@ container_image="${KERNEL_CONTAINER_BUILDER:-$(get_kernel_image_name)}" MEASURED_ROOTFS=${MEASURED_ROOTFS:-no} KBUILD_SIGN_PIN="${KBUILD_SIGN_PIN:-}" kernel_builder_args="-a ${ARCH} $*" +KERNEL_DEBUG_ENABLED=${KERNEL_DEBUG_ENABLED:-"no"} if [ "${MEASURED_ROOTFS}" == "yes" ]; then info "build initramfs for cc kernel" @@ -51,6 +52,7 @@ docker pull ${container_image} || \ docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \ -w "${PWD}" \ + --env KERNEL_DEBUG_ENABLED="${KERNEL_DEBUG_ENABLED}" \ --user "$(id -u)":"$(id -g)" \ "${container_image}" \ bash -c "${kernel_builder} ${kernel_builder_args} setup"