Linux内核映像区别

Linux内核映像区别,第1张

本文介绍几种常用的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位内核。

1、先制作一个空的镜像文件;

2、然后把此镜像文件格式化为ext4格式;

3、然后把此镜像文件挂载,并把根文件系统复制到挂载目录;

4、卸载该镜像文件:

5、打成gzip包。


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

原文地址: http://outofmemory.cn/tougao/8023558.html

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

发表评论

登录后才能评论

评论列表(0条)

保存