Linux内核初始化流程笔记

分类: LINUX

作者:gfree.wind@http://www.doczj.com/doc/fc580419c1c708a1294a4409.html

博客:http://www.doczj.com/doc/fc580419c1c708a1294a4409.html http://www.doczj.com/doc/fc580419c1c708a1294a4409.html

本文的copyleft归gfree.wind@http://www.doczj.com/doc/fc580419c1c708a1294a4409.html所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。

=============================================================================== =======================

如前文http://http://www.doczj.com/doc/fc580419c1c708a1294a4409.html/space.php?uid=23629988&do=blog&id=3129477的流程,bootloader将kerenel加载到内存中。

全部引导过程是四步

1:boot PROM phase

2:boot Programs phase

3:kernel initialization phase

4:init phase

system初始化,检测内存和cpu,检查设备和创建设备树,设置console

kernel初始化过程

kernel self -initialization 内核自检

loading of kernel modules 载入内核模块

reading of the kernel configuration file in /etc/system 读内核配置文件

staring of the /sbin/init process 运行/sbin/init进程

bootblk是用于装载第二个引导程序ufsboot的主引导程序

bootblk是被PROM的boot设备的引导扇区装载的

ufsboot程序是用了装载两部分核心genunix和unix的

installboot是用来在磁盘分区上安装bootblk的

genunix is the platform-independent generic kernel file ,while unix is the platform-specific kernel component.

整个的引导过程:

PROM from the boot sector of the boot device-->bookblk-->ufsboot-->genunix(是一个独立平台的普通内核文件) and unix(是一个特殊平台内核文件)-->其它

这里加载的kernel镜像,并不是真正的可执行文件,而是一个压缩的镜像文件。主要有两种类型zImage和bzImage(即为Big zImage)。其中zImage小于512KB,而bzImage可以为一个大的压缩镜像文件。zImage可以用于在没有bootloader的情况下,直接启动kernel。而目前一般都是使用bzImage。以我目前的Fedora13为例,执行file /boot/vmlinuz-2.6.33.3-85.fc13.i686.PAE

1./boot/vmlinuz-

2.6.3

3.3-85.fc13.i686.PAE: Linux kernel x86 boot executable bzImage,

version 2.6.33.3-85.fc13.i686.PAE (mock, RO-rootFS, root_dev 0x902, swap_dev 0x3,

Normal VGA

linux内核ufs设备树,Linux内核初始化流程笔记相关推荐

  1. Linux内核对设备树的处理

    文章目录 1 内核对设备树的处理 1.1 dtb 中每一个节点都被转换为 device_node 结构体 1.2 哪些设备树节点会被转换为 platform_device 1.3 怎么转换为 plat ...

  2. 嵌入式(iMX6Q)TFTP加载 Linux 内核与设备树NFS挂载根文件系统

    配置实现过程: 嵌入式(iMX6Q)TFTP加载 Linux 内核与设备树 注:bootm对应启动uImage,bootz对应启动zImage setenv bootcmd "tftp 0x ...

  3. Ubuntu环境搭建支持设备树,内核和根文件系统启动

    Ubuntu环境搭建支持设备树,内核和根文件系统启动 使用tftp获取设备树和内核文件 1.搭建TFTP服务器 sudo apt-get install tftp-hpa tftpd-hpa sudo ...

  4. Linux-使用uboot命令将Linux镜像和设备树文件下载到DRAM中

    转载地址:http://www.manongjc.com/detail/17-yrvrbxtziuxqryv.html 一.使用uboot中的tftp命令将Linux镜像和设备树文件下载到DRAM中 ...

  5. 如何为英伟达TX2编译内核和设备树

    在编译内核和设备树之前,首先默认已经安装了JetPack,如果没有安装,请参考其它资料进行安装. 1.首先需要下载编译内核需要用到的工具链,通过下面的链接下载. https://developer.n ...

  6. 探究 Linux 内核 dts 设备树定义文件

    树莓派开发文档中介绍了Linux内核设备树相关的知识 https://www.raspberrypi.org/documentation/configuration/device-tree.md dt ...

  7. 基于tiny4412的Linux内核移植 -- 设备树的展开【转】

    转自:https://www.cnblogs.com/pengdonglin137/p/5248114.html#_lab2_3_1 阅读目录(Content) 作者信息 平台简介 摘要 正文 一.根 ...

  8. 基于tiny4412的Linux内核移植 -- 设备树的展开

    http://blog.csdn.net/ermuzhi/article/details/9298541 摘要 在Linux引入设备树之后,将原来写在代码中的大量的硬件信息全部移到了设备树中,然后在L ...

  9. 基于块的linux驱动程序,基于块的Linux驱动程序 块设备驱动 centos内核编译过程 操作系统课程设计...

    操作系统的课程设计,本人也是一头雾水地做完了课程设计,在这里贴下操作过程,放下当时参考的一篇CSDN文章链接:https://blog.csdn.net/cxy_chen/article/detail ...

最新文章

  1. HDU 5729 Rigid Frameworks(连通性DP)
  2. 字符编码总结(UTF-8,UNICODE)
  3. linux m4a 转换成 mp3
  4. 一次实现可以在某些场合替代菱形继承?
  5. 多核处理器_手机处理器性能排行:骁龙865第四,麒麟9000拿下第二
  6. 现代密码学1.3--古典密码/historical cipher
  7. 盗版与互联网是一对连体婴,会员制背后才是那把手术刀!
  8. JavaScript能力测评经典题及答案(一:数组之查找组元素位置)
  9. VTK:PolyData之TriangleSolidColor
  10. 【每日一题】7月7日题目精讲—最短路
  11. 【原创】为什么 Redis 重启后没有正确恢复之前的内存数据
  12. 【重磅资料】ArchSummit全球架构师峰会·2019华为云技术专场资料下载
  13. ubuntu安装arm-linux-gcc
  14. Java中抽象类和接口的区别(来源一)
  15. mysql安装了老版本_Windows 环境下 MySQL 5.7 安装配置指南
  16. layer弹窗在键盘按回车将反复刷新_人生减负指南——iPad Pro+妙控键盘上手体验...
  17. xml property标签注入一个类变量_java开发两年,连Spring的依赖注入的方式都搞不清楚,你工作可能有点悬!...
  18. 终于有人把分布式机器学习讲明白了
  19. 不用百度网盘客户端直接下载大文件
  20. 大数据处理平台都有哪些?

热门文章

  1. Qt creator5.7 OpenCV249之方框滤波(含源码下载)
  2. java编写一个程序_计算已知长和宽的长方形的周长,请教一下大佬们,我们java留了一个作业,编写程序,定义一个接口Comput,声明计算周长和面积的方法...
  3. mac 启动mysql 报错,mac 解决 mysql 启动报错
  4. java 秒变成时间_使用Quarkus开发Java云原生应用
  5. 扫地机器人哪个品牌好?五款口碑最好的扫地机器人
  6. (计算机组成原理)第七章输入和输出系统-第一节:I/O系统基本概念和I/O控制方式简介
  7. TCP/IP模型如何分层?路由器、网卡分别属于哪一层?
  8. Java实现查找2-60以内的完数和盈数
  9. HDU杭电2066 - 一个人的旅行(Dijkstra算法)
  10. CouchDB未授权访问漏洞记录(端口:5984、6984,CVE-2017-12635,CVE-2017-12636)复现失败