「インストール - カーネルのアッブグレード(SUSE)」の版間の差分

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

205行目: 205行目:
GRUB2を更新する。<br>
GRUB2を更新する。<br>
  sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  sudo grub2-mkconfig -o /boot/grub2/grub.cfg
<br><br>
== vmlinuzファイルの展開と逆アセンブル ==
==== vmlinuzとは ====
vmlinuzは、システムを起動して、カーネルをメモリにロードすることができる圧縮されたLinuxカーネルのイメージである。<br>
また、vmlinuxは静的にリンクされた実行ファイルであり、カーネルはELF、COFF、a.out等のオブジェクトファイル形式をサポートしている。<br>
<br>
vmlinuzとvmlinuxは似た名前であるが、vmlinuxはvmlinuzの圧縮されていないブート不可能なバージョンのことである。<br>
(vmlinuz : Virtual Memory Linuz    linuzはLinuxの圧縮版の意味)<br>
<br>
アセンブリコードの問題の特定、または、特定の関数がどのように実行されているかをデバッグする場合、vmlinuzを抽出する。<br>
<br>
==== vmlinuzファイルの展開 ====
現在使用しているvmlinuzファイルの種類を確認する。<br>
file /boot/vmlinuz-$(uname -r)
# 出力例
vmlinuz-5.14.21-150400.24.28-default: Linux/x86 Kernel, Setup Version 0x20f, bzImage, Version 5.14.21-150400.24.28-default (geeko@buildhost)
#1 SMP PREEMPT_DYNAMIC Mon Oct 10 15:21:12 UTC 2, RO-rootFS, swap_dev 0xA, Normal VGA
<br>
Linuxカーネルのイメージから圧縮されていないカーネルを抽出するため、extract-vmlinuxスクリプトをダウンロードする。<br>
wget -O extract-vmlinux https://raw.githubusercontent.com/torvalds/linux/master/scripts/extract-vmlinux
chmod u+x extract-vmlinux
<br>
Linuxカーネルのイメージから圧縮されていないカーネルを抽出する。<br>
./extract-vmlinux /boot/vmlinuz-$(uname -r) > vmlinuz
<br>
展開したvmlinuzファイルの種類が、ELFオブジェクトかどうかを確認する。<br>
file vmlinuz
# 出力例
vmlinuz: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=915f2e0498b5123d9c51edb9ffca1b68d958fb7f, stripped
<br>
<code>objdump</code>コマンドを使用して、vmlinuzを逆アセンブルすることができる。<br>
objdump -D vmlinuz | less
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:SUSE]]
[[カテゴリ:SUSE]]