一个嵌入式linux操作系统可以简单的抽象为,引导程序bootloader、内核vmlinuz、文件系统filesystem。

Bootloader是系统加电后运行的第一段代码,一般它只在启动系统时非常短的时间按内运行。对于linux系统来说,这是至关重要的一步。在系统中,整个bootloader由系统中的bios和u盘中MBR(主引导扇区)的一段代码来共同完成引导任务。这里我们采用grub引导方式。系统先将BIOS检测到的MBR内容读取到RAM中,然后将系统控制权交给grub,最后由grub负责把要引导的操作系统的内核镜像读取到系统RAM中,然后跳转到内核的入口点。

vmlinuz是Linux 内核的镜像文件,可以被引导程序加载,从而启动Linux系统。

initrd的全称是boot loader initialized RAM disk,它是系统启动时所使用的根文件系统映像文件,这个文件系统中包含几个驱动模块,都是系统启动时所必须加载的,另外当我们需要加载其它的模块时,也可以放在其中。

推荐阅读:

一、引导程序Grub

机器加电启动后,BIOS开始检测系统参数,如内存的大小,日期和时间,磁盘设备以及这些磁盘设备用来引导的顺序,通常情况下,BIOS都是被配置成首先检查软驱或者光驱,然后再尝试从硬盘引导。如果在这些可移动的设备中,没有找到可引导的介质,那么BIOS通常是转向第一块硬盘最初的几个扇区,寻找用于装载操作系统的指令。装载操作系统的这个程序就是boot loader。

linux里面的bootloader通常是lilo或者grub,从Red Hat Linux 7.2起,GRUB取代LILO成为了默认的启动装载程序。那么启动的时候grub是如何被载入的呢?

grub有几个重

linux cf卡格式,CF卡上的Linux启动过程分析相关推荐

  1. linux fedora35让GRUB 2记住上一次启动的操作系统

    linux fedora35让GRUB 2记住上一次启动的操作系统 修改符号链接/boot/grub2/grubenvWiki上说对于Fedora 20以上的要修改/boot/grub2/gruben ...

  2. linux储存卡的格式,sd卡有几种格式?

    windows下主要有FAT16.FAT32.NTFS 等,最新格式为exFAT,不同的磁盘格式有不同的特性. FAT格式基本上已经不再使用. linux下的格式为ext系列,ext4,ext3等. ...

  3. surface pro linux服务器,Surface Pro平板电脑上安装Linux / Ubuntu的技巧

    嗯,Windows 10和Windows 8.1在Surface Pro上运行顺畅,但我认为有些用户想知道如何以及他们是否可以在上安装任何其他操作系统.您会很高兴听到答案是'是'.您始终可以将操作系统 ...

  4. zedboard运行linux,Zedboard使用II——在Zedboard上运行Linux

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Xillinux是一个支持在Zedboard.ZyBo.SocKit板子上运行的包括软件和FPGA代码的图形化桌面Lin ...

  5. linux 版本号 笔记本_在笔记本电脑上安装Linux完全版

    当前,笔记本电脑越来越多地成为工程师.技术人员的标准 办公配置.随着Linux操作系统影响的逐步深入,许许多多的Linux使用者希望能够在自己的笔记本电脑上运行Linux操作系统,以便随时随地地使用. ...

  6. 北京linux嵌入式培训,北京嵌入式培训上嵌Linux开发基础和嵌入式C语言初级编程总结...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 说到学习Linux开发基础,有一样是不得不说,而且Llinux系统中最常用也最有用的东西,那就是各种命令.虽然Linux桌面应用发展很快,但是命 令在Li ...

  7. 使用cf push命令往CloudFoundry上部署应用的过程分析

    看看cf push的输出: 和登录认证相关的endpoint: X-Vcap-Request-Id: 16e27e27-17d2-40db-7da2-435e9a0436d7::b73939f3-06 ...

  8. linux挂起 终端连不上吗,Linux系统11个不能不知道的终端命令

    Linux系统下有很丰富的终端命令,实际上这些命令可以看做是快捷键.如果知道这些命令,使用Linux系统无疑会变得更加方便.本文就来介绍一下Linux系统11个你不能不知道的终端命令. 1. 命令行日 ...

  9. java访问linux共享目录_在Windows上访问linux的共享文件夹

    用的工具:samba.(其实比不过现成的软件,WinSCP还稳定一点) 第一步:在Linux上安装Samba: sudo apt-get install samba 第二步:配置一个通过samba访问 ...

最新文章

  1. 如何为你的博客文章自动添加版权信息?
  2. Spring基础专题——第七章(持久层整合)
  3. 大工18秋《c c 语言程序设计》,大工18秋《毕业论文(设计)写作指导》在线测试1.txt...
  4. 云智一体趋势下,百度智能云打通技术与商业的共生闭环
  5. One Order distribution logic issue - automatic BDOC creation and sent to Middleware outbound queue -
  6. 程序员应该了解的几个接单平台,私活,码农!
  7. 一个本科生,只用了两年就拿下诺贝尔奖,拯救了无数糖尿病患者
  8. wenbao与数论(大白书)
  9. display:inline-block;在各浏览器下的问题和终极兼容办法
  10. python-可变循环
  11. python图书馆系统借书验证登陆功能
  12. 用Jsoup从网页上抓取中国地区编号转变成Map
  13. 问卷调查系统的设计与实现
  14. 做技术的出路在哪里?---什么叫有前途?钱图钱图,用最省力的方式挣到更多的钱的路径就是前途
  15. python pdfminer的功能_使用Python pdfMiner提取每页文本?
  16. oracle数据库alter的用法,数据库中alter的用法
  17. 3D场景建模学习必备的基础知识
  18. Mac OS下安装Photoshop CC 2017破解版
  19. 吴恩达机器学习笔记-无监督学习
  20. .net设计模式 (享元模式)学习笔记

热门文章

  1. 《老男孩》网络爆红 非常短片成网剧推手
  2. 提供小区物业综合管理系统解决方案
  3. 最简单的 小米手机 时钟 显示 秒
  4. 使用Python进行页面开发——CSS
  5. 心理服务机构运营成本太高?《心理服务OA系统》来解决!
  6. Python入门与词频分析初步
  7. ping命令——网卡选择
  8. 基于ArcGIS的Python——要素类至地理数据库
  9. 我和程序员打了13年交道后,为什么做了缘创派?
  10. 深度剖析Seq2Seq原理代码