2

I'm trying to map source lines to addresses in an official Ubuntu kernel build. I want to be able to get offsets that I can use to setup some kprobes to debug a specific issue.

If I use apt to download the ddeb, I find that it is literally void of any debug symbols:

$ dpkg-deb --fsys-tarfile linux-image-6.17.0-19-generic-dbgsym_6.17.0-19.19~24.04.2_amd64.ddeb | tar -t
./
./usr/
./usr/share/
./usr/share/doc/
./usr/share/doc/linux-image-6.17.0-19-generic-dbgsym/
./usr/share/doc/linux-image-6.17.0-19-generic-dbgsym/changelog.Debian.gz
./usr/share/doc/linux-image-6.17.0-19-generic-dbgsym/copyright

If I grab the BuildID from the extracted bzImage, I find that there is no symbols on Ubuntu's debuginfod:

$ file main.extracted
main.extracted: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=3aca328be7c4b1bc5cbb857c1483d4ac6e979e45, stripped

$ curl -i https://debuginfod.ubuntu.com/buildid/3aca328be7c4b1bc5cbb857c1483d4ac6e979e45/debuginfo
HTTP/2 404
strict-transport-security: max-age=15768000
date: Sat, 18 Apr 2026 08:21:15 GMT
content-type: text/plain
content-length: 9
server: Apache/2.4.52 (Ubuntu)

not found

Surely, Ubuntu would keep the debug symbols for their kernels...

1 Answer 1

2

So apparently they are in the linux-image-unsigned package (linux-image-unsigned-6.17.0-19-generic-dbgsym)

$ dpkg --listfiles linux-image-unsigned-6.17.0-19-generic-dbgsym | grep /usr/lib/debug/boot
/usr/lib/debug/boot
/usr/lib/debug/boot/vmlinux-6.17.0-19-generic

$ file /usr/lib/debug/boot/vmlinux-6.17.0-19-generic
/usr/lib/debug/boot/vmlinux-6.17.0-19-generic: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=3aca328be7c4b1bc5cbb857c1483d4ac6e979e45, with debug_info, not stripped

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.