嵌入式开发之Linux系统移植1-引导启动过程

网友投稿 700 2022-05-28

1.移植目的

不同架构的处理器指令集不兼容,即便是相同的处理器架构,板卡不同驱动代码也不兼容。

linux是一个通用的内核并不是为某一个特定的处理器架构或板卡设计的,所以从官方获取Linux源码后我们要先经过相应的配置使其与我们当前的硬件平台相匹配后才能进行编译和安装。

2.Windows系统和嵌入式Linux系统移植比较

2.1.Windows系统安装

1.准备Windows系统镜像、U盘启动盘

2.进入BIOS选择启动方式(U盘启动)

3.通过U盘中的引导程序安装系统

4.安装Windows驱动程序

5.安装Windows应用程序

2.2.嵌入式Linux移植

1.准备Linux内核镜像、SD卡启动盘

2.通过拨码开关选择启动方式(SD启动)

3.通过SD卡中的引导程序安装系统

4.安装Linux驱动程序

5.安装Linux应用程序

3.嵌入式开发板启动过程

开发板上电后首先运行SOC内部iROM中固化的代码(BL0),这段代码先对基本的软硬件环境(时钟等…)进行初始化,然后再检测拨码开关位置获取启动方式,然后再将对应存储器中的uboot搬移到内存,然后跳转到uboot运行

uboot开始运行后首先对开发板上的软硬件环境做进一步初始化,然后将linux内核、设备树(dtb)、根文件系统(rootfs)从外部存储器(或网络)搬移到内存,然后跳转到linux运行

嵌入式开发之Linux系统移植1-引导启动过程

linux开始运行后先对系统环境做初始化,当系统启动完成后,Linux再从内存中(或网络)挂载根文件系统

系统移植步骤

uboot移植

linux内核移植(包含设备树)

根文件系统移植

环境准备

Windows PC 安装Ubuntu虚拟机

SD卡一张

有EMMC和SD卡扩展的ARM开发板一个,有网线

具体操作步骤,待续

Linux 嵌入式

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux一键挂载ASM磁盘(适用几十上百块盘)# 一、多路径+UDEV ### 1、使用多路径multipath挂载需要挂载
下一篇:Bios和coms的联系和区别
相关文章