反向移植软件包的调试符号在哪里?

反向移植软件包的调试符号在哪里?

我可以在哪里下载来自 lucid-backports 存储库的 Linux 内核 2.6.35-25 调试符号(我已在 /etc/apt/sources.list 中的 Ubuntu 10.04 上启用了 lucid-backports 存储库)?

调试符号的问题位于此处2.6.35-25 Linux 内核服务器映像的调试符号与我从 lucid back-ports 存储库获取的二进制文件不匹配:

ii linux-image-2.6.35-25-server
2.6.35-25.44~lucid1 x86 上 2.6.35 版本的 Linux 内核映像 ii linux-image-2.6.35-25-server-dbgsym
2.6.35-25.44 2.6.35 版本的 Linux 内核调试映像

因此系统水龙头(stap)失败:

root@www:~/stap# stap para-callgraph-verbose.stp'内核.函数("@fs/proc.c”)''kernel.function(“vfs_read”)'-c“cat / proc / sys / vm / *”

错误:Build-id 不匹配:“kernel”与“vmlinux-2.6.35-25-server”

还有一些原因让我不愿意自己构建 Linux 内核来让 Stap 正常工作。

答案1

你应该发布你的存储库列表,这样我们才能看到你是如何添加它的。我首先会将问题报告给内核反向移植人员,他们是唯一能够永久解决问题或解释为什么他们不会这样做的人。

看:https://help.ubuntu.com/community/ReportingBugs

其次,您可以使用源包生成带有符号的 deb 来更轻松地编译内核:

apt-get source linux-kernel
etc

答案2

您链接到的 ddebs.ubuntu.com 上仅包含从源包构建的包的 ddebs linux。但是,反向移植的内核不是从该源包构建的;而是来自linux-lts-backport-maverick源包:

(lucid-amd64)evan@caron:~$ apt-cache show linux-image-2.6.35-25-server | grep '^Source'
Source: linux-lts-backport-maverick

相比之下,以下是在 Ubuntu 10.04(2.6.32)发布的内核上进行的相同查询:

(lucid-amd64)evan@caron:~$ apt-cache show linux-image-2.6.32-21-server | grep '^Source'
Source: linux

如果你看看linux-lts-backport-maverick源包的 ddebs 页面,您将找到您正在使用的内核的 ddebs。

附注:尽管名称如此,但 LTS 反向移植内核发布到更新包(例如lucid-updates),而不是反向移植包(lucid-backports),因为它们不是通过Ubuntu Backports 项目. 由于支持级别有限,作为真正的反向移植而反向移植的软件包为了节省空间在 ddebs.ubuntu.com 上没有可用的调试符号。

相关内容