Linux系统移植概述

1、Linux系统移植过程

①准备Linux内核镜像、SD卡启动盘
②通过拨码开关选择启动方式(SD卡启动还是EMMC启动)
③通过SD卡中的引导程序安装系统
④安装Linux驱动程序
⑤安装Linux应用程序

2、硬件开发板启动过程

①开发板上电后首先运行SOC内部iROM中固化的代码(BL0),这段代码先对基本软硬件环境(时钟等。。。)进行初始化,然后在检查拨码开关位置获取启动方式,然后再将对应存储器中的uboot搬移到内存,然后跳转到uboot运行。
②uboot开始运行后首先对开发板上的软硬件环境做进一步的初始化,然后将Linux内核、设备数(dtb)、根文件系统(rootfs)从外部存储器搬移到内存,然后跳转到linux运行。
③linux开始运行后先对系统环境做初始化,当系统启动完成后,linux再从内存中挂载根文件系统。

3、BL0程序主要做的三件事

① 初始化硬件和时钟
②读取拨码开关的位置
③将SD卡里面的uboot程序复制搬运到内存中运行

4、uboot的作用

①初始化基本的软硬件环境,例如网口、串口等
②将emmc里面的linux复制到内存里面
③将dtb设备树从外存复制到内存里面
④将rootfs根文件系统复制到内存(根文件系统简单的理解就是文件,这些文件就是linux在运行时需要用到的文件)

5、tftp介绍

tftp即简单文件传输协议,是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号是69。

6、nfs介绍

nfs即网络文件系统,其基于UDP/IP,使用nfs能够在不同计算机之间通过网络进行文件共享,能使使用者访问网络上其他计算机中的文件就像在访问自己的计算机一样。

7、Bootloader介绍

在操作系统运行之前运行的一小段代码,用于将软硬件环境初始化到一个合适的状态,为操作系统的加载和运行做准备(其本身不是操作系统),其基本功能如下:
①初始化软硬件环境
②引导加载linx内核
③给linux内核传参
④执行用户命令

8、SD卡的存储结构介绍

SD卡的存储以扇区为单位,每个扇区的大小为512Byte,其中零扇区存储分区表(即分区信息),后续的扇区可自行分区的格式化
若选择SD卡启动,处理器上电后从第一个扇区开始将其中的内容搬移到内存,所以我们把uboot放到从第一个扇区开始之后的空间,之后的空间根据个人需求可进行分区和格式化。

你可能感兴趣的:(系统移植,linux,驱动开发)