GNU/Linux >> Znalost Linux >  >> Linux

Kde je vmlinux v mé instalaci Ubuntu?

Nejjednodušší (a nenáročný) způsob, jak získat vmlinux pod Ubuntu je přidat úložiště 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

a nainstalujte symboly ladění jádra:

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

vmlinux pak je najdete zde:

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

Hm, jen jsem to chtěl vložit jako komentář k výše uvedené odpovědi od @paxdiablo, ale nemůžete najít tlačítko komentáře? Každopádně..

Jde o to, že vmlinuz soubor je komprimovaný - a pro účely ladění potřebujete nekomprimovaný vmlinux jeden (a nejlépe jeden postavený s ladicími symboly - což je výchozí vmlinuz -es přicházející s Ubuntu nemají, protože jsou zbaveny symbolů).

Nyní je možné rozbalit vmlinuz do vmlinux soubor - to však není triviální; nejprve musíte najít bajtový offset v vmlinuz kde začíná komprimovaný soubor, a poté použijte dd a zcat vybalit pouze nezbytnou část. Podrobně je to vysvětleno v:"[ubuntu] Jak vysledovat tuto chybu? - Fóra Ubuntu - příspěvek #4"; stručně, níže je můj příklad protokolu příkazů terminálu založený na tomto příspěvku:

$ 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

No, doufám, že to pomůže,

Na zdraví!


můžete si stáhnout zdrojový kód a zkompilovat svůj vlastní pomocí následujícího příkazu:

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  

nebo si můžete stáhnout balíček ddeb zde a nainstalovat jej do sudo dpkg -i linux-image-3.2.0-60-virtual-dbgsym_3.2.0-60.91_amd64.ddeb


Linux
  1. Instalace Ubuntu 22.04 Cinnamon Desktop

  2. Instalace Ubuntu 20.04 z USB

  3. Instalace Ubuntu 20.04 Cinnamon Desktop

  1. Instalace Ubuntu 20.04 Tomcat

  2. Instalace serveru Ubuntu 20.04

  3. Instalace prohlížeče Ubuntu 20.04 Chromium

  1. Instalace Ubuntu 20.04 Kylin Desktop

  2. Instalace Ubuntu 20.04 PostgreSQL

  3. Instalace Ubuntu 20.04 FFmpeg