19

The default Ubuntu kernel -generic package doesn't seem to have symbols in it.

I'm trying to avoid compile a kernel with debug info manually.

Does Ubuntu provide a package with kernel debug symbols?

25
  1. First create a ddebs.list using:

    echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ddebs.list
    
  2. Then add the GPG key for ddebs.ubuntu.com:

    wget -O - http://ddebs.ubuntu.com/dbgsym-release-key.asc | sudo apt-key add -
    
  3. Then run:

    sudo apt-get update
    
  4. Then install the symbols package using:

    sudo apt-get install linux-image-`uname -r`-dbgsym
    

    This is rather huge (>680MB), so prepare for a wait while you download it.

I use the Linux kernel debug symbols for tools like systemtap on the kernel.

  • apt-cache search dbgsym returns pkg-create-dbgsym only, was it in some other repository? – daisy Oct 6 '12 at 9:40
  • 3
    @warl0ck Yes, the -dbgsym packages are in special repositories that you must enable, to install them. This explains how. – Eliah Kagan Oct 6 '12 at 10:15
  • I've now updated the post to clarify how to do that. – Colin Ian King Oct 6 '12 at 19:22
  • step apt-get update results in a warning message: W: GPG error: http://ddebs.ubuntu.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ECDCAD72428D7C01, that is why I am extending this with a solution for that case. – Pro Backup Aug 12 '14 at 18:55
  • 1
    sudo apt-get install linux-image-$(uname -r)-dbgsym=3.13.0-49.83 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package linux-image-3.13.0-49-generic-dbgsym E: Couldn't find any package by regex 'linux-image-3.13.0-49-generic-dbgsym' – Kenny Evitt May 25 '15 at 22:08
7

I tried Colin Ian King's answer and it did not work for me. I found out I must add two extra lines in /etc/apt/sources.list.d/ddebs.list

Edit the file via

sudo nano /etc/apt/sources.list.d/ddebs.list

and add the two lines below

deb http://ddebs.ubuntu.com trusty-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com trusty-proposed main restricted universe multiverse

Replace trusty with your version that you get when you execute

lsb_release -cs
7

For 16.04+:

GPG key import

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C8CAB6595FDFF622 

Add repository config

codename=$(lsb_release -c | awk  '{print $2}')
sudo tee /etc/apt/sources.list.d/ddebs.list << EOF
deb http://ddebs.ubuntu.com/ ${codename}      main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-security main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-updates  main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-proposed main restricted universe multiverse
EOF

sudo apt-get update
sudo apt-get install linux-image-$(uname -r)-dbgsym

(credit to Ubuntu Wiki)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.