GNU/Linux >> Tutoriels Linux >  >> Linux

Où est vmlinux sur mon installation Ubuntu ?

Le moyen le plus simple (et non piraté) d'obtenir vmlinux sous Ubuntu consiste à ajouter le référentiel ddebs :

echo "deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com $(lsb_release -cs)-security main restricted universe multiverse
deb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main restricted universe multiverse" | \
sudo tee -a /etc/apt/sources.list.d/ddebs.list

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01

et installez les symboles de débogage du noyau :

sudo apt-get update
sudo apt-get install linux-image-$(uname -r)-dbgsym

vmlinux alors peut être trouvé ici :

/usr/lib/debug/boot/vmlinux-$(uname -r)

Hm, je voulais juste mettre cela en commentaire de la réponse ci-dessus de @paxdiablo, mais vous ne trouvez pas le bouton de commentaire ? Quoi qu'il en soit..

Le fait est que le vmlinuz le fichier est compressé - et à des fins de débogage, vous avez besoin d'un vmlinux non compressé un (et de préférence un construit avec des symboles de débogage - dont le vmlinuz par défaut -es fournis avec Ubuntu n'en ont pas, car ils sont dépourvus de symboles).

Maintenant, il est possible de déballer un vmlinuz en vmlinux fichier - cependant, ce n'est pas trivial ; vous devez d'abord trouver un décalage d'octet dans vmlinuz où commence le fichier compressé, puis utilisez dd et zcat déballer uniquement la partie nécessaire. En détail, ceci est expliqué dans :"[ubuntu] Comment tracer ce bug ? - Forums Ubuntu - post #4"; en bref, voici mon exemple de journal de commandes de terminal, basé sur ce message :

$ od -A d -t x1 /boot/vmlinuz-$(uname -r) | grep '1f 8b 08 00' --colour
0013920 f3 a5 fc 5e 8d 83 70 23 3d 00 ff e0 *1f 8b 08 00*

$ wcalc 13920+12
 = 13932

$ dd if=/boot/vmlinuz-$(uname -r) bs=1 skip=13932 | zcat > vmlinux-$(uname -r)
4022132+0 records in
4022132+0 records out
4022132 bytes (4,0 MB) copied, 42,1695 s, 95,4 kB/s

gzip: stdin: decompression OK, trailing garbage ignored


$ file vmlinux-2.6.32-25-generic 
vmlinux-2.6.32-25-generic: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped

Eh bien, j'espère que cela vous aidera,

Santé !


vous pouvez télécharger les sources et compiler les vôtres en utilisant la commande suivante :

apt-get source linux-image-$(uname -r)
apt-get build-dep --no-install-recommends linux-image-$(uname -r)
cd linux-2.6.32/
fakeroot make -f debian/rules binary-generic skipdbg=false  

ou vous pouvez télécharger le package ddeb ici et l'installer par sudo dpkg -i linux-image-3.2.0-60-virtual-dbgsym_3.2.0-60.91_amd64.ddeb


Linux
  1. Installation du bureau Ubuntu 22.04 Cinnamon

  2. Installation d'Ubuntu 20.04 à partir d'une clé USB

  3. Installation du bureau Ubuntu 20.04 Cinnamon

  4. Installation d'Ubuntu 20.04 Tomcat

  5. Installation du serveur Ubuntu 20.04

Installation d'Ubuntu 22.04 VLC

Installation d'Ubuntu 22.04 Eclipse

Installation d'Ubuntu 22.04 PostgreSQL

Installation du navigateur Ubuntu 22.04 Chromium

Étapes d'installation de VirtualBox 5.0 sur Ubuntu 15.04 / 14.04

Installation du serveur Samba sur Ubuntu 14.10