Linux嵌入式操作系统移植及启动概述

  如果就“Linux嵌入式操作系统移植”打个比喻,那么“Linux嵌入式操作系统移植”就像是给“PC机装Windows操作系统”。

第一步:Bootloader移植(类比于设置PC机中的Bios)
1、BootLoader作用:①检查并初始化硬件;②引导加载Linux内核。
2、BootLoader介绍
  不仅仅在Linux嵌入式操作系统中存在BootLoader,在其他嵌入式操作系统中,如VxWorks、FreeRTOS、uC/OS-Ⅱ等操作系统中也存在。在嵌入式系统中,整个系统的启动加载任务通常有BootLoader来完成。但注意,BootLoader不属于操作系统,一般有汇编语言和c语言(占主导)开发,其不但依赖于CPU体系架构,而且依赖于嵌入式系统的板级设备。
3、BootLoader分类
  BootLoader是嵌入式操作系统引导程序的总称,不是单指一种引导程序,就像“电脑”一样,它是笔记本电脑、台式电脑、平板电脑、一体机、上网本和服务器等的总称,同样BootLoader也是由多种引导程序组成,具体如下图。
Linux嵌入式操作系统移植及启动概述_第1张图片
4、U-boot
  在Linux嵌入式操作系统中使用的BootLoader是U-boot。U-boot(Univers Boot Loader)是德国DENX小组开发的用于多种嵌入式CPU的BootLoader程序,其遵循GPL条款。
Linux嵌入式操作系统移植及启动概述_第2张图片

第二部:Linux内核(Kernel)移植(类比于给PC机装Windows操作系统)

1、Linux内核的组成及作用
Linux嵌入式操作系统移植及启动概述_第3张图片
Linux嵌入式操作系统移植及启动概述_第4张图片

2、Linux内核下载实现方法:TFTP服务。
  TFTP是用来下载远程文件的最简单网络协议。它基于udp协议而实现,使用UDP(端口69)作为其传输协议。嵌入式 Linux 的 TFTP开发环境包括两个方面:
一是 linux 开发主机端的 tftp-server 支持,
二是嵌入式目标系统的 tftp-client 支持。

第三部:根文件系统(Rootfs)移植(类比于给PC机的硬盘划分C、D、E、F等区域)

1、Linux根文件系统移植实现方法:NFS协议
  网络文件系统(英语:Network File System,缩写作 NFS)是一种分布式文件系统协议,最初由Sun Microsystems公司开发,并于1984年发布[1]。其功能旨在允许客户端主机可以像访问本地存储一样通过网络访问服务器端文件。
  NFS和其他许多协议一样,是基于开放网络运算远程过程调用(ONC RPC)协议之上的。它是一个开放、标准的RFC协议,任何人或组织都可以依据标准实现它。

第四部分:Linux嵌入式操作系统启动流程

BootLoader/U-boot(检查并初始化硬件;引导加载Linux内核。)→Linux内核→根文件系统挂载→应用程序。

你可能感兴趣的:(Linux,嵌入式开发)