Como instalar um pacote que contém símbolos de depuração do kernel do Ubuntu?

19

O -genericpacote padrão do kernel do Ubuntu não parece conter símbolos.

Estou tentando evitar compilar um kernel com informações de depuração manualmente.

O Ubuntu fornece um pacote com símbolos de depuração do kernel?

margarida
fonte

Respostas:

25
  1. Primeiro crie um ddebs.listusando:

    echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ddebs.list
  2. Em seguida, adicione a chave GPG para ddebs.ubuntu.com:

    wget -O - http://ddebs.ubuntu.com/dbgsym-release-key.asc | sudo apt-key add -
  3. Então corra:

    sudo apt-get update
  4. Em seguida, instale o pacote de símbolos usando:

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

    Isso é bastante grande (> 680 MB), portanto, espere enquanto o baixa.

Eu uso os símbolos de depuração do kernel do Linux para ferramentas como systemtapno kernel.

Colin Ian King
fonte
apt-cache search dbgsym retorna pkg-create-dbgsym apenas, foi em algum outro repositório?
Daisy #
3
@ warl0ck Sim, os -dbgsympacotes estão em repositórios especiais que você deve habilitar para instalá-los. Isso explica como .
Eliah Kagan
Atualizei a postagem para esclarecer como fazer isso.
Colin Ian King
A etapa apt-get updateresulta em uma mensagem de aviso:, 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é por isso que estou estendendo isso com uma solução para esse caso.
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'
Kenny Evitt
7

Eu tentei a resposta de Colin Ian King e não funcionou para mim. Eu descobri que devo adicionar duas linhas extras no/etc/apt/sources.list.d/ddebs.list

Edite o arquivo via

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

e adicione as duas linhas abaixo

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

Substitua trustypela sua versão que você obtém ao executar

lsb_release -cs
dragosb
fonte
1
Isso funciona para mim!
Howard Shane
7

Para 16.04+ :

Importação de chave GPG

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

Adicionar configuração do repositório

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

(crédito para Ubuntu Wiki )

Philipp Claßen
fonte