Eu preciso usar um novo Kernel para testar alguns recursos (com o systemtap). O Ubuntu não possui um kernel 4.15 recente nos repositórios. Eu baixei o código-fonte do kernel.org Eu compilei um novo kernel no Ubuntu 16 manualmente.
Após a instalação e reinicialização, recebo a seguinte saída:
$ uname -r
4.15.12
No entanto, quando executo stap-prep
, recebo a seguinte saída:
bensley@ubuntu16:~$ sudo stap-prep
[sudo] password for bensley:
cut: /proc/version_signature: No such file or directory
dpkg: error: --compare-versions takes three arguments: <version> <relation> <version>
Type dpkg --help for help about installing and deinstalling packages [*];
Use 'apt' or 'aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Options marked [*] produce a lot of output - pipe it through 'less' or 'more' !
Package linux-image-4.15.12 version 4.15.12-3 does not match version of currently running kernel:
Consider apt-get upgrade && reboot
Please install linux-headers-4.15.12
You need package linux-image-4.15.12-dbgsym but it does not seem to be available
Ubuntu -dbgsym packages are typically in a separate repository
Follow https://wiki.ubuntu.com/DebuggingProgramCrash to add this repository
Parece haver uma pequena diferença entre o número da versão nos arquivos criados e a versão do Kernel. O Kernel mostra como 4.15.12 mas os arquivos linux-headers e linux-image dizem que eles são menores / sub-revisões diferentes 4.15.123 (observe o extra "3"):
bensley@ubuntu16:~$ apt show linux-headers-4.15.12
Package: linux-headers-4.15.123
Version: 4.15.123-4
Status: install ok installed
Priority: optional
Section: kernel
Source: linux-4.15.123
Maintainer: Anonymous <root@ubuntu16>
Installed-Size: 79.0 MB
Homepage: http://www.kernel.org/
Download-Size: unknown
APT-Manual-Installed: yes
APT-Sources: /var/lib/dpkg/status
Description: Linux kernel headers for 4.15.123 on amd64
This package provides kernel header files for 4.15.123 on amd64
.
This is useful for people who need to build external modules
De acordo com a mensagem stap-prep
acima de Package linux-image-4.15.12 version 4.15.12-3 does not match version of currently running kernel
. Como posso resolver isto? Eu baixei o código 4.15.12 e instalei isso, mas o número da versão nos pacotes .deb que foram construídos é o 4.15.12-3.
Esses arquivos foram produzidos e instalados com êxito quando eu compilei o Kernel e executei sudo dpkg -i *.deb
:
linux-headers-4.15.12_4.15.12-3_amd64.deb
linux-libc-dev_4.15.12-3_amd64.deb
linux-image-4.15.12_4.15.12-3_amd64.deb
linux-image-4.15.12-dbg_4.15.12-3_amd64.deb