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位内核。

在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/    系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存