linux内核符号是什么?
时间: 2023-09-16 22:11:17 浏览: 180
Linux内核符号是指在Linux内核中定义的函数、变量和其他可重定位代码块的名称。这些符号在编译时由编译器和链接器生成,并在运行时由内核加载器进行解析和重定位。符号表中记录了符号的名称、类型、大小等信息,用于在运行时动态链接和加载内核模块,以及进行内核调试等操作。在Linux内核开发中,符号表和符号导出表是非常重要的数据结构。
相关问题
linux中内核编译得到的内核文件有哪些?分别在什么目录?
在Linux中,内核编译得到的内核文件主要有两种:vmlinuz和initramfs。
1. vmlinuz
vmlinuz是压缩后的Linux内核映像文件,用于启动Linux系统。它通常存放在/boot目录下。
2. initramfs
initramfs是一个临时的文件系统,包含了启动Linux系统所需要的一些程序和文件。它通常存放在/boot目录下,以initramfs开头的文件名。
除了vmlinuz和initramfs之外,还有一些其他的内核文件,如System.map、config等。它们的作用如下:
3. System.map
System.map是内核符号表,里面保存了内核中所有符号的地址信息。它通常存放在/boot目录下,以System.map开头的文件名。
4. config
config是内核编译时使用的配置文件,里面保存了内核的各种编译选项和参数。它通常存放在/boot目录下,以config开头的文件名。
内核编译得到的内核文件有哪些?分别在什么目录?
内核编译生成的内核文件主要包括以下几个:
- 内核镜像文件:vmlinuz 或 bzImage,是 Linux 内核的可执行文件,包含了操作系统内核的所有功能模块和驱动程序等。
- 初始 RAM 磁盘映像文件(initrd 或 initramfs):是一个压缩的文件系统,用于在启动过程中提供必要的初始化程序和驱动程序等。
- 系统映像文件(System.map):是内核符号表的映射文件,包含了内核中所有符号(如函数、变量等)的地址和大小等信息。
- 内核配置文件(.config):是内核编译时使用的配置文件,包含了内核编译的选项和参数等信息。
这些文件在编译完成后一般会放在 /boot 目录下,具体的路径和文件名可能因不同的 Linux 发行版而有所不同。例如,在 Ubuntu 发行版中,vmlinuz 和 initrd 文件的路径为 /boot/vmlinuz-version 和 /boot/initrd.img-version,System.map 文件的路径为 /boot/System.map-version,而 .config 文件则不会保存在 /boot 目录下,而是保存在内核源代码目录中。
阅读全文