Linux内核

您所在的位置:网站首页 小白系统pe卡在解压系统内核怎么办 Linux内核

Linux内核

2024-07-12 14:12| 来源: 网络整理| 查看: 265

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

Linux内核--内核编译/内核镜像产生过程 简介一、Linux内核编译1.内核编译流程2.Linux镜像(1)Vmlinux/顶层目录(2)Image(3)vmlinux(4)zlmage(5)ulmage(6)xiplmage(7)boot.img 二、内核镜像产生过程1.描述(1)zlmage镜像产生过程:2.图解 我是将军我一直都在,。!

简介

提示:在这里先对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.图解

在这里插入图片描述

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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3