No momento, estou executando a atualização mais recente do Debian bookworm (que acredito ser baseado no Linux 6.1.0.32-amd64 ou Linux-6.1.129-1, que é o que uname -r
retorna). Tenho tentado instalar um conjunto de módulos (linux-gpib para ser mais específico). Os arquivos de instalação deste driver indicam que instalar os cabeçalhos do kernel Debian (usando sudo apt-get install linux-headers-$(uname -r)
) deve ser suficiente. Mas, ao executar o Makefile para a parte do kernel desses módulos, observei problemas em que a geração de BTFs era ignorada devido à indisponibilidade de vmlinux
, e mais tarde, quando copiei vmlinux
para o diretório de cabeçalhos do kernel, outro erro relacionado a arquivos relacionados a um diretório ausente que tools/bpf
ele esperava encontrar no meu /lib/modules/$(uname -r)
diretório.
Observando os cabeçalhos que tenho usr/src/linux-headers-$(uname -r)
e comparando com o que recebo ao executar, apt-get source linux-headers-$(uname -r)
vejo muitos diretórios ausentes. O tools
diretório no que instalei está quase vazio (contendo apenas objtool
) e não tem mais nada, enquanto o diretório que pesquisei contém um grande conjunto de ferramentas. Já usei o Ubuntu antes e nunca tive esse problema com esse sistema operacional.
O Debian instala por padrão um conjunto muito esparso de módulos e espera que você construa a árvore de fontes do kernel do zero? E há algum motivo histórico para que isso vmlinux
pudesse estar nos módulos da minha compilação atual, quando não está lá por padrão? Sou relativamente novo no Linux, então se algo que eu digitei parecer errado, por favor, me corrijam. Muito obrigado!
A menos que você precise especificamente de informações BTF para os módulos que está construindo (o que é improvável se você for novo no Linux), você pode ignorar os avisos.
As ferramentas BPF foram adicionadas recentemente aos pacotes do kernel Linux para o Debian 13 (na versão 6.12.16-1); imagino que essa alteração estará disponível eventualmente no kernel retroportado, mas não necessariamente no kernel principal do Debian 12. Os pacotes de cabeçalho do kernel corrigidos também incluem
vmlinux
e dependem de ferramentas adicionais necessárias para a geração de BTF (pahole
).