什么是内核映像?

什么是内核映像?,第1张

Linux内核在PC上以文件的形式存在(保存成磁盘文件形式),就是所谓的“映像文件”。Linux内核映像文件最终是要烧录到目标板的flash中。

Linux

内核映像文件有两种:一种是非压缩版本,叫Image;另一种是它的压缩版本,叫zImage。zImage是Image经过压缩形成的,所以它的大小比Image小。为了能使用zImage这个压缩版本,必须在它的开头加上解压缩的代码,将zImage

解压缩之后才能执行,因此它的执行速度比Image要慢。但考虑到嵌入式系统的存储空容量一般都比较小,内核要常驻内存,采用zImage可以占用较少的存储空间,因此牺牲一点性能上的代价也是值得的,所以一般嵌入式系统均采用压缩的内核映像文件,即zImage。

zImage是ARM

Linux常用的一种压缩映像文件,uImage是U-boot专用的映像文件,它是在zImage之前加上一个长度为0x40的“头”,说明这个映像文件的类型、加载位置、生成时间、大小等信息。换句话说,如果直接从uImage的0x40位置开始执行,zImage和uImage没有任何区别。另外,Linux2.4内核不支持uImage,Linux2.6内核加入了很多对嵌入式系统的支持,但是uImage的生成也需要设置。

本文介绍几种常用的Linux内核映像的区别。

vmlinux :Linux内核编译出来的原始的内核文件, elf 格式,未做压缩处理。

该映像可用于定位内核问题,但不能直接引导Linux系统启动。

使用 readelf 命令查看RockPI 4A单板Linux内核编译的 vmlinux ,内容如下:

Image :Linux内核编译时,使用 objcopy 处理 vmlinux 后生成的二进制内核映像。

该映像未压缩,可直接引导Linux系统启动。

RockPI 4A单板Linux内核编译 vmlinux 和 Image 过程如下:

objcopy 命令的用法后续介绍。

zImage :使用 gzip 压缩 Image 后,使用 objcopy 命令生成的Linux内核映像。

该映像一般作为 uboot 的引导映像文件。 uboot 引导命令后续介绍。

uImage :在 zImage 前面增加一个64字节的头,描述映像文件类型,加载位置,大小等信息。

该映像是老版本 uboot 专用的引导映像。

下图是基于 imx6 处理器Linux内核编译出的 zImage 和 uImage 的差异,区别如下:

imx6 单板Linux内核编译 zImage 和 uImage 过程如下:

下图展示了不同类型的Linux映像生成过程。

注:zImage和uImage用于32位内核。

在Ubuntu的根目录/boot/目录下。

Ubuntu根目录下各文件的功能介绍:

/bin/    用以存储二进制可执行命令文件,/usr/bin/也存储了一些基于用户的命令文件。

/sbin/    许多系统命令的存储位置,/usr/sbin/中也包括了许多命令。

/root/    超级用户,即根用户的主目录。

/home/    普通用户的默认目录,在该目录下,每个用户拥有一个以用户名命名的文件夹。

/boot/    存放Ubuntu内核和系统启动文件。

/mnt/     通常包括系统引导后被挂载的文件系统的挂载点。

/dev/    存储设备文件,包括计算机的所有外部设备,如硬盘、是、键盘、鼠标等。

/etc/    存放文件管理配置文件和目录。

/lib/    存储各种程序所需要的共享库文件。

/lost+found/    一般为空,当非法关机时,会存放一些零散的文件。

/var/    用于存放很多不断变化的文件,例如日志文件等。

/usr/    包括与系统用户直接有关的文件和目录。

/media/    存放Ubuntu系统自动挂载的设备文件。

/proc/    这是一个虚拟目录,它是内存的映射,包括系统信息和进程信息。

/tmp/    存储系统和用户的临时信息。

/initrd/    用来加载启动时临时挂载的initrd.img映像文件,以及载入所要的设备模块目录。

/opt/    作为可选文件和程序的存放目录,否则将无法引导计算机进入 *** 作系统。

/srv/    存储系统提供的服务数据。

/sys/    系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11495727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存