Linux内核--内核编译/内核镜像产生过程

提示:本系列文章重点学习Linux内核


简介

提示:在这里先对Linux内核镜像产生过程做一个概述,以便大家能更好的理解:

vmlinux->lmage->compressed/vmlinux- >zlmage


提示:以下是本篇文章将重点阐述Linux内核的内核编译/内核镜像产生过程

一、Linux内核编译

1.内核编译流程

(1)拷贝内核到服务器:linux-6.1.28.tar.xz(内核的下载流程和方式Linux内核介绍and下载-CSDN博客
(2)解压内核:

tar xvf 源码压缩包 

(3)首次编译之前要清除之前的结果:

make distclean   

(4)拷贝配置文件: (注意此处需要先行配置出.config文件;裁剪配置过程将在之后的系列文章提到

cp config_xxxxxxxx .config   

(5)编译生成镜像:

make ulmage   

(6)普通用户下载镜像是boot.img
进入arch/arm/boot/temp目录

cd arch/arm/boot/temp   

执行命令:

./mkboot.sh  

如果提示:./make_ ext4fs: error while loading shared libraries: libstdc++ .so.6: cannot open shared object file: No such file or directory
安装一个32位C++库:sudo apt-get install lib32stdc++6

sudo apt-get install lib32stdc++6  

生成镜像boot.img位于:arch/arm/boot/

2.Linux镜像

(1)Vmlinux/顶层目录

内核顶层目录的vmlinux:这是内核编译生成的可执行文件,文件大小约有100M+

(2)Image

内核arch/arm/boot/目录的Image:直接编译生成的vmlinux去除格式后, 且未经压缩处理的内核镜像,文件大小约有11M+。直接生成并且无头部未压缩的内核,一般用于PC机

(3)vmlinux

内核arch/arm/boot/compressed目录的vmlinux:是Image压缩后,再拼接上解压程序得到的镜像,文件大小约有5M+

(4)zlmage

内核arch/arm/boot/目录的zlmage:是arch/arm/boot/compressed 目录的vmlinux经过去格式处理后得到的压缩镜像,可以直接下载运行,文件大小约有5M+。lmage的压缩版,采用gzip进行压缩,比lmage体积小,但启动时需要进行自解压,嵌入式系统中一般采用此种方法。

(5)ulmage

内核arch/arm/boot/目录的ulmage:是在zlmage的基础上增加64字节前缀得到的uboot专用镜像。是u-boot专用的一种 内核镜像格式,它是在zlmage的基础上采用mkimage工具添加了一个长度为64字节的标签头,在u-boot启动时会去掉此头信息,仍按zlmage启动,头信息主要用于区分不同格式的内核镜像。

(6)xiplmage

xiplmage:片上执行的未压缩内核,(如norflash等)。

(7)boot.img

内核arch/arm/boot/目录的boot.img:是包括了ulmage和开机Logo等资源的打包镜像。

二、内核镜像产生过程

1.描述

(1)zlmage镜像产生过程:

vmlinux->lmage->compressed/vmlinux- >zlmage
1、vmlinux是由以下内核代码生成的非压缩镜像
(arch/arm/kernel/head.s、kernel/、 mm/、fs/、 ipc/、 crypto/、 lib/、drivers/、net/等等)
2、Image是使用objcopy工具对vmlinux进行二进制化处理得到的镜像
3、arch/arm/ boot/compressed/vmlinux由压缩的Image和compressed/head.s、 misc.c等文件组成
4、zlmage是由compressed/vmlinux使用objcopy工具二进制化得到
5、再对zImage加上头部就成为了ulmage

2.图解

在这里插入图片描述

我是将军我一直都在,。!

  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值