Linux内核elf文件位于哪里?

Linux内核elf文件位于哪里?

如果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

相关内容