22

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?

3 Answers 3

30
  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.

7
  • apt-cache search dbgsym returns pkg-create-dbgsym only, was it in some other repository?
    – daisy
    Oct 6, 2012 at 9:40
  • 3
    @warl0ck Yes, the -dbgsym packages are in special repositories that you must enable, to install them. This explains how. Oct 6, 2012 at 10:15
  • I've now updated the post to clarify how to do that. Oct 6, 2012 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, 2014 at 18:55
  • 4
    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' May 25, 2015 at 22:08
9

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
2
  • 1
    This works to me! Jul 11, 2017 at 17:23
  • I have to add only deb http://ddebs.ubuntu.com focal-updates main restricted universe multiverse for Ubuntu 20.04. Jul 6, 2022 at 4:21
9

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)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .