Linuxカーネル自体がELFファイルの場合、そのELFファイルをどこで見つけることができますか?
答え1
/boot
多くのシステムでは、通常という名前の圧縮カーネルを見つけることができますvmlinuz-$(uname -r)
。ここに含まれるELF実行可能ファイルは、以下を使用して抽出できます。extract-vmlinux
スクリプト、カーネルのソースコードにあります。
extract-vmlinux /boot/vmlinuz-$(uname -r) > vmlinux
結果はELFファイルです。
$ file vmlinux
vmlinux: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=b28d236fad2fb7d0eb9bbe6eac766fb04406da3f, stripped
(x86-64から)。
カーネルをビルドする場合、
make vmlinux
ELF実行可能ファイルが生成されます。
答え2
デスクトップ/サーバーでは通常/boot
。
vmlinuz-*
ディストリビューションに応じて名前付きファイルを探します。
カーネルのロード方法:https://www.kernel.org/doc/html/latest/admin-guide/initrd.html