You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取EKS集群所用Amazon AMI的内核调试符号?

获取EKS集群Amazon AMI内核调试符号的方法

方法一:启用Amazon Linux 2调试符号仓库安装(推荐)

Amazon Linux 2官方提供了内核调试符号的仓库,只是默认未启用,可按以下步骤操作:

  1. 创建调试符号仓库配置文件:
    sudo tee /etc/yum.repos.d/amzn2-core-debuginfo.repo <<EOF
    [amzn2-core-debuginfo]
    name=Amazon Linux 2 Core debuginfo packages
    mirrorlist=https://amazonlinux.us-east-1.amazonaws.com/2/core/debuginfo/latest/\$basearch/mirror.list
    gpgcheck=1
    gpgkey=https://amazonlinux.us-east-1.amazonaws.com/2/core/RPM-GPG-KEY-amazon-linux-2
    enabled=1
    EOF
    
  2. 安装对应内核版本的调试符号包:
    sudo yum install kernel-debuginfo-$(uname -r)
    
    替换$(uname -r)为你需要的具体内核版本(比如5.10.210-201.852.amzn2.aarch64),确保版本完全匹配。

方法二:基于amazon-eks-ami仓库编译带调试符号的内核

如果针对定制化的EKS内核无法通过仓库获取,可使用官方仓库编译:

  1. 克隆仓库并切换到对应版本分支/标签:
    git clone https://github.com/awslabs/amazon-eks-ami.git
    cd amazon-eks-ami
    # 切换到与目标内核版本匹配的commit或标签,可通过仓库的CHANGELOG查找对应版本
    git checkout <对应版本标签/哈希>
    
  2. 进入内核源码目录,启用调试符号配置:
    • 执行make menuconfig进入图形化配置界面
    • 找到Kernel hacking > Compile-time checks and compiler options,勾选Compile the kernel with debug info(对应CONFIG_DEBUG_INFO=y)
    • 保存配置并退出
  3. 编译内核及调试符号:
    make -j$(nproc)
    make modules_install
    make install
    
    编译完成后,调试符号会包含在生成的vmlinux文件中,模块调试符号则位于/lib/modules/<内核版本>/kernel/下的.ko文件内。

验证调试符号

安装或编译完成后,可通过以下命令验证:

gdb /usr/lib/debug/lib/modules/$(uname -r)/vmlinux

若能正常加载符号,说明调试符号已成功获取。

内容的提问来源于stack exchange,提问作者user23864381

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 00:33:13