linux 2.6内核镜像,Linux2.6内核镜像的构建过程
make menuconfig:修改、添加内核配置选项,最后生成.config配置文件。
make all:首先编译.config得到没有压缩的内核核心vmlinux,然后将其压缩生成引导过程使用的内核镜像bzImage,最后编译内核选项中相关的module。 压缩过程:首先对vmlinux瘦身(即用objcopy命令删除注释得到vmlinux.bin)并压缩(即用gzip命令压缩vmlinux.bin得到vmlinux.bin.gz),再用ld连接器根据连接脚本arch/i386/boot/compressed/vmlinux.scr将vmlinux.bin.gz转换为piggy.o(该文件包含压缩的系统核心)。 接下来ld连接器会将piggy.o、head.o、misc.o链接生成新的文件vmlinux。(其中misc.o包含zlib算法的解压缩代码C语言的实现,head.o包含的汇编代码用于设置解压程序用到的参数及堆、栈) 然后再调用objcopy命令对vmliux瘦身得到vmlinux.bin(此处的vmlinux.bin是经过压缩的内核核心与前面的vmlinux不一样)。 最后利用内核镜像构建工具arch/i386/boot/tools/build 将bootsect、setup、vmlinux.bin三个文件依次存放到新建的bzImage文件中去。 然后就是编译一些相关的module。
make module_install:安装内核模块。
make install :安装内核 该命令调用了内核目录中的install.sh的shell脚本。该脚本首先将bzImage、System.map复制到/boot目录,并将这两个文件依次改名为vmlinuz-,System.map-。接着调用脚本/sbin/installkernel根据在内核配置、编译阶段生成的内核模块以及模块依赖关系/lib/modules//modules.dep生成引导过程使用的临时根文件系统initrd。最后修改/boot/grub/grub.conf文件、添加新的引导菜单。
linux 2.6内核镜像,Linux2.6内核镜像的构建过程相关推荐
- linux中initrd的含义,Linux2.6 内核的 Initrd 机制解析
1.什么是 Initrdinitrd 的英文含义是 boot loaderinitialized RAM disk,就是由 boot loader 初始化的内存盘.在 linux内核启动前, boot ...
- linux 2.6内核进程调度,linux2.6内核进程调度
Linux2.4内核进程调度的缺陷: Linux2.4 内核的进程调度采用时间片轮转和优先级相结合的调度策略,但存在以下几个致命缺陷: 1>调度算法时间复杂度是 O(n).2.4 内核每次调度都 ...
- linux 2.6内核进程调度,Linux2.6内核进程调度系列--scheduler_tick()函数2.更新实时进程的时间片,...
Linux2.6内核进程调度系列--scheduler_tick()函数2.更新实时进程的时间片, RT /** * 递减当前进程的时间片计数器,并检查是否已经用完时间片. * 由于进程的调度类型不同 ...
- linux系统调用劫持隐藏进程,Linux2.6内核中劫持系统调用隐藏进程
//#include #define CALLOFF 100 //使用模块参数来定义需要隐藏的进程名 int orig_cr0; char psname[10]="looptest" ...
- linux2.6内核分析,linux2.6内核分析——LRU链表
LRU链表 本文转自http://liurugongzi.blog.sohu.com/153648100.html lru链表是统称,细分为:活动链表.非活动链表.链表中存放的是属于进程用户态地址空间 ...
- Docker——Dockerfile(构建自己的CentOS镜像和Tomcat镜像)并打包镜像发布上线
Dockerfile(构建自己的CentOS镜像和Tomcat镜像)并打包镜像发布上线 Dockerfile概述 Dockerfile构建过程 Dockerfile指令说明 实战:构建自己的CentO ...
- 测试linux内核镜像,测试Petalinux BSP镜像参考例子
测试预构建Petalinux镜像 现在,你可以尝试一个预构建参考例.这是通过petalinux-boot 工具来实现的.petalinux-boot可以在物理硬件或者QEMU上启动参考例子. 在硬件上 ...
- linux内核镜像的分层,Docker镜像分层的原理详解
base镜像 base镜像有两层含义: 不依赖其他镜像,从scratch构建 其他镜像可以之为基础进行扩展 所以,base镜像一般都是各种Linux发行版本的Docker镜像,比如:Ubuntu,De ...
- Linux内核移植之一:内核源码结构与Makefile分析
内容来自 韦东山<嵌入式Linux应用开发完全手册> 一.内核介绍 1.版本及其特点 Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如下面几行它们构成了Linu ...
最新文章
- 回首向来萧瑟处,也无风雨也无晴~小祁的2018
- vuls漏洞扫描工具
- JZOJ 5275. 水管
- python算法与数据结构-二叉树的遍历
- 架构之:微服务和单体服务之争
- sleep()和yield()
- Java服务GC参数调优案例
- android xml黑体字_为 Android 换上任意喜欢的字体,你可以试试这个 Magisk 模块
- docker ubuntu镜像_macOS 下使用 Docker 搭建 ubuntu 环境
- IE9 以下版本浏览器兼容HTML5的方法,使用的静态资源的html5shiv包:
- Too_many_open_files_问题的解决
- 水性油墨在纺织品印花中的应用
- 压电式加速计matlab,低频压电加速度传感器的噪声特性及信号处理方法研究
- 我滴个乖乖,一万三千颗卫星那
- MongoDB数据库学习
- 英国政府将投资11.4亿英镑部署FTTP和开发5G
- matlab第三版第五章课后题答案,Matlab第五章答案
- Linux下sopcast
- ckeditor使用----跳坑之旅
- JAVAWEB-NOTE04