Как установить пакет, содержащий символы отладки ядра Ubuntu?

19

Стандартный -genericпакет ядра Ubuntu , похоже, не содержит символов.

Я пытаюсь избежать компиляции ядра с отладочной информацией вручную.

Предоставляет ли Ubuntu пакет с символами отладки ядра?

маргаритка
источник

Ответы:

25
  1. Сначала создайте ddebs.listиспользование:

    echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ddebs.list
  2. Затем добавьте ключ GPG для ddebs.ubuntu.com:

    wget -O - http://ddebs.ubuntu.com/dbgsym-release-key.asc | sudo apt-key add -
  3. Затем запустите:

    sudo apt-get update
  4. Затем установите пакет символов, используя:

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

    Это довольно большой (> 680 МБ), поэтому подготовьтесь к ожиданию, пока вы загружаете его.

Я использую символы отладки ядра Linux для таких инструментов, как systemtapв ядре.

Колин Ян Кинг
источник
apt-cache search dbgsympkg-create-dbgsymтолько возвращается , это было в каком-то другом хранилище?
Маргаритка
3
@ warl0ck Да, -dbgsymпакеты находятся в специальных репозиториях, которые вы должны включить, чтобы установить их. Это объясняет как .
Элия ​​Каган
Я сейчас обновил пост, чтобы уточнить, как это сделать.
Колин Ян Кинг
Шаг apt-get updateприводит к появлению предупреждающего сообщения: 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вот почему я расширяю его решением для этого случая.
Pro Backup
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'
Кенни Эвитт
7

Я попробовал ответ Колина Яна Кинга , и он не сработал для меня. Я узнал, что должен добавить две дополнительные строки в/etc/apt/sources.list.d/ddebs.list

Отредактируйте файл через

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

и добавьте две строки ниже

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

Замените trustyсвоей версией, которую вы получите при выполнении

lsb_release -cs
dragosb
источник
1
Это работает для меня!
Говард Шейн
7

Для 16.04+ :

Импорт ключей GPG

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

Добавить конфигурацию репозитория

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

(кредит на Ubuntu Wiki )

Филипп Классен
источник