数码资讯
linux内核文件简介
在网络中,许多服务器使用Linux系统,为了进一步提高服务器的性能,可能需要重新编译基于特定的硬件要求,Linux内核编译Linux内核,需要根据规定的步骤进行,和几个重要的文件都涉及内核进程例如,在RedHat Linux,有在 /boot目录的Linux内核相关的一些文件,进入/启动执行:LS
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
在网络中,许多服务器使用Linux系统,为了进一步提高服务器的性能,可能需要重新编译基于特定的硬件要求,Linux内核编译Linux内核,需要根据规定的步骤进行,和几个重要的文件都涉及内核进程例如,在RedHat Linux,有在 /boot目录的Linux内核相关的一些文件,进入/启动执行:LS ndash;L.人编译RedHat Linux内核可能对System.map印象深刻,vmlinuz和initrd-2.4.7-10.img,因为编译内核包含这些文件的建立操作。那么什么是这些文件的影响TS
1。vmlinuz
vmlinuz是可引导的,压缩的内核。Ldquo;vm表示虚拟memory。Linux支持虚拟内存,不像旧的操作系统,如DOS 640kb内存约束。Linux可以使用硬盘空间作为虚拟内存,因此名为vm。Vmlinuz是一个可执行的内核,这位于 /启动 /vmlinuz,这通常是一个软链接。
有两种方法来构建vmlinuz。
首先,编译内核通过使zimage创建,然后通过:CP / usr / / /弓型linux-2.4 / / / Linux i386启动 / / / vmlinuz引导zImage;generate.zimage适合小内核的情况,并存在落后兼容性。
二是编译内核,由指挥使先,然后通过:CP / usr / / /弓型linux-2.4 / / / Linux i386启动 / / / vmlinuz先启动;生成。
先是压缩的内核映像。我们需要注意,先不到bzip2压缩。BZ先是容易误解,BZ是大zimageB先是big意义。
两zImage(vmlinuz)和bzImage(vmlinuz)是用gzip压缩。他们不仅是一个压缩文件,而且gzip解压缩代码嵌入这两个文件的开始,所以你不能用gunzip或者gzip—直流vmlinuz包。
内核文件包含一个迷你gzip是用来解压缩内核并引导它。两者的区别是,旧的zImage解压内核的低端内存(第一640k),和先解压缩内核到高端内存(1M以上)。如果内核较小,你可以使用其中的zImage或bzImage,和两种启动系统运行的同时,大内核使用了bzImage和不使用zImage。
vmlinux是未压缩的内核,和vmlinuz是vmlinux的压缩文件。
二,initrd-x.x.x.img
initrd是初始ramdisk短写。Initrd一般是用来暂时启动硬件状态,实际内核vmlinuz可以接管并继续启动。例如,SCSI硬盘的使用,以及SCSI硬件驱动程序不可用在内核vmlinuz。在加载SCSI模块,内核无法加载根文件系统,但是SCSI模块存储在根文件系统/库系统下。为了解决这个问题,你可以引导一个initrd内核,可以读取实际的内核和initrd.initrd -修改SCSI启动问题2.4.7-10.img是一个文件压缩gzip,看看下面的文件的内容。
initrd实现一些模块和安装文件系统。
initrd映像文件是使用mkinitrd,mkinitrd实用工具可以创建initrd映像文件。此命令是RedHat专有的。其他Linux发行版都有一个对应的命令。这是一个很方便的工具。请参见帮助:人mkinitrd
下面的命令创建initrd映像文件:
三、System.map
System.map是一个特定的内核的内核符号表。它是一个链接到内核的System.map你目前正在运行。
如何在内核符号表被创建的vmlinux System.map 纳米;生成的和无关的符号被过滤掉。在这篇文章中的例子,当内核编译,System.map在/ usr / / / system.map.like linux-2.4 src下面创建:
纳米/启动/ vmlinux-2.4.7-10 > System.map
以下系来自 / usr / / / linux-2.4 src makefile:
nm vmlinux grep -V |(编译)|(O $)|({东西})|(。ng美元)|(睫毛{ RL } DI)|类> System.map
然后将其复制到:
CP / usr / / / Linux SRC System.map / / system.map-2.4.7-10启动
在程序设计中,将命名一些变量名或函数名等符号。Linux内核是一个非常复杂的代码块,有许多全局符号。
The Linux kernel does not use a symbolic name, but identifies a variable or function name by the address of a variable or function.Instead of using symbols like size_t BytesRead, for example, instead of referring to the variable like c0343f20.
对于使用电脑的人,他们更喜欢使用像size_t bytesread而不是像c0343f20。内核主要是用C写的,所以编译器/连接器允许我们使用符号的名字时,我们的编码,并使用地址内核运行时。
然而,在某些情况下,我们需要知道符号的地址,或者我们需要知道地址的对应符号。这是由符号表来完成的,它是所有符号及其地址的列表。Linux符号表使用2个文件:
/ / ksyms触发
System.map
/ proc / ksyms是过程file它是在创建内核引导。事实上,这不是一个真正的文件,它是内核数据的表示,但它给人一种虚假的磁盘文件的外观,这可以从它的文件的大小是0然而,System.map是存在于你的文件系统的文件。当你编译一个新内核,每个符号名称更改地址,和你的旧System.map有错误的符号信息。每次内核编译一个新的System.map,你应该用新的替换旧的System.map System.map。
尽管内核本身并没有真正使用System.map,其他程序如klogd,lsof和PS需要一个正确的system.map.if你使用了错误的或没有System.map,man的输出将是不可靠的,这将使它很难排除程序故障。没有System.map,你可能会面对一些烦人的提示。
其他几位司机需要System.map解析符号,他们不能正常工作而不会产生特定的内核正在运行System.map。
Linux内核日志守护进程,man,需要使用System.map执行名称-地址解析,并klogd.system.map应该放在哪里可以由使用它的软件。执行:男人klogd表明,如果System.map不是作为一个变量来klogd的位置,它将寻找在以下三阶的地方System.map。
/ / System.map启动
/ System.map
/ usr / / / System.map Linux SRC
System.map也有版本信息和klogd能够找到正确的图像(图)文件智能。
1。vmlinuz
vmlinuz是可引导的,压缩的内核。Ldquo;vm表示虚拟memory。Linux支持虚拟内存,不像旧的操作系统,如DOS 640kb内存约束。Linux可以使用硬盘空间作为虚拟内存,因此名为vm。Vmlinuz是一个可执行的内核,这位于 /启动 /vmlinuz,这通常是一个软链接。
有两种方法来构建vmlinuz。
首先,编译内核通过使zimage创建,然后通过:CP / usr / / /弓型linux-2.4 / / / Linux i386启动 / / / vmlinuz引导zImage;generate.zimage适合小内核的情况,并存在落后兼容性。
二是编译内核,由指挥使先,然后通过:CP / usr / / /弓型linux-2.4 / / / Linux i386启动 / / / vmlinuz先启动;生成。
先是压缩的内核映像。我们需要注意,先不到bzip2压缩。BZ先是容易误解,BZ是大zimageB先是big意义。
两zImage(vmlinuz)和bzImage(vmlinuz)是用gzip压缩。他们不仅是一个压缩文件,而且gzip解压缩代码嵌入这两个文件的开始,所以你不能用gunzip或者gzip—直流vmlinuz包。
内核文件包含一个迷你gzip是用来解压缩内核并引导它。两者的区别是,旧的zImage解压内核的低端内存(第一640k),和先解压缩内核到高端内存(1M以上)。如果内核较小,你可以使用其中的zImage或bzImage,和两种启动系统运行的同时,大内核使用了bzImage和不使用zImage。
vmlinux是未压缩的内核,和vmlinuz是vmlinux的压缩文件。
二,initrd-x.x.x.img
initrd是初始ramdisk短写。Initrd一般是用来暂时启动硬件状态,实际内核vmlinuz可以接管并继续启动。例如,SCSI硬盘的使用,以及SCSI硬件驱动程序不可用在内核vmlinuz。在加载SCSI模块,内核无法加载根文件系统,但是SCSI模块存储在根文件系统/库系统下。为了解决这个问题,你可以引导一个initrd内核,可以读取实际的内核和initrd.initrd -修改SCSI启动问题2.4.7-10.img是一个文件压缩gzip,看看下面的文件的内容。
initrd实现一些模块和安装文件系统。
initrd映像文件是使用mkinitrd,mkinitrd实用工具可以创建initrd映像文件。此命令是RedHat专有的。其他Linux发行版都有一个对应的命令。这是一个很方便的工具。请参见帮助:人mkinitrd
下面的命令创建initrd映像文件:
三、System.map
System.map是一个特定的内核的内核符号表。它是一个链接到内核的System.map你目前正在运行。
如何在内核符号表被创建的vmlinux System.map 纳米;生成的和无关的符号被过滤掉。在这篇文章中的例子,当内核编译,System.map在/ usr / / / system.map.like linux-2.4 src下面创建:
纳米/启动/ vmlinux-2.4.7-10 > System.map
以下系来自 / usr / / / linux-2.4 src makefile:
nm vmlinux grep -V |(编译)|(O $)|({东西})|(。ng美元)|(睫毛{ RL } DI)|类> System.map
然后将其复制到:
CP / usr / / / Linux SRC System.map / / system.map-2.4.7-10启动
在程序设计中,将命名一些变量名或函数名等符号。Linux内核是一个非常复杂的代码块,有许多全局符号。
The Linux kernel does not use a symbolic name, but identifies a variable or function name by the address of a variable or function.Instead of using symbols like size_t BytesRead, for example, instead of referring to the variable like c0343f20.
对于使用电脑的人,他们更喜欢使用像size_t bytesread而不是像c0343f20。内核主要是用C写的,所以编译器/连接器允许我们使用符号的名字时,我们的编码,并使用地址内核运行时。
然而,在某些情况下,我们需要知道符号的地址,或者我们需要知道地址的对应符号。这是由符号表来完成的,它是所有符号及其地址的列表。Linux符号表使用2个文件:
/ / ksyms触发
System.map
/ proc / ksyms是过程file它是在创建内核引导。事实上,这不是一个真正的文件,它是内核数据的表示,但它给人一种虚假的磁盘文件的外观,这可以从它的文件的大小是0然而,System.map是存在于你的文件系统的文件。当你编译一个新内核,每个符号名称更改地址,和你的旧System.map有错误的符号信息。每次内核编译一个新的System.map,你应该用新的替换旧的System.map System.map。
尽管内核本身并没有真正使用System.map,其他程序如klogd,lsof和PS需要一个正确的system.map.if你使用了错误的或没有System.map,man的输出将是不可靠的,这将使它很难排除程序故障。没有System.map,你可能会面对一些烦人的提示。
其他几位司机需要System.map解析符号,他们不能正常工作而不会产生特定的内核正在运行System.map。
Linux内核日志守护进程,man,需要使用System.map执行名称-地址解析,并klogd.system.map应该放在哪里可以由使用它的软件。执行:男人klogd表明,如果System.map不是作为一个变量来klogd的位置,它将寻找在以下三阶的地方System.map。
/ / System.map启动
/ System.map
/ usr / / / System.map Linux SRC
System.map也有版本信息和klogd能够找到正确的图像(图)文件智能。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。