目录
一、安装系统
1.移植的目的
2.系统移植过程
Windows装机
Linux系统移植
3.开发板启动过程
二、Uboot概述
1.Bootloader简介
Bootloader基本功能
uboot工作方式
三、SD卡存储结构
一、安装系统
在基于ARM处理器的开发板上安装Linux系统
1.移植的目的
不同架构的处理器指令集不兼容,即便是相同的处理器架构,板卡不同驱动代码也不兼容 ;
Linux是一个通用的内核并不是为某一个特定的处理器架构或板卡设计的,所以从官方获取Linux源码后我们要先经过相应的配置使其与当前的硬件平台相匹配后才能进行编译和安装。
2.系统移植过程
Windows装机
1.准备Windows系统镜像、U盘启动盘
2.进入BIOS选择启动方式(U盘启动)
3.通过U盘中的引导程序安装系统
4.安装Windows驱动程序
5.安装Windows应用程序
Linux系统移植
1.准备Linux内核镜像、SD卡启动盘
2.通过拨码开关选择启动方式(SD启动)
3.通过SD卡中的引导程序安装系统
4.安装Linux驱动程序
5.安装Linux应用程序
3.开发板启动过程
1.开发板上电后首先运行SOC内部iROM中固化的代码(BL0),这段代码先对基本的软硬件环境(时钟等...)进行初始化,然后再检测拨码开关位置获取启动方式,然后再将对应存储器中的uboot搬移到内存,然后跳转到uboot运行
2.uboot开始运行后首先对开发板上的软硬件环境做进一步初始化,然后将linux内核、设备树(dtb)、根文件系统(rootfs)从外部存储器(或网络)搬移到内存,然后跳转到linux运行
3.linux开始运行后先对系统环境做初始化,当系统启动完成后,Linux再从内存中(或网络)挂载根文件系统
过程:上电 --> 固件:运行CPU内部固件 --> 初始化环境 --> 判断启动方式 --> SD卡引导程序加载到内存-->内存运行-->加载到Linux内核、设备、根文件系统到内存-->Linux运行-->挂载根文件系统
二、Uboot概述
1.Bootloader简介
在操作系统运行之前运行的一小段代码,用于将软硬件环境初始化到 一个合适的状态,为操作系统的加载和运行做准备(其本身不是操作系统)
Bootloader基本功能
- 初始化软硬件环境
- 引导加载linux内核
- 给linux内核传参
- 执行用户命令
注:bootloader是启动引导程序的统称,嵌入式linux常用的bootloader是uboot
uboot工作方式
- 本质是裸机程序
- Shell命令交互 : 裸机刷机 、系统安装
- 能进行SOC级和板级硬件 :串口 、网口 、内存 、LCD显示
- Uboot的生命周期: 一切都是为了启动内核
常见的Bootloader
三、SD卡存储结构
SD卡的存储以扇区为单位,每个扇区的大小为512Byte, 其中零扇区存储分区表(即分区信息),后续的扇区可自行分区和格式化;若选择SD卡启动,处理器上电后从第一个扇区开始将其中的内容搬移到内存,所以我们把uboot放到从第一个扇区开始之后的空间, 之后的空间根据个人需求可进行分区和格式化
具体制作步骤详情看实验手册-》实验四