GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu インストールの vmlinux はどこにありますか?

vmlinux を入手する最も簡単な (そしてハックではない) 方法 Ubuntu の下では、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

カーネル デバッグ シンボルをインストールします:

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

vmlinux ここで見つけることができます:

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

うーん、これを@paxdiabloによる上記の回答へのコメントとして入れたかったのですが、コメントボタンが見つかりませんか?とにかく..

問題は vmlinuz ファイルは圧縮されています - デバッグの目的で、圧縮されていない vmlinux が必要です 1 つ (できればデバッグ シンボルでビルドされたもの - デフォルトの vmlinuz Ubuntu に付属する -es には、シンボルが削除されているため、ありません)。

vmlinuz をアンパックできるようになりました vmlinux に ファイル - しかし、それは些細なことではありません。まず、vmlinuz のバイト オフセットを見つける必要があります。 圧縮ファイルの開始位置を指定し、dd を使用します と zcat 必要な部分だけを開梱します。詳しくは、「[ubuntu] How to trace this bug? - Ubuntu Forums - post #4」で説明されています。簡単に言うと、以下はその投稿に基づいた端末コマンド ログの例です:

$ 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

これがお役に立てば幸いです。

乾杯!


ソースをダウンロードして、次のコマンドを使用して独自にコンパイルできます:

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  

または、ここから ddeb パッケージをダウンロードして sudo dpkg -i linux-image-3.2.0-60-virtual-dbgsym_3.2.0-60.91_amd64.ddeb でインストールすることもできます


Linux
  1. Ubuntu 22.04CinnamonDesktopのインストール

  2. USBからのUbuntu20.04のインストール

  3. Ubuntu 20.04CinnamonDesktopのインストール

  1. Ubuntu20.04Tomcatのインストール

  2. Ubuntu20.04サーバーのインストール

  3. Ubuntu 20.04ChromiumBrowserのインストール

  1. Ubuntu20.04Kylinデスクトップのインストール

  2. Ubuntu20.04PostgreSQLのインストール

  3. Ubuntu20.04FFmpegのインストール